用 Hermes + pi + Reasonix 搭建 7×24 多智能体开发流水线(含随时远程查看方案)
用 Hermes + pi + Reasonix 搭建 7×24 多智能体开发流水线(含随时远程查看方案)
Section titled “用 Hermes + pi + Reasonix 搭建 7×24 多智能体开发流水线(含随时远程查看方案)”本文整理自一次实际的方案调研:让三个 AI 编码智能体在 VPS 上长期协作——Hermes 负责总体调度,pi 负责拆解任务、写提示词、监督执行效果,Reasonix 负责具体开发执行,不达标就迭代。以及一个大家都会遇到的问题:怎么随时随地像看远程桌面一样,看到这三个终端的实时界面?
一、这套思路可行吗?——可行,且工具天生匹配
Section titled “一、这套思路可行吗?——可行,且工具天生匹配”先明确三个工具的定位(均为真实开源项目,Star 数为撰写时数据):
| 工具 | 定位 | 可被调度的模式 |
|---|---|---|
| Hermes(NousResearch/hermes-agent,★23 万) | 自进化 Agent:TUI + 消息网关(Telegram/Discord/Slack/WhatsApp/Signal/Email)+ 内置 cron 调度 + 子代理 + SSH/Docker 终端后端 | hermes gateway 常驻进程,支持 cron 定时任务、子代理、shell 操作远端 |
| pi(pi-coding-agent) | 编码 Agent(TUI 为主),本文的“拆任务 + 监督者” | pi -p "任务" 一次性打印模式、管道 stdin、--system-prompt、-c 续会话 |
| Reasonix(esengine/DeepSeek-Reasonix,★3.5 万) | DeepSeek 原生编码 Agent,前缀缓存友好 | reasonix run "任务" 一次性执行、流式输出 stdout,官方定位就是“适合管道” |
关键前提:pi 和 Reasonix 都支持非交互式 one-shot 模式,这是 Hermes 能调度它们的根本。落地架构如下:
Hermes(常驻网关 + cron 调度) └─ 下发任务 → pi -p "拆解任务,写 reasonix 的 prompt + 验收标准" └─ 执行:reasonix run "按照 prompt 开发 XX"(退出码 + stdout) └─ 验收:pi -p "检查 git diff / 跑测试 / 看结果,判定是否达标" ├─ 达标 → 记录归档,通知你 └─ 不达标 → pi 生成整改 prompt → 再次 reasonix run(限最大迭代次数)四个必须提前处理的坑
Section titled “四个必须提前处理的坑”- “达标判定”必须可执行化,不能靠读文本。pi 判“不达标”时如果只是读 Reasonix 的输出文字,会陷入瞎循环。正确做法:pi 先写好验收脚本(跑测试、lint、检查 git diff、curl 验证),用
exit code判定,把“改哪里”精确到文件/函数级别写回 prompt。 - 成本与上下文:每轮迭代都是重跑一个 agent,token 消耗叠加。Reasonix 本来就是 DeepSeek 原生,成本低,但仍要设最大迭代轮数(如 3 轮)+ 每轮开始前
git commit打 checkpoint,防止改坏回不去。 - 并发写冲突:pi 和 Reasonix 不要同时操作同一工作目录。用
git worktree分目录,或干脆串行。 - 长期跑选 VPS 而不是家里电脑:这些都是调云端 API 的客户端(无需 GPU),VPS 选 2C4G 就够。家里电脑 24h 挂机有断电、断网、睡眠、公网暴露一堆问题。VPS 上用 systemd 守护 + 自动重启,比 tmux 裸跑稳。另注意:Hermes 原生没有飞书(官方支持 Telegram/Discord/Slack/WhatsApp/Signal/Email),飞书接入走的是社区桥,升级 Hermes 可能断,要有心理准备。
二、怎么随时登录查看执行情况?
Section titled “二、怎么随时登录查看执行情况?”核心思路一句话:飞书当“控制面 + 通知面”,别拿它当“观看面”。飞书看不到流式输出是正常的,它本来就不该干这个。要找回命令行那种直观体验,把终端搬到任何设备上即可:
- 方案 A:tmux + SSH(体验 100% 等同 iTerm2)——VPS 上每个 agent 一个命名会话,
tmux attach -t hermes随时回到现场;手机装 Termius / Blink(iOS)/ JuiceSSH(Android)SSH 进去就是实时流式输出。配 Tailscale 组网,SSH 只监听内网,不暴露公网端口。 - 方案 B:ttyd 浏览器即终端——
ttyd -p 7681 tmux attach -t hermes,任何设备开浏览器就是真实终端,还能输入。 - 方案 C:Agent 面板(AionUi / Paseo 等,见第四节)。
- 方案 D:飞书只做通知 + 控制——Hermes 内置 cron 每小时/每天推送进度摘要,任务完成/失败/超限时告警;
tmux pipe-pane -o 'cat >> ~/logs/reasonix.log'落盘日志,翻历史用tail -f或 grep;在飞书里发短指令控制(暂停/查状态/重启)。
三、在 VPS 上部署三个 agent,用 Web 方式“像远程桌面”一样看
Section titled “三、在 VPS 上部署三个 agent,用 Web 方式“像远程桌面”一样看”如果你在 VPS 上开了 3 个终端界面跑 Hermes / pi / Reasonix,最贴近“远程桌面看多窗口”的 Web 方案是 tmux 分屏 + ttyd——一个网页里同时看到 3 个终端的实时界面,还能输入,断网重连不影响 agent 继续跑(agent 在 tmux 里,浏览器只是“窗户”)。
方案 A:tmux 3 窗格 + ttyd(最推荐)
Section titled “方案 A:tmux 3 窗格 + ttyd(最推荐)”# VPS 上安装apt install -y tmux ttyd # 或 brew install ttyd(macOS)
# 建一个 session,铺 3 个窗格,分别跑三个 agenttmux new -s agents -dtmux send-keys -t agents 'hermes' Enter # 左上tmux split-window -h # 右上tmux send-keys -t agents 'pi' Entertmux split-window -v -p 50 # 右下tmux send-keys -t agents 'reasonix' Entertmux select-layout tiled # 自动均分tmux attach -t agents # 本机也随时能 attach
# 用一个端口把整个 session 暴露成网页(-W 可写、-c 加密码)ttyd -p 7681 -W -c admin:你的密码 tmux attach -t agents浏览器打开 http://VPS_IP:7681 → 一个页面 = 3 个 agent 实时输出,和 iTerm2 一样流式,手机浏览器也能看。进阶玩法:用 nginx 写个聚合页,把 3 个 ttyd(各 attach 一个 session)iframe 进来,就是真正的“3 窗口桌面”。
安全(必做):ttyd 暴露公网等于裸奔,两个做法二选一——
# ① 只走 Tailscale 私有网(推荐):装好后访问 http://<tailscale-ip>:7681curl -fsSL https://tailscale.com/install.sh | sh && tailscale up
# ② 或至少加 basic auth(上面命令里的 -c admin:密码 已包含)方案 B:code-server(浏览器里的 VS Code + 多个终端 tab)
Section titled “方案 B:code-server(浏览器里的 VS Code + 多个终端 tab)”想要 IDE 式体验、多个终端标签页、还能看文件 diff:
curl -fsSL https://code-server.dev/install.sh | shcode-server --bind-addr 0.0.0.0:8443 --auth password浏览器打开就是完整 VS Code,`Ctrl+`` 开 N 个终端 tab,每个 tab 跑一个 agent。缺点是比 ttyd 重,agent 进程仍建议放 tmux 里保活。
方案 C:Apache Guacamole(真·HTML5 远程桌面门户)
Section titled “方案 C:Apache Guacamole(真·HTML5 远程桌面门户)”要字面意义的“远程桌面门户”——一个浏览器页面里多个 SSH/RDP/VNC 连接、标签页切换、连接分组、双因素认证。docker-compose 起 guacamole + guacd + postgres,浏览器打开添加 3 个 SSH 连接(每个连接可指定启动命令如 tmux attach -t agents)。企业级方案,重但最“像远程桌面”。
方案 D:tmate(零客户端临时查看)
Section titled “方案 D:tmate(零客户端临时查看)”装 tmate,tmate show-messages 拿到 web URL,浏览器打开即可(默认走 tmate.io 中继,可自托管)。适合临时瞄一眼或分享给别人看。
不推荐:xrdp / VNC 真图形桌面
Section titled “不推荐:xrdp / VNC 真图形桌面”除非你需要 GUI 应用,否则没必要——桌面会话断连容易出问题,而 tmux + ttyd 方案天然“进程与观看端解耦”,更适合 7×24 跑 agent。
四、Agent 管理面板横向对比(AionUi 之外的选择)
Section titled “四、Agent 管理面板横向对比(AionUi 之外的选择)”如果你不想自己搭终端方案,也有现成的面板产品(Star 数为撰写时数据):
| 产品 | Star | 覆盖 Hermes/pi/reasonix | 形态 | 定位 |
|---|---|---|---|---|
| Paseo(getpaseo/paseo) | ★1.4 万 | ✅ pi(一级支持)、✅ Hermes(ACP 协议 hermes acp);❌ reasonix |
自托管 daemon + iOS/Android/桌面/Web/CLI 五端 | 多 agent 并行编排,手机随时派活/查看,语音控制 |
| AionUi | ★3.2 万 | ✅ Hermes/OpenClaw/Claude Code/Codex 等 20+;❌ pi/reasonix | Web 面板 | 24/7 cowork,多 agent 状态总览 |
| Codex Mate | ★334 | ✅ pi、OpenClaw、Claude Code、Codex、Gemini CLI、OpenCode 等;❌ Hermes/reasonix | 本地优先 CLI + Web UI | 统一会话浏览器 + OpenAI/Claude 兼容桥 |
| ccboard | ★91 | ⚠️ 以 Claude Code 为中心 | Rust 单二进制 TUI + Web | 深度监控:会话、成本、MCP、配置、审计 |
诚实提醒:Reasonix 目前没有任何面板支持——它太新、太垂直,既没有 ACP 模式也没进任何 catalog。别指望面板管它。现实架构是混合:面板管 Hermes + pi 的调度和状态,Reasonix 用 tmux + tmux pipe-pane 落日志 + 手机 SSH/ttyd 看实时输出,飞书只收通知。这比把希望全押在一个面板上稳得多。
五、最终推荐组合
Section titled “五、最终推荐组合”VPS(2C4G) + systemd 守护 Hermes gateway(自动重启,7×24 不依赖任何终端会话) + tmux 一个 session 三个 pane 跑 pi/reasonix 监督循环 + Tailscale 组网 + 平时:手机 Termius 或浏览器 ttyd 随时 attach 看实时输出(你要的 iTerm2 体验) + 异步:Hermes cron 把日报/失败告警推飞书,飞书里发指令控制一句话总结:把“看现场”这件事从 IM 挪到 tmux/ttyd,IM 退化为通知和控制通道;把“达标判定”从读文本变成跑脚本;把进程交给 tmux/systemd 保活。这套组合拳下来,家里、地铁上、出差中都能随时盯住你的智能体流水线。