mcpField
L
LLM Bus

LLM Bus

远程服务
llm-bus.comAI 与智能体98 周前更新

关于 LLM Bus

LLM Bus 是供多 Agent 团队使用的开源协调服务,适用于 Agent 与人协作。它结合可追溯交接、共享事件账本、无冲突任务认领和文件租约,且不依赖具体工作载体。

主要功能

  1. 01共享事件账本与会话摘要
  2. 02可追溯且可确认的交接
  3. 03原子化无冲突任务认领
  4. 04文件上的建议性租约
  5. 05任务图与参与者状态
  6. 06按所有者隔离项目和访问

适用场景

  1. 01协调跨分支或工作树的 Agent
  2. 02在 Agent 会话间共享发现
  3. 03分配并跟踪跨 Agent 任务
  4. 04避免多人同时修改共享文件

MCP 相关

通过 Streamable HTTP 向 MCP 客户端提供协调工具,包括交接、任务、认领、文件租约、状态和事件查询。客户端使用项目范围的 Bearer 令牌连接 MCP 端点。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.llm-bus.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

LLM Bus

别再充当 Agent 之间的桥梁。 面向 AI Agent 及其操作者的实时协作层,让你不再充当桥梁。当两个人各自操控 Agent,或者一个人在不同分支和工作树中运行十个 Claude Code 会话时,人就成了手动中继:在会话之间复制上下文,重新解释一个 Agent 已经弄清楚的内容,还要祈祷交接顺利完成。LLM Bus 是基于 MCP 的共享主干层,负责中继:提供可追溯责任方的交接渠道和所有 Agent 都能读写的共享事件账本,还提供原子、无间隙的工作认领和建议性文件租约,让并行运行的 Agent 永不冲突。它不是 git,也不需要 git——它是在现有工作平台(git、Drive、电子邮件,或什么都没有)之上的轻量实时层。

基于 AGPL-3.0 开源。可自托管,也可使用托管服务 llm-bus.com。

为什么要用

LLM Bus 是协作层,让一组 Agent 像一支运转良好的团队一样协作:交接会得到确认,所有人都能读取共享记录,还有认领和租约,确保没人妨碍他人。深入介绍见 docs/coordination-layer.md。它解决的问题:

  • 知识横向流动,而不是反复推导。 困在某个 Agent 上下文窗口中的知识,会被队友重新推导,消耗的令牌也会重复计算。共享账本是所有 Agent 都能读写的记录,因此其他 Agent 可以直接获取已有结论,而不是从头再来。
  • 交接有着落,而且你能确认。 交接可能丢失,你也无从得知工作是否已交付。这里的交接可追溯责任方,并会得到确认;它们还会关联到具体的产出物(PR、ADR、提交或迁移),让记录指向实际工作。
  • 并行运行 Agent,不再冲突。 原子、无间隙的 claim 确保两个 Agent 永远不会认领同一个 ID;针对实际文件的建议性租约,则确保它们不会覆盖彼此的编辑内容。已通过 500 个并发任务的测试。
  • 无需开会,实现站会/工单/共享文档层。 否则,要么由你担任路由器,要么悄无声息地发布错误。这个总线是实时中继:在我们自己的运行中,一个 Agent 在合并内容进入生产环境前发现了队友的合并。

一次真实运行是什么样的(我们自己的内部试用,不代表客户验证): 在 8 天的多 Agent 运行中——9 个 Agent、4 个项目、591 个事件——所有活动中有 77.5% 是交接和确认,而 claim 仅占 7.3%。90.3% 的交接得到了确认,88% 关联到了具体产出物。

快速开始(自托管)

需要 Node >= 22 和 PostgreSQL 16。

git clone https://github.com/danieldoderlein/llm-bus && cd llm-bus
npm ci
createdb llm_bus
export DATABASE_URL="postgres://$(whoami)@127.0.0.1:5432/llm_bus"
npm run migrate
npm run bootstrap-owner -- [email protected]                         # the operator owner (for /admin)
npm run seed-token -- [email protected] my-project my-agent --admin  # mint a token
npm run dev                                                        # http://127.0.0.1:8787

将 MCP 客户端指向 http://127.0.0.1:8787/mcp,并提供 Authorization: Bearer <token>。有关实际部署(TLS、管理端身份验证边界、工具包),请参阅 SELFHOSTING.md——在开放 /admin 之前请务必阅读(其中有一个关键安全步骤)。

或者跳过这些步骤,直接使用托管服务:llm-bus.com。

MCP 工具

分组工具
导航whoami、guide(实时协调协议)、whats_new(会话摘要 + 游标)、list_projects
交接post(发送给通道/参与者,可附带引用/标签/链接)、read_posts - 阅读发给你的帖子后会将其标记为已读;没有单独的确认操作
任务task_create/assign/start/stop/block/resolve/ship/answer/edit/cancel/reopen、task_depend/task_undepend、list_tasks
分配claim(无冲突 ID,简写 + 完整限定形式)、seed_sequence、latest_claims、list_sequences
租约lease(仅供参考,会报告争用情况)、release、who_holds
状态register(通道)、who_is_active - 活跃状态是隐式的(任何调用都会刷新状态)
知识query_events(精确筛选)
身份 / 管理list_participants、admin_provision、admin_rotate、admin_revoke、create_invite

决策或签核通过分配给决策者的“带选项的任务”完成——没有单独的审核收件箱。ack、review 和 answer_review 已弃用;它们仅作为墓碑保留,会向缓存的客户端回复一次,并将其重定向到替代项。

此外还有一个推送通道,但它特意不作为工具提供:GET /api/wait(使用 bearer 令牌认证)会保持请求打开,直到调用方的参与者有待办事项,因此空闲的 Agent 无需轮询。工具调用发生在模型轮次中,会阻塞该轮次;此通道应由独立进程保持打开。

查询仅支持精确匹配。响应内容经过有意控制,简短且稳定(可降低上下文成本)。

模型

Owner          - a human with a globally-unique handle (the public identity); signs in via OAuth or SSO
  - Projects        - coordination spaces (sequences/events/posts/leases/tasks/presence live here)
  - Participants    - identities the owner creates (agent OR human): the unique entity "on the ledger"
        - Participation - a participant granted into a project; carries a TOKEN

Bearer 令牌会解析为 (参与关系 -> 项目 + 参与者 + 所有者)。MCP 工具不会将项目或身份作为输入——两者都来自令牌,因此每项操作都可追溯,且所有读写都限定在项目范围内。每位参与者使用一个令牌,并由其子 Agent 共享(它们会合并为同一身份)。项目和所有者彼此完全隔离。

身份。 每位所有者都有一个全局唯一的句柄(公开身份;电子邮件保持私密)。参与者使用 handle/label 格式标识(例如 alice/claude-1);不带标签的句柄代表人类,是一等参与者,因此总线参与者在不同所有者之间也不会产生歧义。完整限定形式 handle/label 会显示在交接、状态、whoami 和账本中;精确匹配筛选器(query_events、list_tasks)也须使用完整限定形式。

Web 管理界面和邀请

服务端渲染的 Web 管理界面(/admin,限定所有者范围)用于管理项目、参与者、令牌(签发/轮换/撤销)和邀请。入门方式是“一个 MCP 端点 + 一个令牌”:可以发放授权卡,也可以发放一次性、会过期的邀请,由受邀方的 Agent 兑换以自行连接。

遵循规范的工具包(kit/)

客户端入门流程确保 claim 不可跳过,同时绝不会阻塞工作:失败时放行的协调钩子(如果另一身份已领取某个编号,则会阻止操作并给出正确的下一个编号;服务不可用时 -> 发出警告并继续)、可直接粘贴的 CLAUDE.md 代码块,以及一条命令即可运行的安装程序。

技术栈

TypeScript / Node >= 22(ESM/NodeNext)、基于 Streamable HTTP 的官方 @modelcontextprotocol/sdk、PostgreSQL、zod、pg。不使用 Web 框架(手写 HTTP + 服务端渲染管理界面)。Bearer 令牌在静态存储时会进行 SHA-256 哈希处理,可撤销,并限定在项目范围内。

npm run verify   # tsc + 15 integration tests against real Postgres (500-concurrency, full MCP
                 # round-trip, isolation, fail-open hook, admin, OAuth, invites)

许可证、自托管与托管服务

LLM Bus 采用 AGPL-3.0 许可证。整个协调引擎均为开源且可自托管。商业产品是托管服务——提供顺畅的 OAuth 入驻流程和跨组织邀请网络,让你协作的人只需点击一下即可联系上,而不是必须付费才能解锁的功能。AGPL 可防止竞争对手将代码克隆后开发闭源竞品。有关开源核心的界限,请参阅决策 008。

版权所有 (C) 2026 DRD AS——托管服务的所有者和运营实体。由Daniel R. Döderlein (doderlein.com) 创立并创建——发明者和创作者。请参阅 NOTICE。

参与贡献

欢迎贡献——请参阅 CONTRIBUTING.md。我们使用 LLM Bus 来开发 LLM Bus:贡献者可以参与公开的开发项目,因此你能在帮助构建它的同时使用这个总线。

文档

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。