hcom
让编码 AI 代理跨终端互发消息、互相观察、互相派生,协调多代理流水线。
安全模型文档化程度高:PSK 以 0600 存储于 ~/.hcom/config.toml、远程 RPC 拒绝读取 relay_psk/token、仅显示密钥指纹;但首次运行即写入 hooks 到用户配置目录且未见显式确认流程,auto_approve 可自动放行 hcom 命令,relay 节点为全信任(可远程启动/终止代理,等同 shell),故 least_privilege、user_confirmation、external_effects 均扣分。
README、Cargo.toml、pyproject 三处版本与许可一致,CI 使用 --locked 并含真实工具测试矩阵;但依赖 vt100 被 patch 到个人 fork 的未发布 rev(上游 issue 仍开放),属供应链与可用性风险,dependency_availability 与 self_consistency 因此未给满分。
支持的代理工具、终端模拟器、操作系统覆盖面广,HCOM_DIR 支持按项目隔离;relay 安全模型的边界(无前向保密、无按设备权限、仅限单一信任域)写得非常清楚,capability_boundaries 得 3 分;但触发精度(hook 注入、碰撞检测窗口 30 秒)仅有描述性说明,未见参数化证据。
README 结构化程度高(安装、快速上手、安全模型、故障排除、卸载、CLI/配置参考、构建),已知限制章节罕见地详尽,MIT 许可三处一致;但仓库内未见 CHANGELOG 文件,仅靠 releases 徽章,维护者信息仅 'aannoo',未验证身份,故 versioning_changelog 与 maintenance_responsibility 各扣 1 分。
单一 Rust 二进制、无后台服务、代理端提示词仅约 700 token,成本控制有据可查;输出可用性有 TUI 面板、hcom status 诊断、hcom reset 回归手段支持;但相对直接使用各 CLI 自带的多会话能力,边际价值主要在跨工具互通,证据只能证明声明而非实效。
多数声明可对应到具体命令、配置键或 CI 步骤(如 real-tool-tests 矩阵、typecheck、dist-check),四份清单文件互相印证;但 CI 徽章与测试通过状态无法静态验证,安全声明(加密、防重放)未附代码级证据路径,fact_inference_separation 未给满分。
- relay 加入令牌等同所有已注册设备的完全控制权(可远程启动/杀代理、发送消息),且不可吊销、无过期——泄露后只能整体弃用旧 relay 并重建。
- 首次运行会在用户配置目录安装 hooks;不使用时虽声称无副作用,但使用前应审查 hook 内容并保留 hcom hooks remove / hcom reset all 的回退路径。
- vt100 依赖来自个人 fork 的固定 rev 而非已发布版本,上游问题仍开放,存在供应链与回归风险。
- auto_approve 开启后 hcom 命令将不再逐次确认;公网 broker 上的 relay 元数据(主题名、时序)对外部观察者可见。
这个 Agent 能做什么,适合哪些场景?
hcom 是一个 CLI 工具,用于让多个编码代理(Claude Code、Codex、OpenCode、Kilo Code、Pi、Oh My Pi、Antigravity、Cursor CLI、Kimi、Gemini、Copilot CLI)跨终端互发消息、观察和派生彼此。它通过 hooks 把代理活动记录到本地 SQLite 数据库,并从中投递消息,消息在代理回合中间注入或唤醒空闲代理。每个代理拥有可查询的身份,包括名称、状态、收件箱、实时终端屏幕、转录和事件日志。单个 Rust 二进制,无后台服务;还提供 TUI 仪表盘、MQTT 跨设备中继和工作流脚本(debate、confess 等)。MIT 许可,支持 macOS、Linux、Termux、WSL 和 Windows。
运行 hcom claude、hcom codex 等在任意终端模拟器中启动代理,hooks 首次运行时写入 ~/(或 HCOM_DIR)下的配置目录。活动(文件编辑、工具调用)写入 SQLite,其他代理实时收到消息(回合中注入或唤醒空闲代理)。支持 hcom send -b @luna -- hey 定向发送、hcom spawn/hcom f 派生或 fork 代理、hcom term 查看注入 PTY 屏幕、hcom events --wait 事件订阅。默认开启碰撞检测:两个代理 30 秒内编辑同一文件会互相通知。hcom relay new / connect 通过 MQTT 中继跨机器连接代理,使用 XChaCha20-Poly1305 加密。内置 hcom run debate 等工作流脚本,~/.hcom/scripts/ 可自定义。未带 hooks 的工具可通过 hcom start 手动加入。
- 多 CLI 代理团队使用者:让 Claude Code 审查 Codex 的工作并发送修复
- 流水线协调者:派生 3 个 OpenCode 代理分工,收集结果
- 远程开发者:用 MQTT relay 把家用机和笔记本上的代理组成一个信任域
- 调试场景:让代理 fork 自己调查 bug 并回报
- 自动化运维:订阅
when codex goes idle之类事件,自动派发下一个任务
这个 Agent 有哪些优点和局限?
- 工具无关:同一套消息机制连接 11 种编码代理,任意组合,不改变使用习惯
- 单 Rust 二进制、无后台服务,hooks 不用时无副作用
- 透明可审计:消息经本地 SQLite,代理有实时终端屏幕和事件日志可查询
- 跨设备 MQTT 中继端到端加密,文档详细说明安全模型与限制
- hooks 写入用户主目录配置,首次运行即修改本地环境
- relay 令牌无过期、无吊销机制,泄露即等同 shell 访问,密钥轮换需重建 relay
- 消息依赖各工具 hooks,不支持的 AI 工具需通过
hcom listen/hcom start手动接入 - 无前向保密:PSK 泄露可解密历史捕获流量;无每设备权限分级
如何安装或部署这个 Agent?
推荐:brew install aannoo/hcom/hcom。Python:uv tool install hcom 或 pip install hcom。macOS/Linux/Termux/WSL:curl -fsSL https://github.com/aannoo/hcom/releases/latest/download/hcom-installer.sh | sh。Windows:irm https://github.com/aannoo/hcom/releases/latest/download/hcom-installer.ps1 | iex。源码构建需 Rust 1.88+:git clone https://github.com/aannoo/hcom.git && cd hcom && cargo build。升级:hcom update。
如何使用这个 Agent?
终端 1:hcom claude;终端 2:hcom codex;然后正常提示,例如 review what claude did and send it fixes 或 spawn 3x opencode, split work, collect results。运行 hcom 打开 TUI 仪表盘。跨设备:hcom relay new 获取 token,在每台设备上 hcom relay connect <token>。配置在 ~/.hcom/config.toml,可用 hcom config <key> <value> 或 HCOM_DIR 做项目隔离。卸载前先 hcom hooks remove。
这个 Agent 与同类方案有什么区别?
与直接在单个代理内使用子代理(如 Claude Code 的 task tool)相比,hcom 让任意代理 CLI 互为子代理并跨终端协作,且不绑定单一厂商。
常见问题
成本如何?
它如何访问我的代理?
~/ 下配置目录的 hooks 记录活动并投递消息;hcom reset all 可清除数据库、hooks 和配置。relay 令牌泄露怎么办?
hcom relay off --all 请求所有设备关闭中继;PSK 不可吊销,需用 hcom relay new 重建中继并迁移设备。支持哪些终端模拟器?
hcom kill 关闭面板。如何隔离项目状态?
HCOM_DIR="$PWD/.hcom" 将状态和 hooks 限制在项目目录内。