better-chat
Chris31372/better-chat加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
在 AI 应用遍地开花的 2024-2025 年,开发者们面临一个共同困境:如何在享受多模型协作便利的同时,避免被单一平台绑定,同时确保用户数据的隔离与隐私安全。Chris31372 推出的 better-chat 正是针对这一痛点的解决方案——一个基于 Cloudflare Workers + Durable Objects 构建的多模型 AI 对话应用,强调用户数据隔离、多模型灵活切换和持久化会话管理。
该仓库采用 Turso(分布式 SQLite)作为持久化层,突破了传统无服务器函数的临时存储限制,使对话记录得以长期保存。44 次提交记录显示项目经历了从 MVP 到成熟应用的持续迭代。
better-chat 是一个典型的前后端一体化 monorepo:
better-chat/
├── apps/
│ ├── web/ # React 19 前端,Vite 构建
│ └── server/ # Cloudflare Workers 后端
├── kanephore/ # 独立工具包(分发包)
└── package.json # Turborepo 根配置
| 层级 | 技术选型 | 版本 |
|---|---|---|
| 框架 | React 19 | ^19.2.0 |
| 构建 | Vite 7 | 7.1.12 |
| 路由 | TanStack Router | ^1.133.27 |
| 状态/查询 | TanStack Query + TanStack Form | ^5.90.5 |
| 样式 | TailwindCSS v4 + Radix UI | ^4.1.16 |
| AI SDK | Vercel AI SDK (@ai-sdk/react) | ^2.0.79 |
| Markdown | react-markdown + shiki 语法高亮 | ^10.1.0 |
| Auth | better-auth(Auth.js 替代品) | 1.3.31 |
| 层级 | 技术选型 | 版本 |
|---|---|---|
| 运行时 | Cloudflare Workers | Wrangler v4 |
| Web 框架 | Hono(轻量高性能) | ^4.10.3 |
| RPC | orpc(类型安全 tRPC 替代) | ^1.10.0 |
| AI 集成 | Vercel AI SDK + @ai-sdk/* | ^2.0.x |
| 数据库 | Drizzle ORM + Turso (libSQL) | ^0.44.7 |
| 会话存储 | Cloudflare Durable Objects | Workers 内置 |
| MCP | @modelcontextprotocol/sdk | ^1.20.2 |
| 邮件 | Resend | ^6.2.2 |
| AI 搜索 | Exa-js | ^1.10.2 |
项目集成了四个主流模型提供方的最新 API:
通过 @modelcontextprotocol/sdk 实现对 MCP 的原生支持,可接入任何兼容 MCP 的工具服务端点。
无 Docker 支持,这是该项目的最大部署限制。项目使用 alchemy 和 Wrangler CLI 进行 Cloudflare Workers 原生部署:
# 安装依赖
bun install
# 开发环境
bun run a:dev --env-file .env.dev
# 生产部署
bun run a:prod:deploy --env-file .env.prod
必需依赖:Cloudflare 账号(Workers 免费)、Turso 账号(libSQL 免费层)、至少一个 AI API Key、Bun 或 Node.js。
亮点一:用户数据强隔离 通过 Cloudflare Workers 的边缘计算,每个用户的对话数据存储在独立的 Durable Object 实例中,实现物理级别的数据隔离。
亮点二:多模型自由切换 一个界面同时接入 Claude、GPT-4o 和 Gemini,可在同一对话中无缝切换模型。
亮点三:持久化对话管理 借助 Turso 分布式 SQLite,即使 Workers 重启,对话历史依然完整保留。
适用场景:个人 AI 助手开发者、需要私有化部署的团队、对数据主权有要求的企业用户。
风险一:供应商锁定 项目深度依赖 Cloudflare Workers 生态(Durable Objects、Turso libSQL),迁移到其他平台成本较高。
风险二:冷启动延迟 Workers 无状态特性导致首次请求可能有冷启动延迟。
风险三:文档不足 README 以用户安装引导为主,缺少开发者架构文档和 API 说明。
风险四:AI API 费用 所有模型调用均走外部付费 API,无本地模型支持,长期使用成本取决于对话频率。
better-chat 代表了 2025 年 AI 应用开发的边缘 AI 新范式——在 CDN 边缘节点运行 AI 对话逻辑,配合全球分布式数据库,实现低延迟、强隐私的 AI 服务。相比中心化的 API 代理方案,边缘部署减少了数据在传输过程中的暴露面。
该项目对 Model Context Protocol 的积极采纳,使其具备接入更广泛 AI 工具生态的潜力,例如连接本地 RAG 系统、企业知识库或第三方 SaaS 工具链。
本报告基于 GitHub 仓库源码分析生成,数据来源:package.json、turbo.json、README.md 及仓库文件结构。