AChat
企业级 AI 对话管理平台,支持多模型接入、团队协作、计费系统与数据合规,一键 docker-com
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
企业级 AI 对话管理平台,支持多模型接入、团队协作、计费系统与数据合规,一键 docker-com
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
![]()
图1:AChat 项目 Logo
周一早上,公司的 AI 产品团队正准备开周会。运营同学问:"上周用户最常问的 AI 问题是什么?"数据分析师在翻聊天记录,产品经理在截长图,工程师在后台导出数据——每个人都在用自己的方式找答案,却没有人能立刻给出一个统一的视图。
AChat 想要解决的问题,正是这种"AI 对话散落在四面八方"的困境。它是一个开源的、企业级的 AI 智能对话管理平台,让团队的所有 AI 对话——无论是接入 GPT-4、Claude 还是 DeepSeek——都能集中管理、随时检索,并且天然支持商业化计费。
在 AChat 出现之前,大多数团队使用 AI 的方式是:每个人各自拿着 API Key,在各自的工具里问问题。对话历史散落在不同人的浏览器标签页里,数据无法共享,也无法统计。谁用了多少 token、花了多少钱、问了什么问题,团队 leader 完全没有感知。
这种现象在个人用户中不是问题,但到了企业场景——需要合规审计、成本分摊、团队协作的场合——就变成了实实在在的痛点。AChat 的作者 AprilNEA 正是看到了这个空白,从最早的 ChatGPT-Admin-Web 项目开始,持续迭代了四个大版本,最终演变成了今天这个功能完备的企业级 AI 平台。
值得注意的是,AChat 经历了四次重大重构:V1 基于 Redis 数据库,后来因扩展性问题被废弃;V2 存在设计缺陷也已弃用;V3 引入了全新的技术栈并长期维护;而当前的 V4(即 canary 分支)则在 V3 基础上进一步升级,是开发中的最新版本。
如果说普通的 AI 对话工具是每个人手里的"对讲机",那 AChat 就是企业的"指挥中心"。它不替代 AI 本身,而是把所有分散的 AI 对话汇聚到一起,给团队一个统一的视图和控制面板。
换个角度说,AChat 更像是给 AI 接口套上了一层"企业级外壳"——团队协作、权限管理、计费系统、内容审核、数据合规,这些企业必需的能力,都被它包了进去。
AChat 支持同时接入多个 AI 模型提供商,包括 OpenAI GPT 系列、Anthropic Claude、Google Gemini、DeepSeek 等主流大模型。用户可以在同一个界面里自由切换不同模型,对比不同模型的回答质量,而无需在多个标签页之间来回切换。这对于需要评估模型效果的团队来说非常实用。
内置了完整的团队协作工具,支持为不同成员分配角色和权限。管理员可以设置谁能访问哪些对话、谁能发起新的 AI 会话、谁的消费额度是多少。这解决了"全员共享一个 API Key"的混乱局面,让 AI 资源的使用变得可追溯、可管控。
这是 AChat 区别于大多数开源 AI 工具的关键特性。平台内置了 AI 付费、账单和成本管理模块,团队可以直接用它来向客户或内部部门提供 AI 服务并计费。对于 AI 应用开发团队、SaaS 服务商来说,这省去了额外搭建计费系统的成本。
平台内置了内容审查功能,支持监控、过滤和管理不当或敏感信息。结合开源透明的代码和数据本地优先(local-first)的架构设计,团队可以完全掌控自己的数据,满足数据合规要求,不必担心对话数据被第三方平台收集或泄露。
作为 local-first 架构的践行者,AChat 的设计目标是:即使在网络不稳定的环境下,用户也能正常使用 AI 对话,而当网络恢复时,数据会自动同步到远程服务器。这种架构对于网络条件不可靠的企业场景尤为重要。
前端采用 React + Vite + TypeScript 的主流组合,目录结构在 packages/frontend/web 下。React 负责 UI 渲染,Vite 提供快速的开发服务器和构建能力。TypeScript 的全面引入保障了代码的类型安全,降低了大型项目中隐性 bug 的概率。
后端在 packages/backend/server 下,使用 Hono 框架(一个轻量、高性能的 Node.js Web 框架)构建 REST API。相比 Express,Hono 的路由性能更好,且天然支持 OpenAPI 规范,配合 @scalar/hono-api-reference 可以自动生成 API 文档。
数据库层使用 PostgreSQL(TimescaleDB 增强版,支持时序数据),通过 Drizzle ORM 进行数据库操作。Drizzle 以类型安全和 SQL-like 的查询语法著称,比 Prisma 更加轻量透明。
引入了 Inngest 作为后台任务和事件驱动框架。所有 AI 请求的计费记录、消息归档、内容审核等操作,通过 Inngest 的事件队列异步处理,避免阻塞主请求响应。这对于需要处理大量 AI 对话的企业级应用来说是合理的技术选型。
Docker compose 配置中包含 ElectricSQL 服务,这是一个支持 PostgreSQL 到前端的双向实时同步数据库中间件。这意味着 AChat 不仅在后端用 PostgreSQL,前端应用层也能直接订阅数据库变更,无需额外的 API 轮询。这是一种相当前沿的架构实践,在 SaaS 类应用中能提供接近实时的协作体验。
使用 MinIO(兼容 S3 协议的对象存储服务)来处理文件上传、附件管理等场景。结合内置的 AI 计费功能,企业可以用它来存储 AI 生成的内容、对话上下文等数据,而无需依赖 AWS S3 或阿里云 OSS。
通过 @ai-sdk/anthropic、ai 等包与各大 AI 提供商集成。Vercel AI SDK 提供了统一的 AI 流式响应接口,让 AChat 可以优雅地处理各类大模型的流式输出,前端体验上可以做到类似 ChatGPT 的逐字输出效果。
AChat 提供了完整的 docker-compose.yaml,包含了平台运行所需的所有服务依赖:一行命令即可启动整个平台,无需手动安装 PostgreSQL、Redis、MinIO 等组件。
Docker compose 中编排了以下服务:
对于有定制需求的用户,项目也支持本地开发模式:需要 Node.js >= 18 和 pnpm 包管理器,通过 pnpm dev 启动前后端并行开发服务。
尽管 AChat 功能全面,但它并非没有局限:
架构复杂度较高。ElectricSQL、Inngest、MinIO 等组件的引入,使得整个系统的技术栈相当丰富。对于只是想快速搭建一个简单 AI 对话界面的用户来说,AChat 的启动门槛可能偏高,学习成本不容忽视。
内容审核能力有限。README 中提到内置内容审查功能,但具体实现方式和审核规则需要进一步评估。对于有严格合规要求的企业场景(如医疗、金融),仅靠开源的内置审核可能不足以满足监管要求。
V4 仍在开发中。当前 canary 分支的 V4 版本处于活跃开发状态,部分功能可能尚未稳定。对于生产环境部署,建议使用经过充分测试的 V3 版本。
AChat 背后的趋势是:随着 AI 在企业中的渗透率提升,"如何管理 AI 使用"正在成为一个独立的产品品类。从单纯的 API 调用工具,到企业级的 AI 对话管理平台,这个演进路径是自然的。
AChat 的开源属性也值得关注。在企业软件领域,"开源 + 可自托管"意味着企业可以完全掌控自己的 AI 使用数据,不必担心数据被第三方平台收集。这在当前数据隐私法规日益严格的环境下,是一个重要的竞争优势。
从项目数据来看,V3 版本长期维护、持续有社区贡献,说明这个方向确实有真实的市场需求。随着 AI 应用在企业场景的深化,类似 AChat 的 AI 管理平台可能会成为企业 AI 基础设施的标配组件。