Herdr:给编程 Agent 当"牧场"的后台终端运行时

AI
开源
编程Agent
终端
Rust
2026/10/19
·

阅读时间: 大约 14 分钟

Herdr:给编程 Agent 当”牧场”的后台终端运行时

Herdr 多 Agent 面板官方示意:三个工作区、四个 Agent,无人值守时各自继续运行

当一个人同时挂着 Claude Code、Codex、OpenCode 好几个编程 Agent 并行干活时,新的瓶颈不再是”写代码”,而是”人盯不过来”:哪个 Agent 在跑、哪个卡住等人点头、哪个早就跑完没人看,需要逐个窗格翻。Herdr 自称 “the runtime your coding agents live on”,用一个后台常驻的 Rust 服务托管这些 Agent 的真实终端,让你合上笔记本、断开 SSH 之后它们继续跑,回来时再从任意机器接管。本文基于 Herdr 官网、GitHub 仓库与官方更新日志做一手核对。

一、背景动机:多 Agent 并行之后,缺的是”状态感知”

传统终端复用器(tmux、screen)解决了”断开连接进程不死”的问题,但不解决”哪个 Agent 需要我”。每个编程 Agent CLI 都有自己的交互形态:等待审批时弹出选择框、工作时转圈、跑完后安静停在提示符。人同时开四五个窗格时,只能挨个点进去看。

Herdr 的思路是不重新造 Agent、不包装 Agent,而是守在它们的终端外层:官方明确表述为 “it doesn’t wrap or replace them; it owns their terminals”(不包装、不替换,只接管它们的终端)。你原本怎么跑 Claude Code、Codex,现在还怎么跑,变化只是这些终端住进了 Herdr 的后台服务里。官网横幅同时显示团队已融资 600 万美元(“We raised $6M. We’re hiring”),属于商业化推进中的开源项目。

二、是什么:后台 Server + 附加 Client 的终端工作区管理器

Herdr 的概念模型来自官方文档 Concepts,分四层:

  • Workspace(工作区):顶层项目容器,一个仓库或一个任务对应一个;
  • Tab(标签):工作区内的一套布局,可分出 agents、logs、server、review 等视图;
  • Pane(窗格):一个真实终端,Herdr 渲染输出、把输入送回进程,并在客户端脱离后保留窗格;
  • Agent:Herdr 在窗格里识别出的进程。

架构上是”一个后台 server + 一个或多个附加 client”:server 持有窗格与进程状态,client 只是附着到 server 的终端 UI。ctrl+b q 脱离 client 后 server 与所有 Agent 继续运行,再次执行 herdr 即可重连;彻底结束会话需要显式执行 herdr server stop。这一点和 tmux 的 server/session 模型高度相似,Herdr 也可以直接跑在 tmux 内部,二者不是互斥关系。

Herdr 真实界面:左侧工作区与 Agent 状态列表,右侧窗格内是正在工作的 Claude Code

三、技术机制:真实 PTY + 屏幕启发式状态识别

终端层:每个窗格都是一个真实终端,通过 PTY(伪终端)嵌入并做 vt100 解析,你的 shell、Vim、htop、SSH 在里面原样运行。官方强调是”一个 Rust 二进制,无 Electron”,跑在你已有的终端模拟器(Ghostty、Alacritty、Kitty、WezTerm 等)里。

状态检测:Herdr 为每个 Agent 标注五种状态(官方文档原文):

状态官方含义
blockedAgent 需要输入、批准或决策
workingAgent 正在活跃运行
doneAgent 已完成,但你还没看过
idleAgent 已结束或等待,且已被你看到
unknownHerdr 无法有把握地分类

检测方式是识别窗格 PTY 的前台进程名,再读取屏幕文本、套用每个 Agent 各自的输出模式(提示框、转圈、等待输入文案、工具执行指示)做启发式匹配,不需要 Agent 侧装 hook。官方同时说明:状态在每个窗格独立的异步任务上轮询,与终端渲染解耦;多客户端场景下,“已读/done”徽标按各自客户端跟踪,CLI/API 用的是 server 侧 seen 状态,二者不必一致。

Agent-native 接口:CLI 与 socket API 是同一套暴露面,Agent 自己可以拆窗格、启动彼此、互相发提示,并等待另一个 Agent 真正 blocked 之后再行动,而不是盲目发按键碰运气。仓库内置了供 Agent 调用的 skill(skills/herdr)。

多机接入:本机之外的机器通过 SSH 加入,命令形如 herdr machine add workbox,远程工作区与 Agent 列表和本机并列展示、各自独立重连,断开连接后远程 Agent 继续工作。

四、关键数据(以官方页面抓取时为准)

官网首页的统计是实时计数器,两次抓取数值已不同,以下为抓取时约数,非固定快照:

指标官网抓取时约值来源
GitHub stars约 4.4 万(首页一次抓取为 43,994,另一次为 44,649;GitHub 仓库页快照约 44.7k)herdr.dev/ GitHub
累计安装量约 165 万(两次抓取分别为 1,522,863 与 1,648,557)herdr.dev 实时计数器
社区插件约 1,700–1,800(两次抓取 1,718 / 1,789)herdr.dev 实时计数器
开箱识别的 Agent CLI22 个herdr.dev 实时计数器
GitHub forks约 3.6k;开放 issue 371;提交 1,865GitHub 仓库页
协议Apache-2.0;语言 Rust;最新正式版 v0.9.5(2026-10-14,为 v0.9.4 的热修复)Releases
融资官方横幅称已募 600 万美元herdr.dev

官方列出的可直接运行的 Agent 包括 Claude Code、Codex、Cursor、opencode、Grok、Copilot、Pi、Hermes 等;安装方式含 curl -fsSL https://herdr.dev/install.sh | sh、brew install herdr、mise use -g herdr,Windows 为 irm https://herdr.dev/install.ps1 | iex(官方标注 endpoint-protected Windows)。

五、评测方法与口径偏差:官方自己承认的边界

这一节是核对重点,避免把营销话术当能力承诺:

  1. “重启恢复会话”不等于进程永生。README 原文明确:机器或 server 重启后,Herdr 恢复保存的布局,并”can resume supported agent sessions”,但 the original processes do not survive(原始进程并不存活)。也就是说,持久化的是布局与受支持 Agent 的可恢复状态,不是 tmux 那种进程级永生;不被支持的 Agent 重启后只是回到空窗格。
  2. Herdr Cloud 尚未发布。官网 “Herdr Cloud coming soon”、“Same machines. No SSH setup. We’re building it next” 表明免 SSH 的云端托管还在排队,当前多机只能靠 SSH 接入。
  3. 状态识别是启发式,存在 unknown。官方专门列出 unknown 状态;非内置 Agent 只能享受工作区/窗格管理,状态精度依赖屏幕模式匹配,Agent CLI 更新输出格式后可能误判。
  4. star 与安装数是实时营销计数。两次抓取相差上千 star、十几万安装,计数器受传播事件影响大,且安装量不等于活跃用户,不能直接折算成采用率。
  5. Windows 仍属加固/补强状态:Windows 安装走 endpoint-protected 通道;v0.9.4 更新日志里 Windows ARM64 远程主机仅以 x64 构建”best-effort”支持,且大量修复项集中在 Windows 输入与非 ASCII 用户名场景,说明 Windows 成熟度落后于 macOS/Linux。
  6. v0.9.4 变更日志还承认:早期版本里关闭启动 Herdr 的 shell 会连带杀掉 server,该问题在 Linux/macOS 上才被改掉;会话保存采用”先写磁盘再替换旧文件”以防崩溃损坏存档,也侧面说明会话持久化曾出过数据完整性质修。

六、适用与不适用场景

适合:

  • 同时并行 3 个以上 Agent、需要一眼看清谁在等批准的个人开发者与小团队;
  • 习惯终端工作流、不想引入 Electron 重桌面应用的用户;
  • 已有一台常驻服务器或多台机器、想统一 SSH 接管 Agent 的场景;
  • 想让 Agent 通过 socket API 彼此协作、编排窗格的高级用户。

不适合:

  • 只跑一个 Agent、本地即时编写的用户——tmux 或直接开终端已足够;
  • 需要严格进程永生、重启后任务原样继续执行(而非回到可恢复状态)的生产托管;
  • 依赖 Windows ARM64 原生运行或期待免配置云托管的用户(当前均未成熟)。

七、客观分析:优势与局限

优势:

  1. 不劫持现有工具链:不包装、不替换任何 Agent CLI,兼容性边界清晰,迁移成本低;
  2. 真正的增量是”状态感知”:把 blocked/working/done/idle 变成侧边栏一眼可读的信号,这是 tmux 没做的层;
  3. Rust 单二进制、无 Electron:资源占用低,可在已有终端内运行,也能被 Agent 自身通过 CLI/socket 驱动;
  4. 生态起步快:官网称近 1800 个社区插件、22 个开箱 Agent 识别,Apache-2.0 协议允许商用改造。

局限:

  1. 持久化口径偏软:重启后原始进程不存活,“leave them running”主要覆盖断线/合盖,不覆盖掉电重启;
  2. 状态检测依赖屏幕文本:CLI 升级改界面就可能失准,unknown 状态无法自动消除;
  3. 多机能力目前绑定 SSH:免 SSH 的云服务仍是预告;
  4. 平台成熟度不均:Windows 与 ARM64 支持明显晚于 macOS/Linux;
  5. 数字口径偏营销:star/安装计数器随时间波动,官方未提供独立可复核的活跃用户数据。

八、它意味着什么 / 谁该关注

Herdr 代表的趋势是:Agent 数量上来之后,“终端”本身正在从人的编辑器变成 Agent 的托管操作系统。它没有去做一个新的 Agent,也没有做一个新的 IDE,而是把 Agent 共用的运行、持久化、状态可见、多机接管抽成一层薄 runtime。对重度使用多 Agent 并行的开发者、需要把 Agent 放到常驻机器上跑的小团队,值得用一台机器先试跑观察其 blocked 识别准确率;对追求绝对进程可靠性或跨云托管的团队,则应等 Herdr Cloud 与更成熟的恢复语义落地后再评估。

参考来源