OpenChat 是一个现代化的 AI 聊天应用,它使用 React 和多后端架构(Cloudflare Workers/Node.js/Golang)构建,提供 Web、移动 App 和桌面端全平台客户端。
全栈 TypeScript:前后端类型安全,提高开发效率。
极速部署:基于 Cloudflare Workers,实现一键全球部署。
全平台无缝同步:网页、手机、电脑三端数据实时同步,随时随地无缝切换,继续您的对话。
完整包装:开箱即用的完整功能,无需额外配置。
高度可扩展:易于添加新模型和功能的模块化设计。
AI 驱动交互:集成 OpenAI GPT-4 进行自然语言对话。
文本生成图像:支持 Flux AI 模型进行文生图。
网络搜索功能:集成 Brave Web 搜索功能。
多平台支持:同时支持 Web 浏览器和原生应用(通过 Tauri)。
现代数据库架构:使用 PostgreSQL 与 Drizzle ORM 和 Cloudflare Hyperdrive 优化。
类型安全 API 通信:使用 Connect RPC 和 Protocol Buffers。
扫码登录:支持在 Tauri 客户端应用中通过扫描二维码登录。
图像存储:使用 Cloudflare R2 高效存储图像。
实时响应:使用现代 React 组件构建快速响应的界面。
三端同步:网页、手机和电脑之间无缝切换和实时同步所有聊天记录。
框架:React 与 React Router。
UI 库:Chakra UI。
客户端支持:Tauri。
无服务器:Cloudflare Workers(Node.js 和 Golang 后端实现正在开发中)。
API:Connect RPC 与 Protocol Buffers。
类型生成:buf。
数据库:Neon(PostgreSQL)。
ORM:Drizzle ORM。
连接优化:Cloudflare Hyperdrive。
Monorepo 管理:pnpm workspaces。
代码格式化:Biome。
部署:Cloudflare。
Node.js(v18 或更高)
pnpm
Wrangler CLI
buf CLI
1、克隆仓库:
git clone https://github.com/akazwz/openchat-monorepo.git
cd openchat-monorepo
2、安装依赖:
pnpm install
3、设置环境变量:
# 基于示例创建环境文件
cp packages/workers/.env.example packages/workers/.env
cp packages/frontend/.env.example packages/frontend/.env
4、生成 Protocol Buffer 类型:
pnpm run gen:pb
启动开发服务器:
pnpm run dev
这将同时启动前端和 Cloudflare Worker 的开发模式。
将应用部署到 Cloudflare:
pnpm run deploy
├── packages
│ ├── frontend # React 前端应用
│ ├── workers # Cloudflare Workers 后端服务
│ ├── nodejs # Node.js 后端实现
│ └── golang # Golang 后端实现
├── proto # Protocol Buffer 定义
Android APK 安装包
Mac (Apple Silicon) DMG 安装包