agent-comm-hub

Agent Communication Hub — API 参考(v3.0.19)

本文档描述 Hub 服务端暴露的 HTTP / SSE / MCP 端点与鉴权方式,对应源码 src/server.tssrc/security.tssrc/sse.ts


1. 基础信息

默认监听地址 http://localhost:3100
协议 HTTP + SSE + MCP(StreamableHTTP)
当前版本 3.0.19
MCP 工具数 58
数据库 SQLite(WAL)

2. 认证(Authentication)

所有需要认证的端点通过 Bearer Token 鉴权:

Authorization: Bearer <api_token>

⚠️ 安全建议:Token 不要放在 URL 查询串中(会被访问日志 / 反向代理记录)。REST 与 MCP 一律使用 Authorization: Bearer

中间件分级

中间件 用于端点 规则
authMiddleware /api/tasks/api/messages/api/consumed/admin/invite/generate 必须携带有效 Token(含限流)
internalMonitorAuth /health/health/detailed/metrics loopback(127.0.0.1 / ::1)或有效 Token
requireAdminApi /dashboard/api/status/api/agents/api/audit/tail 有效 Token role === 'admin'
optionalAuthMiddleware /events/:agent_id/mcp 有 Token 则校验,无则匿名(auth 置为 undefined)

3. 端点速查

3.1 健康检查与指标(internalMonitorAuth)

方法 路径 鉴权 说明
GET /health internalMonitorAuth 返回 status / version / uptime / 内存占用(rss、heap)
GET /health/detailed internalMonitorAuth DB 表统计、FTS5 一致性、24h 积压消息数、在线 Agent 列表
GET /metrics internalMonitorAuth Prometheus 格式指标(text/plain; version=0.0.4

loopback 探针或 Prometheus scraper 同源可直接访问;跨机需带有效 Token。

3.2 REST API(authMiddleware,供自动化脚本轮询)

方法 路径 鉴权 说明
GET /api/tasks?agent_id=<id>&status=<s> authMiddleware 列出指定 Agent 的任务;statuspending/in_progress/completed/failed
GET /api/messages?agent_id=<id>&status=<s> authMiddleware 列出消息;statusunread/delivered/read/acknowledged
PATCH /api/tasks/:id/status authMiddleware body:status(in_progress/completed/failed)、resultprogress;成功后 SSE 通知发起方
PATCH /api/messages/:id/status authMiddleware body:statusread/delivered/acknowledged
GET /api/consumed?agent_id=<id>&resource=<r> authMiddleware 查询消费水位线(防重复处理);带 resource 查单条,否则列最近 50 条
POST /admin/invite/generate authMiddleware + admin 生成邀请码(24h 有效),body:role(admin/member);返回 invite_code

3.3 管理端点(requireAdminApi)

方法 路径 鉴权 说明
GET /api/status requireAdminApi 面板总览:Agent / Pipeline 状态分布、近 5 分钟吞吐、FTS5 状态、限流 Top 10
GET /api/agents requireAdminApi 全部 Agent 详情(角色、信任分、最后活跃、在线状态)
GET /api/audit/tail?n=<50> requireAdminApi 审计日志尾部(最多 500 条)

3.4 MCP 端点(StreamableHTTP,Stateless)

方法 路径 鉴权 说明
POST /mcp optionalAuthMiddleware JSON-RPC:tools/calltools/listinitialize
GET /mcp optionalAuthMiddleware 建立 MCP 流(SSE 格式响应)
DELETE /mcp optionalAuthMiddleware 终止 MCP 会话

3.5 SSE 实时推送(optionalAuthMiddleware)

方法 路径 鉴权 说明
GET /events/:agent_id optionalAuthMiddleware 长连接,实时推送新消息 / 任务 / 策略 / 交接等事件

⚠️ 注意区分两种 id:SSE 事件体的 id: 字段是每连接递增整数_hub_event_id,用于客户端去重);而断线重连的 Last-Event-ID 请求头被服务端当作毫秒时间戳处理(用于 listSince 回放)。客户端重连时应记录并回传最近一次事件的毫秒时间戳,而非递增 id

3.6 Web 管理面板(requireAdminApi)

方法 路径 鉴权 说明
GET /dashboard requireAdminApi 纯静态仪表盘(总览 / Agents / 吞吐 / 健康 / 审计日志)
GET / 重定向 /dashboard

4. 统一错误格式


5. CORS 与安全响应头


6. 端点汇总

# 方法 路径 鉴权
1 GET /health internalMonitorAuth
2 GET /health/detailed internalMonitorAuth
3 GET /metrics internalMonitorAuth
4 POST /admin/invite/generate authMiddleware + admin
5 GET /api/tasks authMiddleware
6 GET /api/messages authMiddleware
7 PATCH /api/tasks/:id/status authMiddleware
8 PATCH /api/messages/:id/status authMiddleware
9 GET /api/consumed authMiddleware
10 GET /api/status requireAdminApi
11 GET /api/agents requireAdminApi
12 GET /api/audit/tail requireAdminApi
13 GET /events/:agent_id(SSE) optionalAuthMiddleware
14 POST /mcp optionalAuthMiddleware
15 GET /mcp optionalAuthMiddleware
16 DELETE /mcp optionalAuthMiddleware
17 GET /dashboard requireAdminApi
18 GET / 重定向

共 16 个端点路由,其中 /mcp 含 POST / GET / DELETE 三方法(共 18 个方法级端点)。58 个 MCP 工具均经 /mcp 暴露。