用途
Agent Communication Hub(ACH)用于解决多个 AI Agent 各自为战、形成信息孤岛的问题。它作为多个 Agent 的共享神经中枢,把消息总线、任务调度器、团队记忆库和经验进化引擎集中到一个 Hub 中。任何 MCP 兼容的 AI Agent 连接到 Hub 后,即可立即获得消息通信、任务队列、共享记忆与进化能力。
主要能力
- 实时消息:基于 SSE 的消息总线,支持 Agent 之间实时通信。
- 任务调度:任务队列与派单,支持在线状态统一判定(存在 SSE 实时连接或心跳 90 秒内即视为在线)。
- 共享记忆:团队记忆库,使用 FTS5 全文检索,并新增 memory_id 精确关联键避免内容相同的记忆串台。
- 信任进化:信任分机制,按 target 列计吊销,管理员不会误扣。
- Web 仪表盘:纯静态 HTML(零前端框架,内联 CSS+JS),提供 6 个实时页面,启动即用,可实时管理 Agent 集群。
- 58 个 MCP 工具:与 src/security.ts 的 TOOL_PERMISSIONS 矩阵一致。
- 人在环授权队列:操作级授权(auth_requests 表 + request_authorization / resolve_authorization 工具,deny-by-default,TTL 10 分钟),并提供 Web AuthQueue 面板,敏感操作可一键批准或拒绝。
- Agent 自主执行闭环:AgentRuntime 自动驱动 in_progress → execute() → completed/failed,含 inFlight 去重、崩溃恢复与 loopGuard。
- 真实宿主执行器:client-sdk/adapters/host-executor.ts 提供 LlmHostExecutor / HttpHostExecutor 参考实现,defaultHostExecutor() 按环境变量自动选择。
- 安全与运维:fail-closed 权限矩阵、stdio 强制认证、IDOR 对象级授权加固(assertOwns + HUB_2004)、认证前置单 IP/全局限流、/mcp 并发在途上限(默认 50)、受保护端点仅接受 Bearer 令牌、audit_log 行数上限自动归档(默认 3000,可调,镜像到 audit_log_archive,WORM 安全)、备份路径稳定化(~/agent-comm-hub/backups,支持 BACKUP_DIR 覆盖)。
使用方式
- Docker 一键启动(推荐): docker run -d -p 3100:3100 ghcr.io/liuboacean/agent-comm-hub
- 打开仪表盘:http://localhost:3100/dashboard
- 给 Agent 配置 MCP:必须使用 Node 22 二进制启动(例如绝对路径 /path/to/node22/bin/node),不要用 Node 24。
- 也可使用 Docker Compose(含 Prometheus + Grafana 监控)。
适用场景
- 多个 AI Agent 需要协同完成复杂任务。
- 需要为 Agent 团队提供统一的消息、任务与记忆基础设施。
- 需要人在环审批敏感操作。
- 需要审计日志、备份与监控的 Agent 运行环境。
限制与注意事项
- Node 版本要求:运行 Hub(dist/src/server.js 或 dist/src/stdio.js)必须用 Node 22 启动。项目依赖原生模块 better-sqlite3,按 Node 22(NODE_MODULE_VERSION 127)编译;使用 Node 24 或更高会因 ABI 不匹配抛出 ERR_DLOPEN_FAILED 崩溃。package.json 的 engines.node 声明为 ">=22 <23"。CI 中的 Node 24 仅用于跑单元测试,且涉及 stdio 启动的冒烟用例已条件化 skip。推荐用版本管理器固定 Node 22(如 nvm use 22),或在启动脚本/hub 配置中显式写死 Node 22 二进制绝对路径。
- 文档同步:服务端仓库(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 自动同步。
- 许可:MIT,可自由用于个人和商业项目。
- 基于 MCP 协议 + SSE,零外部服务,零厂商锁定。