HARNESS EVERYTHING ROUTING ORCHESTRATOR
产品
HERO 由三块组成:跑在每台机器上的节点、把它们收拢起来的控制面,以及桌面与 Android 客户端。
01
节点:单机面板
一个静态 Go 二进制,默认监听 127.0.0.1:7777。它监听两个 CLI 的会话目录,把会话渲染成对话,并驱动官方 CLI 完成发送、恢复、中断与审批。前端是纯 JS,没有构建步骤、没有 npm。
- 只读发现:终端里起的会话照样出现,HERO 不接管
- Markdown 与原始两种渲染,方便直接复制
- 权限提示在界面上批准或拒绝,支持整会话自动批准
- 每个会话一个 tmux 终端,起始目录即该会话的工作目录
- 以 PWA 形式安装到手机桌面
02
控制面:把多台机器收拢成一支队伍
节点从自己的机器出站拨号连上控制面,一条连接上多路复用地承载 RPC 与事件流。控制面提供统一的会话视图、用户与权限、审计日志,以及集中下发的 harness 配置。
- 节点清单与在线状态,跨节点的会话检索
- 用户、节点归属与共享授权,管理员与普通用户分离
- 审计日志:谁在什么时候对哪个节点做了什么
- harness 配置集中下发,节点各自按周期拉取,签名校验后生效
- 备份、恢复与换密钥的运维手册
03
客户端:桌面与 Android
用 Compose Multiplatform 写的原生客户端,是控制面 v1 API 的纯客户端。登录、看节点、开会话、看流式输出、发消息。
- 一套界面适配桌面与手机两种形态
- Ctrl/Cmd+K 全队伍会话快速跳转
- token 用量热力图
- 应用内更新
明确不做的事
这几条是产品边界,不是还没排期:
- 不浏览你的机器。HERO 渲染 CLI 已经写下的对话,不提供文件读取、目录列举、diff 或任意按键注入的接口。唯一的窄例外是每会话一个 tmux shell。
- 不做通用的多 harness 平台。HERO 只封装 Claude Code 和 Codex 两个 CLI,每一个都是逐项对接的,没有第三个的计划。
- 不接管你的会话。发现始终是只读和观察性的;HERO 驱动官方 CLI,而不是用自己的 agent 循环替换它们。
- 不管理 harness CLI 的版本。HERO 检测已安装的 claude/codex 版本并在漂移时告警,但从不替你安装、升级或锁定它们。