Harness Everything Routing Orchestrator

从任何浏览器,驱动你机器上的编码会话

HERO 是你本地 Claude Code 与 Codex 会话之上的一层 Web 控制台。列出会话、发一条消息并看着回复流式返回、批准或拒绝工具权限请求——包括在手机上。

它是官方 CLI 的薄封装,不是另一个 agent:CLI 照常干活,HERO 补上界面、远程访问和会话管理。

它解决什么

启动长任务,然后走开

跑一次大重构或全量测试,离开键盘。在手机上看它流式推进,追加一句话,遇到权限提示就地批准。

跨项目、跨 CLI 的一块面板

多个项目、Claude Code 与 Codex 两套 CLI,并排列在同一个面板里——不用再去翻 claude --resume 或 codex resume。

从一个主聊天路由工作

默认是几条斜杠命令;开启可选的 LLM agent 后,可以直接说人话:「在 auth 那个会话里跑测试,告诉我哪些挂了」。

会话内的一个终端

每个会话可以开一个 tmux shell,起始目录就是该会话的工作目录。

两种用法,边界不一样

这两条线的数据边界不同,我们把它写清楚,而不是含糊过去。

自行部署

跑在你自己的机器上

核心面板没有 HERO 账号、没有云、没有中继。会话、转录和 CLI 进程都留在你的机器上。要从别的设备访问,就在同一台机器上跑一条你自己的隧道(Tailscale 或 Cloudflare Tunnel),HERO 依旧监听 127.0.0.1。

你显式接入的外部服务除外:可选的 LLM agent、Telegram / 飞书、Web Push、隧道——它们会把该功能所需的数据发给对应服务方。

托管控制面

由我们运营的独立实例

我们为每个客户开一台独立的控制面实例,配一个独立子域名和 HTTPS 证书。隔离边界是实例级的——不是共享数据库里的一行租户 ID。你的节点从自己的机器出站连上来。

控制面由我们运营和维护,因此经它中转的会话元数据与转录内容位于我们运营的那台实例上。介意这一点的团队应当选自行部署。

它怎么工作

  1. 01

    只读发现

    HERO 监听 ~/.claude/projects/ 与 ~/.codex/sessions/,列出每一个会话——包括你在终端或 IDE 里起的那些,并标注是哪个 CLI 产生的。它从不接管会话。

  2. 02

    驱动官方 CLI

    发送走的是每个活跃会话一个长驻的 claude -p stream-json 进程,以及每个 Codex 根会话一个 codex app-server worker。会话日志始终是内容来源。

  3. 03

    权限流经原生通道

    权限请求走 Claude 的 can_use_tool 回调与 Codex app-server 的审批请求。请求会一直阻塞,直到你在界面上做出决定。

先自己跑一遍

自行部署是免费的,装完就能用。需要多机、多人和一块统一的控制面时,再来看托管套餐。