herdr
更新于 2026-10-21 14:10:25
一句话
herdr 是给 coding agent 用的"运行时"——你可以把它理解成认识 agent 的 tmux:一个 Rust 单二进制,管住 Claude Code / Codex / Cursor / OpenCode / Grok 这些 CLI agent 的终端,断开不中断、多机一窗、谁卡住了它告诉你。
- 仓库:https://github.com/herdrdev/herdr | 官网:https://herdr.dev
- 规模:45.1k star / 3.6k fork,Apache-2.0,当前 v0.9.5(2026-10-14)
- 技术栈:Rust 单二进制,没有 Electron,跑在你已有的终端里
- 三个月前才发布、三个月涨到 4.5 万星,属于这波 agent 工具里窜得最快的那批
它解决的其实是很具体的三件事
1. 关掉终端 = 任务白跑
跑一个 Claude Code 改 20 个文件,改到一半要断 SSH、要关笔记本、要下班。传统做法是 tmux / zellij,但你得先记得开会话、起名字、回来 attach,而且它不知道你在跑 agent。
herdr 的做法:终端跑在后台 server 里,客户端只是"窗口"。关客户端、SSH 掉线,进程照跑;重开 herdr 直接接回来(ctrl+b q 断开,再敲 herdr 重连,前缀键是 tmux 那套,肌肉记忆能直接迁移)。
要说清楚一点:机器/服务重启后它恢复的是保存的布局和"支持 resume 的 agent 会话",原始进程活不过来——README 自己写得很明白,别指望它做进程级的永生。
2. 你不知道哪个 agent 卡住了
同时开 6 个 pane 跑 6 个 agent,真实体验是:5 个在跑,1 个在等你回答一个问题,而你在刷别的窗口。
herdr 给每个 pane 打状态:working / blocked / idle。有 agent 停下来需要你回答时,它在总览里点名。这一条听着朴素,但它是"从 1 个 agent 到 6 个 agent"能不能撑住的分水岭。
3. 本地 + 远程机器割裂
笔记本上跑两个、家里的 4090 机器上跑三个、公司跳板机后面还有两个。以前是三个终端窗口 + 三套 tmux + 三份记忆。
herdr 把本地工作和保存好的 SSH 机器放在同一个窗口里,agent 列表合并显示,各机器独立重连——一台掉线不影响其他的。
agent 自己也能用它
这是 herdr 和其他"多 agent 面板"最不一样的地方:它把自己做成了一个agent 可调用的运行时。
通过 CLI 和 socket API,一个 agent 可以:
- 开新 pane、起另一个 agent
- 给另一个 agent 发 prompt
- 等到对方真的变成 blocked 状态再继续
说白了,你可以写一个"主管 agent"派活给"工人 agent",而调度这件事不用自己造轮子。官网有专门的 add herdr support 文档,第三方 agent 想接入有标准入口。
生态已经自己长出来了
判断一个基础设施型项目是不是真被用起来,我一般不看 star,看别人有没有围着它造东西。herdr 这边已经有一圈:
| 第三方项目 | 干什么 |
|---|---|
penso/herdr-gpui(1.6k★) |
Rust + GPUI 写的原生客户端(macOS/Linux/Windows) |
AltanS/collie(1.4k★) |
手机端自托管 PWA,用手机驱动 Claude Code / Codex,带推送 |
devswha/herdr-web-ui(1.3k★) |
浏览器/手机客户端,SSH 连远程机,web push |
persiyanov/herdr-reviewr(918★) |
在终端 pane 里审 agent 的 diff,评论回传 |
eliasstravik/herdr-projects(843★) |
"任务控制台":一块板子上跑几十个 agent,各自一条分支,第二个 agent 审第一个 |
plannotator/herdr-annotate(683★) |
终端里标注文本/文档,反馈直接回给 agent |
再加上官方插件市场(herdr.dev/plugins),这套东西已经不是一个人的玩具了。
上手
# 一条命令
curl -fsSL https://herdr.dev/install.sh | sh
# 或者
brew install herdr
mise use -g herdr
# Windows
powershell -ExecutionPolicy Bypass -c "irm https://herdr.dev/install.ps1 | iex"
然后在干活的地方敲:
herdr
就跟你平时一样跑 agent,需要时 split pane,人走开就 ctrl+b q。
自己编译也就三步:
git clone https://github.com/herdrdev/herdr && cd herdr
cargo build --release
just check # 格式化 + 测试 + 维护检查
和 tmux 到底差在哪
| tmux / zellij | herdr | |
|---|---|---|
| 保住终端进程 | ✅ | ✅ |
| 知道 pane 里跑的是 agent,状态是 working/blocked/idle | ❌ | ✅ |
| 重启后恢复布局 + resume 支持的 agent 会话 | 只能靠插件/脚本凑 | ✅ 内建 |
| 本地 + 多台 SSH 机器统一管理 | 要自己套一层 | ✅ 内建 |
| agent 之间互相派活、等对方阻塞 | ❌ | ✅ CLI + socket API |
| 鼠标点击/拖拽/分割 | 需要配置 | ✅ 键盘和鼠标都是一等公民 |
所以它替代的不是 tmux 的功能,而是"用 tmux 硬凑 agent 工作流"这件事。
边界和冷水
- 还是 0.x(v0.9.5)。配置格式、socket API、插件接口都还可能变,生产上依赖它要留一层心理准备。
- "恢复会话"不是"恢复进程"。机器重启后原进程没了,只是布局回来了、支持 resume 的 agent 能接上下文。别把它当持久化任务队列用。
- Windows 有坑。官方专门给"endpoint-protected Windows"写了 beta 文档——企业管控环境装不上是常见问题。
- 4.5 万星 ≠ 4.5 万人在生产用。这个增速在 2026 年的 agent 工具圈属于"发个视频就涨一万"的水平,真实留存还得看半年后。
- 学习成本在"概念"而非"命令":pane / workspace / 远端机器 / 会话状态这一套要先想明白,否则会变成"开了 12 个 pane 更乱"。
适合谁
- ✅ 已经在用 Claude Code / Codex 跑长任务、被"断线重来"折磨过的人
- ✅ 手上不止一台机器(本地 + GPU 机 + 跳板机)的开发
- ✅ tmux 老用户,想要 agent 感知的那一层
- ✅ 在给 agent 做调度/编排产品的人:它的 socket API 和 add-support 文档可以直接抄思路
- ❌ 只用网页版 ChatGPT 的:这套跟你没关系
- ❌ 需要一个稳定 API 的团队:等 1.0
一句话总结
herdr 把 tmux 那套"进程活着"升级成了"agent 活着":断线不断任务、多机一个窗口、谁卡住了一目了然,还能让 agent 互相派活。Rust 单二进制、无 Electron、Apache-2.0,是这个品类里最"基础设施"味道的一个。
想要图形界面 + 平行 worktree + 手机上看进度,可以顺手看看同批收录的 Orca(stablyai/orca)——同赛道,取向相反:一个终端原生,一个桌面工作台。