{"id":51342732,"url":"https://github.com/liuboacean/agent-comm-hub","last_synced_at":"2026-07-02T09:03:59.133Z","repository":{"id":352761067,"uuid":"1213239766","full_name":"liuboacean/agent-comm-hub","owner":"liuboacean","description":"Multi-agent real-time communication \u0026 task scheduling infrastructure based on MCP + SSE","archived":false,"fork":false,"pushed_at":"2026-06-09T02:47:48.000Z","size":603,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-06-09T03:21:04.842Z","etag":null,"topics":["agent","communication","evolution-engine","infrastructure","mcp","memory-sharing","multi-agent","rbac","real-time","skill","sse","task-orchestration"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/liuboacean.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-17T07:16:53.000Z","updated_at":"2026-06-09T02:47:51.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/liuboacean/agent-comm-hub","commit_stats":null,"previous_names":["liuboacean/agent-comm-hub"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/liuboacean/agent-comm-hub","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liuboacean%2Fagent-comm-hub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liuboacean%2Fagent-comm-hub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liuboacean%2Fagent-comm-hub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liuboacean%2Fagent-comm-hub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/liuboacean","download_url":"https://codeload.github.com/liuboacean/agent-comm-hub/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liuboacean%2Fagent-comm-hub/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35040025,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-02T02:00:06.368Z","response_time":173,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","communication","evolution-engine","infrastructure","mcp","memory-sharing","multi-agent","rbac","real-time","skill","sse","task-orchestration"],"created_at":"2026-07-02T09:03:58.990Z","updated_at":"2026-07-02T09:03:59.117Z","avatar_url":"https://github.com/liuboacean.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Node.js-18+-green?logo=node.js\" alt=\"Node.js 18+\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Python-3.9+-blue?logo=python\" alt=\"Python 3.9+\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/MCP_Protocol-1.0-orange?logo=robot\" alt=\"MCP Protocol\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/DB_Split_Protection-v3-green?logo=shield\" alt=\"三层防护\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/License-MIT-yellow\" alt=\"MIT License\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/TypeScript-SDK-blue?logo=typescript\" alt=\"TypeScript SDK\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Python_SDK-Zero_Dependencies-brightgreen?logo=python\" alt=\"Zero Dependencies\"\u003e\n  \u003ca href=\"https://glama.ai/mcp/servers/liuboacean/agent-comm-hub\"\u003e\u003cimg src=\"https://glama.ai/mcp/servers/liuboacean/agent-comm-hub/badges/score.svg\" alt=\"Glama score\"\u003e\u003c/a\u003e\n  \u003ca href=\"demo/index.html\"\u003e\u003cimg src=\"https://img.shields.io/badge/Live_Demo-7f77dd?logo=github\" alt=\"Live Demo\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eAgent Communication Hub\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  生产级\u003cstrong\u003e多智能体通信基础设施\u003c/strong\u003e——实时消息、任务调度、共享记忆、信任进化\u003cbr\u003e\n  基于 MCP + SSE 协议，53 个工具，零外部依赖\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#readme\"\u003e中文\u003c/a\u003e | \u003ca href=\"docs/README_EN.md\"\u003eEnglish\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## 它能解决什么问题？\n\n多个 AI Agent（Claude Code、OpenClaw、WorkBuddy 等）天然是信息孤岛：\n\n- 无法**互相通信**（需要脆弱的 webhook 或共享数据库）\n- 无法**跨 Agent 调度任务**\n- 无法**共享上下文**（超出单次 prompt）\n- 无法**共同进化**（基于团队经验）\n\n**Agent Communication Hub** 为每个 MCP 兼容的 Agent 提供共享神经中枢——消息总线、任务队列、记忆层和进化引擎，让 Agent 协同工作，而非各自为战。\n\n---\n\n## 三步上手\n\n```bash\n# 1. 启动 Hub\ndocker run -d -p 3100:3100 --name ach liuboacean/agent-comm-hub\n\n# 2. 注册 Agent\npython3 -c \"from hub_client import SynergyHubClient; print(SynergyHubClient('http://localhost:3100').register('YOUR_INVITE_CODE'))\"\n\n# 3. 发消息\npython3 -c \"from hub_client import SynergyHubClient; c=SynergyHubClient('http://localhost:3100'); c.set_token('YOUR_TOKEN'); c.send_message(to='other-agent', content='Hello!')\"\n```\n\n零配置文件，零外部服务，本地即用。\n\n---\n\n## 核心特性\n\n| 类别 | 工具数 | 说明 |\n|------|:-----:|------|\n| 身份认证 | 6 | 注册、心跳、RBAC 角色权限、信任评分 |\n| 消息通信 | 5 | P2P / 广播、FTS5 全文搜索、去重 |\n| 任务调度 | 8 | 7 状态机、Pipeline、并行组、自动重试 |\n| 共享记忆 | 5 | private / team / collective 三级作用域 |\n| 编排协调 | 11 | 依赖链（DFS 环检测）、质检门、交接协议 |\n| 进化引擎 | 12 | 经验共享、4 级策略审批、信任反馈闭环 |\n| 安全审计 | 6 | Token 认证、4 级 RBAC、审计哈希链、CORS 白名单 |\n| 文件传输 | 3 | 上传 / 下载 / 列表，Base64 10MB 限制 |\n| 高可用防护 | 3 | DB 分裂自动检测 + 合并 + 看门狗自愈 |\n\n**56 个 MCP 工具** · SQLite WAL（零消息丢失） · SSE 推送延迟 \u003c 50ms\n\n---\n\n## 最近更新\n\n### v2.4.6 (2026-06-09)\n- 🔒 **P0-1**: FTS5 索引守护 — 每次存储记忆后自动校验索引完整性，消除双进程竞态\n- 🛣️ **P0-2**: 数据库路径外部化 — 支持 `HUB_ROOT` 环境变量，适配任意部署环境\n- 📨 **P0-4**: 新增 `generate_invite` MCP 工具 — 安全生成注册邀请码（SHA-256 + 24h 过期）\n- 🧪 **P0-3**: 测试覆盖率提升 — 新增 identity(9) + evolution(10) 共 19 个测试用例\n\n### v2.4.7 (2026-06-09)\n- 🔍 **P1-1**: FTS5 tags 分词修复 — 空格拼接替代 JSON，版本号/hash 可正确搜索\n- 📊 **P1-2**: 12 处静默吞异常修复 — 全链路 logError，信任分/DB统计/SSE 可观测\n- 🔐 **P1-3**: authed() 统一认证中间件 — 52 个 handler 重构，零 requireAuth 残留\n\n### v2.4.7+ (2026-06-09)\n- 🧹 **P2-3**: SSE 僵尸连接清理 — 5分钟检测周期，10分钟心跳超时自动移除\n- 🩺 **P2-5**: `/health/detailed` 端点 — 在线Agent/FTS5状态/消息队列深度\n- 📦 **P2-4**: 依赖升级 — vitest 4.1.8 / tsx 4.22.4\n- ✨ **P2-1**: 类型安全改善 — 8 处 `as any` → CountRow/MemoryRow\n- 💾 **P2-2**: 离线记忆缓存 — FTS5 命中不足时回退最近 N 天 collective/group 记忆\n\n---\n\n## 架构\n\n```\n┌──────────────┐          ┌──────────────────────────┐          ┌──────────────┐\n│   Agent A     │   SSE    │    Agent Communication    │   SSE    │   Agent B    │\n│  (Claude Code)│◄────────►│         Hub v2.4           │◄────────►│ (WorkBuddy)  │\n│              │  MCP     │       localhost:3100       │  MCP     │              │\n└──────────────┘◄─────────►│                          │◄─────────►└──────────────┘\n                          │  ┌────────────────────┐  │\n                          │  │ Identity / RBAC     │  │\n                          │  │ Message / Broadcast │  │\n                          │  │ Task Scheduler      │  │\n                          │  │ Memory (3 scopes)   │  │\n                          │  │ Evolution Engine    │  │\n                          │  │ Orchestrator        │  │\n                          │  └──────────┬───────────┘  │\n                          └─────────────┼──────────────┘\n                                        │\n                                   SQLite (WAL)\n```\n\n任何 MCP 兼容的 Agent 都可以连接：Claude Code、OpenClaw、WorkBuddy、自定义 Agent 等。\n\n---\n\n## SDK 示例\n\n### Python（零依赖）\n\n```python\nfrom hub_client import SynergyHubClient\n\nhub = SynergyHubClient(hub_url=\"http://localhost:3100\", agent_id=\"my-agent\")\nhub.set_token(\"your-api-token\")\n\n# 发消息\nhub.send_message(to=\"other-agent\", content=\"任务完成，交接。\")\n\n# 存储共享记忆\nhub.store_memory(content=\"用户偏好 JSON 响应\", scope=\"collective\")\n\n# 创建任务\ntask = hub.create_task(title=\"评审 PR #42\", assignee=\"claude-code\", priority=2)\n\n# 共享经验\nhub.share_experience(title=\"DB 锁超时修复方案\", content=\"...\", category=\"debug\")\n\n# 实时监听\nhub.on_message = lambda msg: print(f\"收到: {msg}\")\nhub.connect_sse()  # 阻塞式 SSE 长连接\n```\n\n### TypeScript（零外部依赖）\n\n```typescript\nimport { AgentClient } from \"./client-sdk/agent-client.js\";\n\nconst client = new AgentClient({\n  agentId: \"my-agent\",\n  hubUrl: \"http://localhost:3100\",\n  token: \"your-api-token\",\n  onMessage: async (msg) =\u003e { /* 处理 */ },\n  onTaskAssigned: async (task) =\u003e { /* 处理 */ },\n});\n\nawait client.start();\nawait client.sendMessage({ to: \"other-agent\", content: \"完成！\" });\n```\n\n---\n\n## 部署\n\n### Docker（推荐）\n\n```bash\ndocker run -d -p 3100:3100 --name ach liuboacean/agent-comm-hub\n```\n\n### Docker Compose（含 Prometheus + Grafana）\n\n```bash\ncd deploy \u0026\u0026 docker compose up -d\n# Hub:       http://localhost:3100\n# Grafana:   http://localhost:3000 (admin/admin)\n# Prometheus: http://localhost:9090\n```\n\n### 源码安装\n\n```bash\ngit clone https://github.com/liuboacean/agent-comm-hub.git\ncd agent-comm-hub\nnpm install \u0026\u0026 npm run build\n\n# 方式 A — 快速启动（开发）\nnpm start\n\n# 方式 B — 生产启动（推荐，含 DB 一致性检测 + 看门狗自愈）\nbash scripts/start_hub_server.sh\n```\n\n### 作为 Skill 安装\n\n```bash\n# ClawHub\nclawhub install liuboacean/agent-comm-hub\n\n# SkillHub（30+ 平台）\nnpx skills add liuboacean/agent-comm-hub\n```\n\n---\n\n## MCP 配置\n\n启动 Hub 后，将其添加到 Agent 的 MCP 配置中：\n\n### 方式一：stdio（推荐）\n\n\u003e 注意：显示设置 `DB_PATH` 环境变量可防止 Node 版本切换导致的多 DB 分裂问题\n\n```json\n{\n  \"mcpServers\": {\n    \"agent-comm-hub\": {\n      \"command\": \"node\",\n      \"args\": [\"\u003chub-install-path\u003e/dist/src/stdio.js\"],\n      \"env\": {\n        \"HUB_AUTH_TOKEN\": \"your-connection-key\",\n        \"DB_PATH\": \"/path/to/comm_hub.db\"\n      }\n    }\n  }\n}\n```\n\n### 方式二：HTTP + SSE\n\n```json\n{\n  \"mcpServers\": {\n    \"agent-comm-hub\": {\n      \"url\": \"http://localhost:3100/mcp\"\n    }\n  }\n}\n```\n\n配置完成后，Agent 的 LLM 可以直接通过自然语言调用全部 53 个工具。\n\n---\n\n## 安全\n\n| 特性 | 说明 |\n|------|------|\n| **RBAC** | 4 级：public → member → group_admin → admin |\n| **Token 认证** | SHA-256 哈希存储，原始 token 不落库 |\n| **审计哈希链** | `prev_hash → record_hash`，DB 触发器保证完整性 |\n| **信任评分** | 自动计算，影响策略审批等级 |\n| **CORS** | 白名单制，默认拒绝 |\n| **安全头** | X-Frame-Options、CSP、HSTS、X-XSS-Protection |\n| **请求追踪** | 每个请求附带 traceId + 响应头 |\n\n---\n\n## 项目结构\n\n```\nagent-comm-hub/\n├── src/                         # Hub 服务端源码（TypeScript）\n│   ├── server.ts                # Express + SSE + MCP 入口\n│   ├── stdio.ts                 # stdio MCP 传输入口\n│   ├── db.ts                    # SQLite WAL Schema + 查询\n│   ├── identity.ts              # 注册、心跳、RBAC\n│   ├── memory.ts                # 三级作用域记忆 + FTS5\n│   ├── task.ts                  # 7 状态任务调度器\n│   ├── orchestrator.ts          # 依赖链、Pipeline\n│   ├── evolution.ts             # 策略引擎、信任评分\n│   └── security.ts              # 认证、Token、RBAC、审计\n├── client-sdk/\n│   ├── hub_client.py            # Python SDK（零依赖，68 方法）\n│   ├── agent-client.ts          # TypeScript SDK（35 公共方法）\n│   └── package.json             # npm 发布配置\n├── deploy/\n│   ├── docker-compose.yml       # Prometheus + Grafana 可观测性\n│   └── prometheus.yml           # 指标采集配置\n├── docs/\n│   ├── API_REFERENCE.md         # 53 工具完整参考\n│   ├── advanced-orchestration-guide.md\n│   ├── evolution-engine-guide.md\n│   └── hermes-integration-guide.md\n├── scripts/\n│   ├── install.sh                  # Hub 服务安装脚本\n│   ├── test-e2e.sh                 # 端到端测试套件\n│   ├── start_hub_server.sh         # 生产启动脚本（含 DB 一致性检测）\n│   ├── check_db_consistency.sh     # DB 分裂检测 + 自动合并（启动 / 看门狗共用）\n│   └── cron_db_watchdog.sh         # 每 10 分钟 DB 健康看门狗\n└── tests/                       # 集成 + 单元测试\n```\n\n---\n\n## 文档\n\n| 文档 | 适用场景 |\n|------|---------|\n| [API 参考](docs/API_REFERENCE.md) | 全部 56 个工具签名 + 示例 |\n| [编排指南](docs/advanced-orchestration-guide.md) | Pipeline、并行组、质检门 |\n| [进化引擎](docs/evolution-engine-guide.md) | 信任评分、策略审批流程 |\n| [Hermes 集成](docs/hermes-integration-guide.md) | Hermes Agent 分步接入 |\n| [三层防护](docs/hub-db-split-three-layer-protection.md) | DB 分裂检测、合并、看门狗自愈 |\n| [English README](docs/README_EN.md) | 英文版 |\n\n---\n\n## 许可证\n\nMIT — 可自由用于个人和商业项目。\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cem\u003e基于 MCP 协议 + SSE。零外部服务。零厂商锁定。\u003c/em\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliuboacean%2Fagent-comm-hub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliuboacean%2Fagent-comm-hub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliuboacean%2Fagent-comm-hub/lists"}