OpenBot Vibe 项目

开源自托管的多机器人协作 AI 平台

项目简介

OpenBot 是一个开源的、可自托管的多机器人(multi-bot)AI 平台,定位类似闭源的 Grok Bot:让多个持久化的 AI 机器人组成一个团队,各自拥有名字、描述与行为指令,既能与人对话,也能互相协作,并使用可插拔工具、保留长期记忆,还能通过 HTTP 被外部系统调用。项目作者表示,自己认可 Grok Bot 所走的「协作机器人」路线——这种模式易于理解且天然对应工作流,但 Grok Bot 闭源且价格高昂(作者称自己把 Ultra 档位的额度都用完了),因此决定自己实现一个开源替代品。作者还提到项目目前「基本能自我改进」,大部分 PR 由机器人自己撰写。

核心功能

  1. Actor 模型运行时:机器人、人类与外部系统统一为「Actor」,每个 Actor 拥有持久收件箱,同一时间每个机器人只跑一次,并设有全局并发上限。
  2. 多机器人工作流:未显式 @ 某个机器人时,消息路由到线程默认机器人(默认 @chief_of_staff);机器人之间用 @mention 交接任务,并设置跳数上限防止机器人互相刷屏。
  3. 可插拔工具:内置以工作区目录为根的 shell、文件、HTTP 工具,并支持在插件目录放置自己写的 Python 工具。
  4. 长期记忆:每个机器人拥有独立的长期记忆(基于 LangMem),可检索与更新,每次运行后自动进行后台反思。
  5. 人工审批与提问:机器人执行敏感操作前可通过 ask_human 向人确认,运行会暂停直到人类答复。
  6. 外部 Actor:可以把外部系统注册为 Actor,通过签名 Webhook 或轮询 REST API 与平台交换消息。
  7. 实时界面:React 前端的收件箱、线程、机器人与设置界面,通过 SSE 实时更新。
  8. 多数据库与链路追踪:默认使用 SQLite,改一个连接串即可切换 Postgres,并开箱支持 LangSmith 追踪。

技术实现(约 320 字)

OpenBot 的技术骨架是一套「一切皆 Actor」的消息传递模型。机器人、人类用户与外部系统都被建模为持有持久收件箱的 Actor,彼此通过共享线程把消息投递到对方的收件箱里。当一个机器人 Actor 收到邮件被唤醒时,它会启动一个由大模型驱动的 agent 循环,加载工具与记忆、生成回复,回复本身又会投递新邮件并可能唤醒下一个机器人。这种统一模型让人类、机器人和 Webhook 驱动的外部系统能以完全相同的方式参与同一场对话,也是机器人链式接力的基础。系统对机器人之间的往返设置了 hop 计数器,机器人回复会递增、人类或外部消息会归零,达到上限后该线程内的机器人相互委派会被阻断,直到人类发话重置,以此避免失控的循环。运行时按「每个机器人同一时间只跑一次」调度,并设有全局并发上限;工具以工作区目录为根,长期记忆基于 LangMem 实现,每次运行结束自动触发后台反思。存储层默认 SQLite,一行配置即可换成 Postgres,同时内置 LangSmith 链路追踪,方便观察多机器人协作的每一步。

快速上手

  1. 准备环境:需要 Python 3.12+ 并安装 uv、Node 24+ 并安装 pnpm 10,以及一个 OpenRouter API Key(推荐),或 OpenAI、Anthropic、xAI 中任一家的 Key,也可使用本地 Ollama。
  2. 初始化:执行 make setup 完成后端 uv sync 与前端 pnpm install,并把 .env.example 复制为 .env;随后编辑 .env 填入模型 Key。
  3. 启动开发环境:运行 make dev,后端监听 8000 端口,前端开发服务器在 5173 端口;也可用 make run 以单进程生产模式在 8000 端口同时提供构建好的前端。
  4. 体验协作流程:打开界面新建线程,发送类似「给 CLI 加一个 --version 参数并提交 PR」的指令,就能看到 Chief of Staff 委派给 engineer、engineer 提交 PR、reviewer 审查、qa 测试并在合并前向你请求审批的完整链路。

适用人群

适合希望自建 AI 机器人团队、对数据自主可控有要求的开发者与团队,也适合研究多智能体协作、Agent 工作流编排的技术爱好者。

官网链接

https://github.com/regnull/openbot

团队信息

由 AI 猎手自动发现

评论与建议

0 条评论