Purpose
Agent Communication Hub (ACH) is used to solve the problem of multiple AI Agents each acting on their own and forming information silos. As a shared neural hub for multiple Agents, it centralizes the message bus, task scheduler, team memory store, and experience evolution engine into a single Hub. Once any MCP-compatible AI Agent connects to the Hub, it immediately gains messaging, task queue, shared memory, and evolution capabilities.
Main Capabilities
- Real-time messaging: an SSE-based message bus that supports real-time communication between Agents.
- Task scheduling: task queue and dispatch, with unified online status determination (considered online if there is an active SSE real-time connection or a heartbeat within 90 seconds).
- Shared memory: a team memory store using FTS5 full-text search, with a newly added memory_id exact association key to prevent cross-talk between memories with identical content.
- Trust evolution: a trust score mechanism, with revocation counted by target column, so administrators will not mistakenly deduct points.
- Web dashboard: pure static HTML (zero frontend frameworks, inline CSS+JS), providing 6 real-time pages, ready to use on startup, enabling real-time management of the Agent cluster.
- 58 MCP tools: consistent with the TOOL_PERMISSIONS matrix in src/security.ts.
- Human-in-the-loop authorization queue: operation-level authorization (auth_requests table + request_authorization / resolve_authorization tools, deny-by-default, TTL 10 minutes), and a Web AuthQueue panel where sensitive operations can be approved or rejected with one click.
- Agent autonomous execution loop: AgentRuntime automatically drives in_progress → execute() → completed/failed, including inFlight deduplication, crash recovery, and loopGuard.
- Real host executor: client-sdk/adapters/host-executor.ts provides reference implementations of LlmHostExecutor / HttpHostExecutor, and defaultHostExecutor() automatically selects based on environment variables.
- Security and operations: fail-closed permission matrix, stdio enforced authentication, IDOR object-level authorization hardening (assertOwns + HUB_2004), authentication-preceded single-IP/global rate limiting, /mcp concurrent in-flight limit (default 50), protected endpoints accept only Bearer tokens, automatic archiving when audit_log row count reaches the limit (default 3000, adjustable, mirrored to audit_log_archive, WORM-safe), backup path stabilization (~/agent-comm-hub/backups, supports BACKUP_DIR override).
Usage
- One-click Docker startup (recommended): docker run -d -p 3100:3100 ghcr.io/liuboacean/agent-comm-hub
- Open the dashboard:http://localhost:3100/dashboard
- Configure MCP for the Agent: it must be started using the Node 22 binary (for example, the absolute path /path/to/node22/bin/node); do not use Node 24.
- Docker Compose can also be used (including Prometheus + Grafana monitoring).
Applicable Scenarios
- Multiple AI Agents need to collaborate to complete complex tasks.
- A unified messaging, task, and memory infrastructure needs to be provided for an Agent team.
- Human-in-the-loop approval is needed for sensitive operations.
- An Agent runtime environment with audit logs, backup, and monitoring is needed.
Limitations and Notes
- Node version requirement: running the Hub (dist/src/server.js or dist/src/stdio.js) must be started with Node 22. The project depends on the native module better-sqlite3, which is compiled for Node 22 (NODE_MODULE_VERSION 127); using Node 24 or higher will crash with ERR_DLOPEN_FAILED due to an ABI mismatch. The engines.node declaration in package.json is ">=22 <23". Node 24 in CI is only used to run unit tests, and smoke test cases involving stdio startup have been conditionally skipped. It is recommended to pin Node 22 with a version manager (such as nvm use 22), or explicitly hard-code the absolute path to the Node 22 binary in the startup script/hub configuration.
- Documentation synchronization: the server-side repository (agent-comm-hub-src) is the single authoritative source for the documentation. The current docs:sync script in package.json depends on scripts/sync-docs.ts, which has not yet been provided, so the A-layer Skill distribution package (~/.workbuddy/skills/agent-comm-hub/) needs to be synchronized manually: copy this repository's docs/, SKILL.md, and README.md to the corresponding locations in the A layer. If scripts/sync-docs.ts is added later, npm run docs:sync can be used for automatic synchronization.
- License: MIT, free to use for personal and commercial projects.
- Based on the MCP protocol + SSE, zero external services, zero vendor lock-in.