beever-atlas
将团队 Slack/Discord/Teams/Mattermost 聊天自动蒸馏成可查询维基的 RAG 知识库
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
将团队 Slack/Discord/Teams/Mattermost 聊天自动蒸馏成可查询维基的 RAG 知识库
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
每个技术团队都经历过这样的场景:新人在群里问"上次讨论的部署方案是什么来着?",结果没人记得;老员工离职后,他知道的那些隐性知识全跟着消失了;复盘会上大家七嘴八舌,结论却散落在几百条聊天记录里。团队聊天是知识的金矿,但也是知识的坟墓——对话是流动的,记忆是短暂的。
Beever Atlas 正是为了解决这个痛点而生。它的核心思路非常直接:把团队已经在用的 Slack、Discord、Microsoft Teams、Mattermost 变成知识库的自动喂料管道。接上机器人、同步历史记录,系统会自动把聊天内容蒸馏成原子事实、实体和关系,写入可查询的维基和图谱。团队不需要改变任何工作习惯,知识库却在后台自动生长。
Beever Atlas 由 Beever.AI 团队开发维护,背后是一家专注于 AI+知识管理的产品公司。项目采用 Apache 2.0 开源协议,当前版本 0.3.0,在 GitHub 上已获得 386 颗星,收录于 Google ADK(Agent Development Kit)官方示例和 Glama MCP Server 目录。
项目定位是 Wiki-first RAG System with Dual Semantic + Graph Memory,技术选型上大量依赖 Google 的 Agent 开发工具链(google-adk >= 2.1.0),同时整合了 litellm 作为 LLM 调用的统一抽象层,支持 Gemini、OpenAI 等多种模型后端。
Beever Atlas 的架构设计可以用一句话概括:一个摄入管道,两个记忆系统,两个消费出口。
摄入管道基于 Google ADK 的 Workflow 原语构建,共 6 个阶段串行执行:
两个记忆系统分别服务不同查询模式:
| 系统 | 技术栈 | 适用场景 |
|---|---|---|
| 3 层语义记忆(Channel → Topic → Atomic Fact) | Weaviate(向量数据库) | 语义搜索、自然语言问答 |
| 实体关系图谱 | Neo4j(图数据库) | 关系推理、人物关联分析 |
两个消费出口则是 LLM Wiki(自动生成的频道维基页面)和 QA Agent(通过 Dashboard 或 MCP 协议供外部 AI 代理查询)。MCP 协议支持是一个亮点:Claude Code 和 Cursor 用户可以直接在 IDE 里查询团队知识库,无需切换到 Web 界面。
Beever Atlas 提供了一个完整封装的 docker-compose.yml,包含了所有依赖服务。部署前只需要两件事:
cp .env.example .envGOOGLE_API_KEY(Gemini)和 JINA_API_KEY(向量 Embedding)然后执行 docker compose up,系统会自动拉起 6 个容器(atlas 主服务、bot 服务、Weaviate、Neo4j、MongoDB、Redis)。
内存保护机制:主服务的 Docker Compose 中设置了 mem_limit: 2048m 和 memswap_limit: 3072m,防止多渠道同步时 LLM 批处理导致内存溢出 kill 主进程——这是一个非常务实的工程细节,说明团队在真实生产环境中有过 OOM 的教训。
后端采用 FastAPI + Uvicorn,Python 3.12+ 要求。前端是 React 应用,Bot 服务是独立的 Node.js(TypeScript)微服务,通过 Bridge 层连接各聊天平台。MCP Server 既可以作为主服务的一部分运行,也可以独立以 stdio 模式启动,供本地 MCP 客户端直接连接。
如果要切换 Embedding 模型(从 Jina 换成 OpenAI/Cohere/Voyage),只需修改环境变量 EMBEDDING_PROVIDER 和对应的 API Key,无需改动代码。
Google ADK Workflow 的正确用法:项目中 JoinNode 的使用体现了对 ADK 执行模型的深刻理解——没有 JoinNode,并行分支会各自触发下游节点(N×M 次执行),JoinNode 将 N 条入边汇集成单一触发,保证 Persister 不会重复写入。这种模式对于任何构建复杂 Agent Pipeline 的开发者都有参考价值。
确定性质量校验:v0.3.0 版本将跨批次验证器从 LLM-based 切换为确定性算法(名字规范化 + Embedding 余弦相似度),在保证质量的同时消除了 LLM 调用的延迟和成本。
多模态支持:除了纯文本,Ingestion Pipeline 还支持图片描述(Image Describer)、音视频转录(Audio Transcriber)、文档摘要(Document Digester),覆盖了团队协作中除文字聊天外的多种内容形式。
部署复杂度较高:虽然官方提供了 docker-compose 一键启动,但依赖 4 个外部数据存储(Weaviate、Neo4j、MongoDB、Redis),对于没有容器化运维经验的团队来说,理解这套架构的学习成本不低。此外,向量数据库和图数据库的运维(索引优化、容量规划、备份恢复)通常需要专业知识和配套工具。
外部 API 依赖:Gemini API、Jina API 是运行时必需品,且都是闭源商业服务(有免费额度但生产环境需付费)。如果这些服务的可用性或定价策略发生变化,项目会受到直接影响。
RAG 固有限制:本质上仍是基于 LLM 提取的知识库,提取质量高度依赖 prompt 设计。虚假事实(LLM 幻觉产生的不存在的"事实")虽然有 Cross-Batch Validator 做部分兜底,但仍无法完全消除,需要人工审核机制补充。
Beever Atlas 代表了 RAG 领域的一个细分方向:从被动问答转向主动知识沉淀。传统的 RAG 系统是用户主动上传文档再查询;Beever Atlas 则是监听团队日常沟通,自动把隐性知识挖出来结构化存储。对于中大型团队(20人以上、跨多个即时通讯平台),这套系统的价值尤为明显。
当前版本 0.3.0 已具备生产可用性,但版本号和 changelog 表明仍处于快速迭代期。值得关注的方向包括:本地 LLM 支持(减少外部 API 依赖)、知识审核工作流、与其他知识管理工具(Notion、Confluence)的双向同步等。