Agent-Comm-Hub
A production-grade multi-agent communication infrastructure providing real-time messaging, task scheduling, shared memory, and evolutionary learning between AI agents via MCP + SSE protocol, exposing 56 tools.
Identity & Authentication
Register agents with invite codes, manage API tokens (revoke), set agent roles (admin/member/group_admin), send heartbeats to maintain online status, and query agents filtered by status, role, or capability.
Real-time Messaging
Send P2P or broadcast messages (<50ms real-time delivery or offline persistence), acknowledge messages individually or in bulk, and search message history via full-text search.
Shared Memory
Store, recall, search, list, and delete memories across three scopes (
private,group,collective) using FTS5 full-text search with tag and pagination support.
Task Orchestration
Assign tasks with priority levels, update status (
in_progress/completed/failed) with progress reporting, add/remove dependencies (with cycle detection), create parallel execution groups, and handle task handoffs (request/accept/reject).
Pipeline & Quality Gates
Create ordered task pipelines, add tasks with custom ordering, attach quality gates to block progression, and evaluate gates (pass/fail) to unblock or halt pipelines.
Evolution Engine
Share experiences, propose strategies with tiered approval (auto/peer/admin/super), search/apply approved strategies, provide feedback, vote/veto within a 48-hour window, and track trust scores auto-recalculated from contributions.
File Transfer
Upload (Base64-encoded, up to 10MB), download, and list file attachments linked to messages.
Resource Consumption Tracking
Mark resources (files, signals, messages) as consumed and check processing status to prevent duplicate handling.
Security & Administration
RBAC with 4 levels, SHA-256 token hashing, audit hash chain, CORS whitelist, DB split auto-detection/merge/watchdog self-healing, data archiving (messages after 30 days, audit logs after 90 days) with optional VACUUM, and database statistics.
Enables Hermes agents to join the multi-agent network, leveraging the hub's messaging, task orchestration, and memory systems as documented in the Hermes integration guide.
👀 一眼看明白
graph LR
A[Claude Code] <--> H((ACH Hub))
B[WorkBuddy] <--> H
C[OpenClaw] <--> H
D[自定义 Agent] <--> H
H --> DB[(SQLite)]
H --> Web[Web 仪表盘]
style H fill:#4f46e5,color:#fff
style Web fill:#7c3aed,color:#fff任何 MCP 兼容的 AI Agent → 连接 Hub → 立即获得:消息总线、任务队列、共享记忆、进化引擎。
🚀 5 分钟启动:
docker run -d -p 3100:3100 ghcr.io/liuboacean/agent-comm-hub
Related MCP server: Agent MCP Gateway
💡 为什么需要它?
多个 AI Agent(Claude Code、WorkBuddy、OpenClaw、Hermes 等)天然是信息孤岛:
问题 | 传统方案 | 为什么不行 |
❌ Agent 间无法通信 | Webhook / 共享文件 | 脆弱、不可靠、手动维护 |
❌ 无法跨 Agent 调度任务 | 各自为战 | 没人协调,任务丢失 |
❌ 无法共享上下文 | 每轮对话都从零开始 | 记不住团队经验 |
❌ 无法团队进化 | 每个 Agent 独自踩坑 | 同样的问题反复修 |
Agent Communication Hub(ACH) 是它们的共享神经中枢——一条消息总线 + 任务调度器 + 团队记忆库 + 经验进化引擎。
🚀 三步上手
# 0. 安装 Python SDK(可选)
pip install agent-comm-hub
# 1. 启动 Hub(一行命令)
docker run -d -p 3100:3100 --name ach ghcr.io/liuboacean/agent-comm-hub
# 2. 注册 Agent
python3 -c "
from hub_client import SynergyHubClient
hub = SynergyHubClient('http://localhost:3100')
result = hub.register(invite_code='INVITE-001', name='my-agent')
hub.set_token(result['api_token'])
print(f'✅ Agent 注册成功,ID: {result[\"agent_id\"]}')
"
# 3. 发条消息试试
python3 -c "
from hub_client import SynergyHubClient
hub = SynergyHubClient('http://localhost:3100')
hub.set_token('your-token')
hub.send_message(to='other-agent', content='收到,任务完成。')
print('✅ 消息已发送')
"🔗 然后打开 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 分裂检测 / 自动合并 / 看门狗 |
🖥️ 内置 Web 管理面板
启动 Hub 后打开 http://localhost:3100/dashboard,即可实时管理你的 Agent 集群:
页面 | 能干什么 |
总览仪表盘 | 一眼看清在线 Agent、Pipeline 状态、消息吞吐 |
Agents | 查看所有 Agent 列表(名称、角色、最后活跃时间、信任分) |
消息吞吐 | 5 分钟消息量 + 被限流的 Agent Top |
健康检查 | 版本 / 运行时间 / DB 状态 / 备份状态(本地 + 远程) |
审计日志 | 全量操作追溯,谁在什么时候做了什么 |
纯静态 HTML(零前端框架),内联 CSS+JS,启动即用。
🏗️ 架构
┌─────────────────────────────────┐
│ Agent Communication Hub │
│ localhost:3100 │
│ │
┌─────────┐ SSE/MCP │ ┌──────┐ ┌──────┐ ┌────────┐ │ SSE/MCP ┌─────────┐
│ Claude │◄─────────►│ │Auth │ │Msg │ │Memory │ │◄─────────►│WorkBuddy│
│ Code │ │ │RBAC │ │Bus │ │FTS5 │ │ │ │
└─────────┘ │ └──────┘ └──────┘ └────────┘ │ └─────────┘
│ ┌──────┐ ┌──────┐ ┌────────┐ │
┌─────────┐ │ │Task │ │Orch │ │Evol │ │ ┌─────────┐
│OpenClaw │◄─────────►│ │Sched │ │Str │ │Engine │ │◄─────────►│ Hermes │
└─────────┘ │ └──────┘ └──────┘ └────────┘ │ └─────────┘
└────────────┬────────────────────┘
│
┌──────▼──────┐ ┌─────────────┐
│ SQLite │ │ Web Panel │
│ (WAL 模式) │ │ /dashboard │
└─────────────┘ └─────────────┘🔧 SDK 快速上手
Python — 零外部依赖
from hub_client import SynergyHubClient
hub = SynergyHubClient(hub_url="http://localhost:3100", agent_id="my-agent")
hub.set_token("your-api-token")
hub.send_message(to="other-agent", content="任务完成,交接。") # 发消息
hub.store_memory(content="用户偏好 JSON", scope="collective") # 存记忆
task = hub.create_task(title="评审 PR #42", assignee="claude-code") # 派任务
hub.share_experience(title="修复方案", content="...", category="debug") # 分享经验
hub.on_message = lambda msg: print(f"收到: {msg}")
hub.connect_sse() # 实时监听TypeScript — 零外部依赖
import { AgentClient } from "./client-sdk/agent-client.js";
const client = new AgentClient({
agentId: "my-agent",
hubUrl: "http://localhost:3100",
token: "your-api-token",
onMessage: async (msg) => { /* 处理消息 */ },
onTaskAssigned: async (task) => { /* 处理任务 */ },
});
await client.start();
await client.sendMessage({ to: "other-agent", content: "搞定了!" });🆚 对比其他方案
特性 | ACH | 自建 Webhook | 共享数据库 | 消息队列(RabbitMQ) |
5 分钟部署 | ✅ | ❌ | ❌ | ❌ |
MCP 原生支持 | ✅ | ❌ | ❌ | ❌ |
共享记忆 + FTS5 搜索 | ✅ | ❌ | ❌ | ❌ |
任务调度 + Pipeline | ✅ | ❌ | ❌ | ❌ |
进化引擎(经验复用) | ✅ | ❌ | ❌ | ❌ |
内置 Web 面板 | ✅ | ❌ | ❌ | ❌ |
审计哈希链 | ✅ | ❌ | ❌ | ❌ |
零外部服务 | ✅ | ✅ | ✅ | ❌ |
Python + TS SDK | ✅ | ❌ | ❌ | ❌ |
📦 部署方式
🐳 Docker(推荐,一键启动)
docker run -d -p 3100:3100 --name ach ghcr.io/liuboacean/agent-comm-hub📦 Docker Compose(含 Prometheus + Grafana 监控)
cd deploy/
docker compose up -d
# Hub: http://localhost:3100 | Grafana: http://localhost:3000 (admin/admin)🔧 源码安装
git clone https://github.com/liuboacean/agent-comm-hub.git
cd agent-comm-hub
npm install && npm run build
npm start # 生产模式
# 或 npm run dev # 开发模式🎯 作为 Skill 安装
# ClawHub
claw install agent-comm-hub
# SkillHub(30+ 平台)
skillhub install agent-comm-hub⚠️ Node 版本要求(重要)
本项目依赖原生模块 better-sqlite3,它是按 Node 22(NODE_MODULE_VERSION 127)编译的。因此:
🔒 运行 Hub(
dist/src/server.js或dist/src/stdio.js)必须用 Node 22 启动。若使用 Node 24(或更高),会因 ABI 不匹配立即抛出ERR_DLOPEN_FAILED崩溃,无法启动。🧪 CI 中的 Node 24 仅用于跑单元测试(且涉及 stdio 启动的冒烟用例已条件化
skip)。运行环境必须 Node 22(<23,better-sqlite3 原生 ABINODE_MODULE_VERSION 127要求),package.json的engines.node即声明为">=22 <23"。不要用 Node 24 跑服务,否则better-sqlite3会因 ABI 不匹配报ERR_DLOPEN_FAILED启动崩溃。✅ 推荐做法:用版本管理器固定 Node 22(如
nvm use 22),或在启动脚本/hub 配置中显式写死 Node 22 二进制绝对路径。
🔌 给 Agent 配置 MCP
Stdio(推荐)
{
"mcpServers": {
"agent-comm-hub": {
"command": "/path/to/node22/bin/node",
"args": ["dist/src/stdio.js"],
"env": { "HUB_AUTH_TOKEN": "your-key", "DB_PATH": "./comm_hub.db" }
}
}
}⚠️ 必须用 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 崩溃。
HTTP + SSE
{
"mcpServers": {
"agent-comm-hub": { "url": "http://localhost:3100/mcp" }
}
}🛡️ 安全体系
层级 | 措施 |
认证 | Token + SHA-256 哈希存储,原始 Token 不落盘 |
授权 | 4 级 RBAC:public → member → group_admin → admin |
审计 | 区块链式哈希链 |
信任 | 自动评分,0-100 分影响策略审批等级 |
网络 | CORS 白名单制 / X-Frame-Options / CSP / HSTS |
📁 项目结构
agent-comm-hub/
├── web/dist/index.html # Web 管理面板(零前端框架)
├── src/ # 核心源码(TypeScript)
│ ├── server.ts # Express + SSE + MCP 入口
│ ├── db.ts # SQLite WAL 数据库
│ ├── backup.ts # 自动备份模块
│ ├── identity.ts # 注册 / 心跳 / RBAC
│ ├── memory.ts # 三级记忆 + FTS5 搜索
│ ├── orchestrator.ts # 依赖链 / Pipeline
│ ├── evolution.ts # 经验共享 / 策略审批
│ └── security.ts # Token / 审计 / CORS
├── client-sdk/
│ ├── hub_client.py # Python SDK(68 方法,零依赖)
│ └── agent-client.ts # TypeScript SDK(35 方法)
├── deploy/ # Docker Compose + 监控
├── tests/ # 288 个测试
└── docs/ # 完整文档📚 文档导航
文档 | 适合谁 |
开发者(HTTP/SSE/MCP 端点 + Bearer 鉴权) | |
搭 Pipeline 高级玩家 | |
进化引擎指南 | 实验性,欢迎 PR(计划从 A 层 |
Hermes 集成指南 | 实验性,欢迎 PR(计划从 A 层 |
运维/稳定性保障 | |
想看清「任务从 A 到 B 全自动流转、哪里卡 HITL」的人 | |
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自动同步。
🆕 更新历史
⚡ 真实宿主执行器(HostExecutor) — 新增
client-sdk/adapters/host-executor.ts,提供LlmHostExecutor/HttpHostExecutor参考实现,defaultHostExecutor()按环境变量自动选择;AbstractHostTaskBridge新增可注入executor字段🔧 消灭 setTimeout 占位 — WorkBuddy / Hermes 桥
runTask()委托this.executor.execute(),任务到达即触发宿主真实能力,自主执行闭环真正打通📝 文档 —
docs/HOST_INTEGRATION.md§4 重写,含 HostExecutor 注入模型与自定义执行器示例
🤖 Feature A:Agent 自主执行闭环 — 新增
AgentRuntime(client-sdk/runtime.ts),自动驱动in_progress → execute() → completed/failed,含 inFlight 去重 / 崩溃恢复 / loopGuard,消灭人工「传话」🔐 Feature B:人在环授权队列 — 新增操作级授权(
auth_requests表 +request_authorization/resolve_authorization工具,deny-by-default,TTL 10min)+ WebAuthQueue面板,敏感操作一键批准/拒绝🧹 清理陈旧产物 — 移除
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 连着即在线、可派单💓 心跳监控不再误杀 SSE 在线 Agent — 仍有 SSE 连接的 Agent 不因心跳陈旧误标离线、不再广播离线通知;SSE 连接建立即同步
agents.status🗂️
audit_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覆盖
🔌 P1-1 SSE 重连竞态 —
registerClient/removeClient增连接级connId校验,旧 socket 的close不再误删当前实时连接,重连后消息/任务不再静默丢失💾 P1-2 并发写
SQLITE_BUSY—busy_timeout=5000+foreign_keys+ WAL 自动检查点,消除并发写静默丢数据🛡️ P1-3 限流绕过 — 认证前置单 IP / 全局限流(防令牌爆破与未认证
/mcp耗尽资源);/mcp增并发在途上限(默认 50)防 DoS🔍 P1-4/5 FTS 值碰撞 —
memories_fts增memory_id精确关联键(启动迁移旧表),内容相同的两条记忆不再互相串台🔐 P2 质量 — 信任分按
target列计吊销(管理员不再误扣);受保护端点仅接受Bearer,移除?token=与x-api-key令牌泄漏面
🏗️ 构建产物固化 —
dist/package.json生成写入build脚本与启动脚本,消除「安装即崩溃」(version.ts启动依赖../package.json)
📝 文档工具数统一为 58 — 与
src/security.ts的TOOL_PERMISSIONS矩阵一致,修正 README/SKILL.md 残留的 56/53📚 新建
docs/API_REFERENCE.md— 准确的 HTTP/SSE/MCP 端点速查(含 Bearer 鉴权与 SSELast-Event-ID断线重连);修正 README 三处死链🏷️ SKILL.md 文件传输工具名更正 —
send_file/receive_file→upload_file/download_file
🔒 修复 ClawScan 审计 67 findings — fail-closed 权限矩阵 + stdio 强制认证
🛡️ IDOR 对象级授权加固 —
assertOwns+HUB_2004防越权访问🧩 版本单一真相源 — 抽离
src/version.ts;/health收敛
📄 同步中英文 README — 对齐 v2.5.1(Node 22 约束锁定 + 测试计数)
🧹 测试卫生 — 修复 unit 测试在仓库根生成
undefined*游离文件
🐛
get_db_stats修复 — ESM 模块误用require("fs")导致require is not defined,改import * as fs🔄 DB 路径容错 —
resolveDbPath新增空库自动回退,修复误连空库导致的记忆库/进化引擎"数据归零"假象🔒 Node 22 锁定 — 启动脚本固定 Node 22,匹配 better-sqlite3 原生模块(Node 24 会 ABI 崩溃)
🧪 防护测试 — 新增 stdio/Hub 必须用 Node 22 的契约测试,防止被误改回 Node 24
🧹 测试卫生 — 修复 unit 测试在仓库根生成
undefined*游离文件(isValidDbPath守卫)
🖥️ Web 管理面板 — 纯静态 HTML 仪表盘,6 个实时页面
🔄 在线状态改进 — 二元标签 → 最后活跃时间,不再跳变
📦 备份模块 — 本地 + 远程 rsync 备份状态展示
⏱️ 持久化运行时间 — 重启不归零
📊 新增 API —
GET /api/agents🔧
.gitignore清理 — 移除已跟踪的编译产物
🔍 FTS5 标签分词修复(空格拼接替代 JSON)
📊 12 处静默吞异常 → logError 全链路可观测
🔐
authed()统一认证中间件重构
🔒 FTS5 索引每次存储后自动校验
🛣️ 支持
HUB_ROOT环境变量📨 新增
generate_invite邀请码工具🧪 新增 19 个测试用例
🤝 参与贡献
🐛 发现 bug → 提 Issue
✨ 有新想法 → Feature Request
📖 改进文档 → PR 欢迎
🔧 贡献代码 → Fork + PR
📄 许可证
MIT — 可自由用于个人和商业项目。
Available Tools
58 toolsaccept_handoffA
接受任务交接。只有被请求的 target Agent 可以调用。接受后任务 assigned_to 转移到当前 Agent。
Inputs: task_id (required).
acknowledge_messageA
标记消息为已处理(acknowledged)。调用此工具后该消息不会再出现在未处理消息列表中。Hermes 处理完 WorkBuddy 发来的消息并回复后,必须调用此工具。
Inputs: agent_id (required), message_id (required).
activate_agentA
激活一个已注册的 Agent(registered/suspended → active)。已激活再激活幂等。
Inputs: agent_id (required).
add_dependencyA
添加任务依赖关系。下游任务必须等上游任务完成后才能开始。自动进行环检测。添加后下游任务自动进入等待状态。
Inputs: upstream_id (required), downstream_id (required), dep_type.
add_quality_gateA
在 Pipeline 中添加质量门。质量门在指定 order_index 之后阻塞后续任务,直到评估通过。criteria 为 JSON 格式的检查规则。
Inputs: criteria (required), gate_name (required), after_order (required), pipeline_id (required).
add_task_to_pipelineA
将任务添加到 Pipeline。指定任务在 Pipeline 中的顺序。不传 order_index 则自动追加到末尾。
Inputs: task_id (required), pipeline_id (required), order_index.
apply_strategyA
采纳一个已审批的策略。记录到策略应用记录中,apply_count 自增。
Inputs: strategy_id (required), context.
approve_strategyA
审批策略(approve/reject)。仅 admin 可调用。审批后通过 SSE 通知提议者。
Inputs: action (required), reason (required), strategy_id (required).
archive_dataA
手动触发数据归档。将指定天数之前的记录从主表移入归档表,以减少主表体积。可归档 messages(默认 30 天前)或 audit_log(默认 90 天前)。仅 admin 可调用。
Inputs: type (required), days, vacuum.
assign_taskC
将任务分配给另一个 Agent。对方收到 task_assigned 事件后会自主开始执行,无需人工确认。
Inputs: to (required), from (required), description (required), context, +1 more.
batch_acknowledge_messagesA
批量确认消息为已处理。可按 agent_id 和时间范围筛选,将匹配的未确认消息全部标记为 acknowledged。用于清理消息积压。
Inputs: agent_id (required), after, limit, before, +2 more.
broadcast_messageA
向多个 Agent 广播消息,适用于任务协调、状态同步、紧急通知。
Inputs: from (required), content (required), agent_ids (required), metadata.
check_consumedA
查询某资源是否已被当前 Agent 处理过。在处理 WorkBuddy 发来的文件或信号前,先调用此工具检查,已处理的直接跳过。
Inputs: agent_id (required), resource (required).
check_veto_windowA
检查策略的否决窗口状态。处于 48h 否决窗口内的策略,如果负面反馈超过正面反馈的 50%,可被 admin 撤回。
Inputs: strategy_id (required).
create_parallel_groupA
将多个任务标记为并行组。同一并行组内的任务可以同时执行,无需等待其他任务完成。适用于无依赖关系的同层任务。
Inputs: task_ids (required).
create_pipelineA
创建一个新的 Pipeline(任务流水线)。Pipeline 是任务的有序容器,可添加质量门进行阶段性质量检查。
Inputs: name (required), description.
deactivate_agentA
挂起一个活跃 Agent(active → suspended)。已挂起再挂起幂等。
Inputs: agent_id (required).
delete_memoryA
删除一条记忆。仅能删除自己的私有记忆(admin 可删除任何记忆)。
Inputs: memory_id (required).
download_fileB
下载附件,返回 Base64 编码的文件内容。
Inputs: attachment_id (required).
evaluate_quality_gateA
评估质量门(通过/失败)。质量门失败时,Pipeline 中阻塞的后续任务自动进入 waiting 状态。
Inputs: status (required), gate_id (required), result.
feedback_strategyB
对策略提供反馈(正面/负面/中性)。每个 Agent 对每个策略只能反馈一次(防刷)。
Inputs: feedback (required), strategy_id (required), applied, comment.
generate_inviteA
生成新 Agent 邀请码。仅 admin 可调用。邀请码默认 24 小时后过期。
Inputs: role, expires_in_hours.
get_db_statsA
获取数据库统计信息。包括各表行数、数据库文件大小、WAL 大小、最后归档时间等。仅 admin 可调用。
Inputs: no named parameters.
get_evolution_statusA
查看 Evolution Engine 进化指标统计。包含经验数、策略数、审批率、贡献者排名等。
Inputs: no named parameters.
get_online_agentsA
查询当前通过 SSE 在线连接的 Agent 列表,分配任务前可先确认对方在线。
Inputs: no named parameters.
get_pipelineA
查询 Pipeline 状态和进度。返回 Pipeline 信息、关联任务列表及各状态统计。
Inputs: pipeline_id (required).
get_task_dependenciesA
查询任务的上下游依赖关系。返回依赖图,包含每个关联任务的状态和依赖类型。
Inputs: task_id (required).
get_task_statusA
查询任务的当前状态、进度和执行结果。
Inputs: task_id (required).
heartbeatA
上报 Agent 心跳,维持在线状态并累积信任分。Agent 上线后应每 30 秒调用一次。超过 90 秒无心跳将自动标记为离线。连续在线心跳每 3 次自动增加 1 点 trust_score(上限 100)。
Inputs: agent_id (required).
list_attachmentsB
列出消息的所有附件列表。
Inputs: message_id (required).
list_memoriesA
列出可访问的记忆列表。按创建时间倒序排列。可按 scope 筛选。
Inputs: limit, scope, offset.
list_pipelinesB
列出所有 Pipeline。支持按状态筛选,按创建时间倒序排列。
Inputs: limit, status.
list_strategiesB
查询策略/经验列表。支持按状态、分类、提议者筛选。
Inputs: limit, status, category, proposer_id.
mark_consumedA
记录 Agent 已处理某个资源(文件路径或信号 ID)。处理完 WorkBuddy 发来的任何文件或信号后必须调用,防止下次重复处理。
Inputs: action (required), agent_id (required), resource (required), notes, +1 more.
pause_pipelineA
暂停一个活跃 Pipeline(active → paused)。已暂停再暂停幂等。
Inputs: pipeline_id (required).
propose_strategyA
提议一个策略。策略需 admin 审批后才能被其他 Agent 搜索和采纳。Hub 会自动判定敏感级别。
Inputs: title (required), content (required), category (required), task_id.
propose_strategy_tieredB
提议策略(分级审批)。Hub 自动判定审批等级:auto(自动通过+72h观察窗口)、peer(同行审批)、admin(管理员审批)、super(高风险,需人工审批)。返回判定等级和审批状态。
Inputs: title (required), content (required), category (required), task_id.
query_agentsB
查询已注册的 Agent 列表。支持按状态、角色筛选。
Inputs: role, status, capability.
recalculate_trust_scoresA
手动触发信任评分重算。基于多因子自动计算:verified capabilities (+3)、approved strategies (+2)、positive feedback (+1)、negative feedback (-2)、rejected applications (-3)、revoked tokens (-10)。不传 agent_id 则重算全部。仅 admin 可调用。
Inputs: agent_id.
recall_memoryA
通过关键词全文搜索召回记忆。搜索范围包括自己的私有记忆、组内共享记忆和全局记忆。使用 FTS5 引擎,支持多关键词、短语搜索。
Inputs: query (required), limit, scope.
register_agentA
注册新 Agent 到 Hub。需要有效的邀请码。注册成功返回 agent_id 和 api_token(仅显示一次)。
Inputs: name (required), invite_code (required), capabilities.
reject_handoffA
拒绝任务交接。只有被请求的 target Agent 可以调用。拒绝后交接请求取消。
Inputs: task_id (required), reason.
remove_dependencyA
删除任务依赖关系。删除后自动检查下游任务是否可以开始执行。
Inputs: upstream_id (required), downstream_id (required).
request_handoffB
请求任务交接。将任务转交给另一个 Agent。目标 Agent 需要调用 accept_handoff 或 reject_handoff。只有负责人或创建者可以发起交接。
Inputs: task_id (required), target_agent_id (required).
resume_pipelineA
恢复一个暂停的 Pipeline(paused → active)。已激活再恢复幂等。
Inputs: pipeline_id (required).
revoke_tokenA
吊销 API Token,使其立即失效。仅 admin 可调用。
Inputs: token_id (required).
score_applied_strategiesA
自动评分已采纳策略:将 7 天前采纳但仍为 neutral 反馈的策略降为 negative。应定期调用。
Inputs: no named parameters.
search_memoriesB
全文搜索记忆内容。使用 FTS5 引擎,支持多关键词、短语搜索。可按可见范围和标签筛选。
Inputs: query (required), tags, limit, scope, +1 more.
search_messagesA
全文搜索消息内容。支持按 Agent ID 筛选。使用 SQL LIKE 模糊匹配(暂无 FTS5 索引)。
Inputs: query (required), limit, agent_id.
search_strategiesA
通过关键词全文搜索策略和经验。仅返回已审批(approved)的策略。
Inputs: query (required), limit, category.
send_messageA
向另一个 Agent 发送即时消息。对方在线时实时送达(<50ms),离线时持久化存储,上线后自动补发。
Inputs: to (required), from (required), content (required), type, +1 more.
set_agent_roleA
设置 Agent 角色(admin/member/group_admin)。group_admin 需指定 managed_group_id,仅能管理该 parallel_group 内成员的任务。仅 admin 可调用。
Inputs: role (required), agent_id (required), managed_group_id.
set_trust_scoreA
调整 Agent 信任分(-100 到 +100 的增量)。信任分影响 collective 记忆搜索排序,高信任 Agent 的记忆排名靠前。仅 admin 可调用。
Inputs: delta (required), agent_id (required).
store_memoryA
存储一条记忆到 Hub。支持 private(仅自己可见)、group(组内可见)、collective(全局可见)三种范围。存储后可通过 recall_memory 全文搜索召回。
Inputs: content (required), tags, scope, title, +1 more.
update_task_statusA
更新任务执行状态,自动实时通知发起方。支持中途汇报进度(in_progress + progress)。
Inputs: status (required), task_id (required), agent_id (required), result, +1 more.
upload_fileB
上传文件附件并关联到消息。文件以 Base64 编码传入,服务端解码后存储到本地磁盘。
Inputs: filename (required), message_id (required), content_base64 (required), mime_type.
veto_strategyA
撤回处于否决窗口内的策略(admin only)。仅在负面反馈超过正面反馈 50% 时可用。
Inputs: reason (required), strategy_id (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 58 tools
Many tools have distinct purposes (e.g., propose_strategy vs share_experience, store_memory vs recall_memory), but there is notable overlap between search_memories and recall_memory (both are FTS5 full-text search), and between get_task_status and update_task_status (one is status query, one is status update but names are close). Also, propose_strategy and propose_strategy_tiered are nearly identical in purpose, differing only in approval process, which could cause confusion despite descriptions clarifying slightly.
Most tool names follow a clear verb_noun pattern (e.g., accept_handoff, get_task_status, create_pipeline, activate_agent). There are minor deviations: 'check_consumed' vs 'mark_consumed' are consistent, but 'get_db_stats' is a bit non-standard (could be 'get_database_stats'), and 'score_applied_strategies' mixes an adjective into the noun phrase. However, the overall consistency is high.
58 tools is far beyond the typical 3-15 range. The server covers a wide domain (agent management, messaging, memory, strategies, tasks, pipelines, attachments, admin), but the count is excessive and likely overwhelms an agent's tool selection. Many tools are variants (e.g., 5 pipeline-related tools) that could be consolidated, but 58 is still a heavy load.
The tool set covers the core lifecycle for all its domains: agent registration/activation/deactivation, messaging with ack processing, memory CRUD and search, strategy proposal/approval/feedback, task assignment/status/dependencies, pipeline creation/management, and file attachments. Minor gaps exist: no direct way to delete a message, no audit log query, and no tool to explicitly list consumed resources (only check_consumed for a specific one), but agents can work around these.
Maintenance
Related MCP Connectors
Messaging network for AI agents: talk to other people's agents over MCP. Free forever.
Free social platform for AI agents — boards with tool-call receipts; MCP server + REST API.
MCP-first toolbox for agents: KV storage, auth, queue, and utility tools. Free in early access.
- aXDeprecatedio.github.ax-platform
Agent-native collaboration network: orchestrate a team of long-running agents from any MCP client.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables deployment of autonomous AI agents with memory and tool execution capabilities through a WebSocket-based MCP protocol. Provides production-ready infrastructure with REST API access, persistent state management, and extensible function registry for building self-hosted AI systems.-
- AlicenseAqualityDmaintenanceProvides per-Subagent MCP controls to any coding agent or client across all your MCPs and prevents context window waste. Loads only 3 tools instead of all your MCP Server's tool definitions. Agents discover tools on-demand, only when needed and only the servers and tools they are allowed.4102 PyPI41MIT
- AlicenseNot gradedqualityBmaintenanceOpen-source MCP server for collaborative AI agents, providing a shared mailbox, identity model, and notification fabric.276 npm3Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to share knowledge, coordinate tasks, and maintain persistent memory across distributed infrastructure with secure vaults and 130+ MCP tools.7MIT