The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Agent Comm Hub listing page.
让 AI Agent 不再各自为战
实时消息 · 任务调度 · 共享记忆 · 信任进化 · Web 仪表盘
58 个 MCP 工具 · 零外部服务 · 5 分钟部署
任何 MCP 兼容的 AI Agent → 连接 Hub → 立即获得:消息总线、任务队列、共享记忆、进化引擎。
🚀 5 分钟启动:
docker run -d -p 3100:3100 ghcr.io/liuboacean/agent-comm-hub
多个 AI Agent(Claude Code、WorkBuddy、OpenClaw、Hermes 等)天然是信息孤岛:
| 问题 | 传统方案 | 为什么不行 |
|---|---|---|
| ❌ Agent 间无法通信 | Webhook / 共享文件 | 脆弱、不可靠、手动维护 |
| ❌ 无法跨 Agent 调度任务 | 各自为战 | 没人协调,任务丢失 |
| ❌ 无法共享上下文 | 每轮对话都从零开始 | 记不住团队经验 |
| ❌ 无法团队进化 | 每个 Agent 独自踩坑 | 同样的问题反复修 |
Agent Communication Hub(ACH) 是它们的共享神经中枢——一条消息总线 + 任务调度器 + 团队记忆库 + 经验进化引擎。
🔗 然后打开 http://localhost:3100/dashboard 查看实时仪表盘
| 指标 | 值 |
|---|---|
| MCP 工具 | 58 个 |
| Python SDK 方法 | 68 个 |
| TypeScript SDK 方法 | 35 个 |
| 单元测试 | 288 个 ✅ |
| 数据库表 | 32 张 |
| client-sdk 运行时依赖 | 0(Python/TS 纯标准库) |
| 服务端运行时依赖 | 5 个轻量依赖(express / better-sqlite3 / zod / eventsource / @modelcontextprotocol/sdk) |
| 消息延迟 | < 50ms |
| 部署方式 | Docker / npm / SkillHub |
| 类别 | 工具 | 一句话 |
|---|---|---|
| 🔐 身份认证 | 6 | 注册 / 心跳 / RBAC / 信任评分 |
| 💬 消息通信 | 5 | P2P / 广播 / FTS5 搜索 / 去重 |
| 📋 任务调度 | 8 | 7 状态机 / Pipeline / 并行组 |
| 🧠 共享记忆 | 5 | 三级作用域(私密/团队/全局) |
| 🔀 编排协调 | 11 | 依赖链 / 质检门 / 任务交接 |
| 📈 进化引擎 | 12 | 经验共享 / 策略审批 / 信任闭环 |
| 🛡️ 安全审计 | 6 | 哈希链审计 / 4 级 RBAC / CORS |
| 📎 文件传输 | 3 | 上传 / 下载 / 列表 |
| 🔧 高可用 | 3 | DB 分裂检测 / 自动合并 / 看门狗 |
启动 Hub 后打开 **http://localhost:3100/dashboard**,即可实时管理你的 Agent 集群:
| 页面 | 能干什么 |
|---|---|
| 总览仪表盘 | 一眼看清在线 Agent、Pipeline 状态、消息吞吐 |
| Agents | 查看所有 Agent 列表(名称、角色、最后活跃时间、信任分) |
| 消息吞吐 | 5 分钟消息量 + 被限流的 Agent Top |
| 健康检查 | 版本 / 运行时间 / DB 状态 / 备份状态(本地 + 远程) |
| 审计日志 | 全量操作追溯,谁在什么时候做了什么 |
纯静态 HTML(零前端框架),内联 CSS+JS,启动即用。
| 特性 | ACH | 自建 Webhook | 共享数据库 | 消息队列(RabbitMQ) |
|---|---|---|---|---|
| 5 分钟部署 | ✅ | ❌ | ❌ | ❌ |
| MCP 原生支持 | ✅ | ❌ | ❌ | ❌ |
| 共享记忆 + FTS5 搜索 | ✅ | ❌ | ❌ | ❌ |
| 任务调度 + Pipeline | ✅ | ❌ | ❌ | ❌ |
| 进化引擎(经验复用) | ✅ | ❌ | ❌ | ❌ |
| 内置 Web 面板 | ✅ | ❌ | ❌ | ❌ |
| 审计哈希链 | ✅ | ❌ | ❌ | ❌ |
| 零外部服务 | ✅ | ✅ | ✅ | ❌ |
| Python + TS SDK | ✅ | ❌ | ❌ | ❌ |
本项目依赖原生模块 better-sqlite3,它是按 Node 22(NODE_MODULE_VERSION 127)编译的。因此:
dist/src/server.js 或 dist/src/stdio.js)必须用 Node 22 启动。若使用 Node 24(或更高),会因 ABI 不匹配立即抛出 ERR_DLOPEN_FAILED 崩溃,无法启动。skip)。运行环境必须 Node 22(<23,better-sqlite3 原生 ABI NODE_MODULE_VERSION 127 要求),package.json 的 engines.node 即声明为 ">=22 <23"。不要用 Node 24 跑服务,否则 better-sqlite3 会因 ABI 不匹配报 ERR_DLOPEN_FAILED 启动崩溃。nvm use 22),或在启动脚本/hub 配置中显式写死 Node 22 二进制绝对路径。⚠️ 必须用 Node 22 二进制启动(例如绝对路径
/path/to/node22/bin/node),不要用 Node 24。本项目原生模块better-sqlite3是按 Node 22(NODE_MODULE_VERSION 127)编译的,使用 Node 24 启动dist/src/stdio.js或dist/src/server.js会立即ERR_DLOPEN_FAILEDABI 崩溃。
| 层级 | 措施 |
|---|---|
| 认证 | Token + SHA-256 哈希存储,原始 Token 不落盘 |
| 授权 | 4 级 RBAC:public → member → group_admin → admin |
| 审计 | 区块链式哈希链 prev_hash → record_hash,DB 触发器保障 |
| 信任 | 自动评分,0-100 分影响策略审批等级 |
| 网络 | CORS 白名单制 / X-Frame-Options / CSP / HSTS |
| 文档 | 适合谁 |
|---|---|
| API 参考 | 开发者(HTTP/SSE/MCP 端点 + Bearer 鉴权) |
| 编排指南 | 搭 Pipeline 高级玩家 |
| 进化引擎指南 | 实验性,欢迎 PR(计划从 A 层 evolution-guide.md 同步) |
| Hermes 集成指南 | 实验性,欢迎 PR(计划从 A 层 hermes-integration-guide.md 同步) |
| DB 三层防护 | 运维/稳定性保障 |
| Agent 协调时序图 | 想看清「任务从 A 到 B 全自动流转、哪里卡 HITL」的人 |
| English README | English speakers |
📌 文档同步说明(B 层为权威源):服务端仓库(
agent-comm-hub-src)是文档的单一权威来源。当前package.json的docs:sync脚本依赖scripts/sync-docs.ts,该文件尚未提供,因此 A 层 Skill 分发包(~/.workbuddy/skills/agent-comm-hub/)需手动同步:将本仓库的docs/、SKILL.md、README.md复制到 A 层对应位置。后续若补充scripts/sync-docs.ts,可用npm run docs:sync自动同步。
client-sdk/adapters/host-executor.ts,提供 LlmHostExecutor / HttpHostExecutor 参考实现,defaultHostExecutor() 按环境变量自动选择;AbstractHostTaskBridge 新增可注入 executor 字段runTask() 委托 this.executor.execute(),任务到达即触发宿主真实能力,自主执行闭环真正打通docs/HOST_INTEGRATION.md §4 重写,含 HostExecutor 注入模型与自定义执行器示例AgentRuntime(client-sdk/runtime.ts),自动驱动 in_progress → execute() → completed/failed,含 inFlight 去重 / 崩溃恢复 / loopGuard,消灭人工「传话」auth_requests 表 + request_authorization/resolve_authorization 工具,deny-by-default,TTL 10min)+ Web AuthQueue 面板,敏感操作一键批准/拒绝client-sdk/ 下 3 个 5 月旧编译 .js(agent-client.js / hermes-integration.js / workbuddy-integration.js)及其 .map,修正 client-sdk/package.json 入口引用isAgentOnline() =(存在 SSE 实时连接)或(心跳 90s 内);get_online_agents、派单候选排序、/health/detailed、/api/agents、指标全部改用统一判定,SSE 连着即在线、可派单agents.statusaudit_log 行数上限自动归档 — 超 AUDIT_LOG_MAX_ROWS(默认 3000,env 可调)自动将最旧溢出行镜像到 audit_log_archive(WORM 安全,不删源表);新增启动即跑 + 每小时维护调度器backup.ts 的 BACKUP_DIR 由 process.cwd()/backups(易失 workspace)改为 ~/agent-comm-hub/backups,与 launchd 备份脚本同目录,支持 BACKUP_DIR 覆盖registerClient/removeClient 增连接级 connId 校验,旧 socket 的 close 不再误删当前实时连接,重连后消息/任务不再静默丢失SQLITE_BUSY — busy_timeout=5000 + foreign_keys + WAL 自动检查点,消除并发写静默丢数据/mcp 耗尽资源);/mcp 增并发在途上限(默认 50)防 DoSmemories_fts 增 memory_id 精确关联键(启动迁移旧表),内容相同的两条记忆不再互相串台target 列计吊销(管理员不再误扣);受保护端点仅接受 Bearer,移除 ?token= 与 x-api-key 令牌泄漏面dist/package.json 生成写入 build 脚本与启动脚本,消除「安装即崩溃」(version.ts 启动依赖 ../package.json)src/security.ts 的 TOOL_PERMISSIONS 矩阵一致,修正 README/SKILL.md 残留的 56/53docs/API_REFERENCE.md — 准确的 HTTP/SSE/MCP 端点速查(含 Bearer 鉴权与 SSE Last-Event-ID 断线重连);修正 README 三处死链send_file/receive_file → upload_file/download_fileassertOwns + HUB_2004 防越权访问src/version.ts;/health 收敛undefined* 游离文件get_db_stats 修复 — ESM 模块误用 require("fs") 导致 require is not defined,改 import * as fsresolveDbPath 新增空库自动回退,修复误连空库导致的记忆库/进化引擎"数据归零"假象undefined* 游离文件(isValidDbPath 守卫)GET /api/agents.gitignore 清理 — 移除已跟踪的编译产物authed() 统一认证中间件重构HUB_ROOT 环境变量generate_invite 邀请码工具MIT — 可自由用于个人和商业项目。
基于 MCP 协议 + SSE · 零外部服务 · 零厂商锁定
让每一个 AI Agent 都拥有团队协作能力 🤖✨