herdr 是一个面向 AI 编程 Agent 的终端 multiplexer。你可以把它理解成“为 Agent 重新设计的 tmux”:每个 Agent 都运行在真实终端里,herdr 负责把它们放进 workspace、tab 和 pane,并在侧边栏显示每个 Agent 当前是 blocked、working、done 还是 idle。
如果你现在同时用 Claude Code、Codex、OpenCode、Devin、Cursor Agent 或其他 CLI Agent,很容易遇到一个问题:每个工具都能跑,但多开以后没人帮你管理状态。哪个在等你输入,哪个还在跑,哪个已经完成,哪个终端断开后还能不能回来,都要靠自己记。herdr 解决的就是这个“多 Agent 终端调度”问题。
herdr 是什么
官方一句话描述是:agent multiplexer that lives in your terminal。
它不是 Electron GUI,也不是把终端重新画进一个应用窗口。herdr 是一个本地 Rust 二进制程序,运行在你已有的终端里。每个 Agent 都拿到自己的真实终端,所以全屏 TUI、交互式 prompt、鼠标、Unicode 和复杂输出更容易正常工作。
它的几个关键词是:
- single Rust binary;
- real terminal per agent;
- workspace、tab、pane;
- agent state detection;
- detach / reattach;
- SSH remote;
- local socket API;
- no account、no telemetry。
从仓库数据看,项目主语言是 Rust,默认分支是 master,官网是 herdr.dev,最新 release 为 v0.7.1。
它解决什么问题
传统 tmux 很强,但它不知道 pane 里跑的是不是 AI Agent,也不知道这个 Agent 是否在等待用户确认。GUI Agent 管理器能显示状态,但通常是独立应用、平台限制更多,且不一定保留原生终端体验。
herdr 的定位刚好在中间:
- 像 tmux 一样,session 可以保持,断开后可以回来;
- 像 GUI 管理器一样,可以看到 Agent 状态;
- 仍然住在终端里,可以通过 SSH 在服务器上跑;
- 不强制你换掉 Claude Code、Codex 或其他 Agent;
- 还提供 socket API,让 Agent 反过来控制 herdr。
这对多 Agent 工作流很关键。比如你可以让 Codex 查一个 bug,让 Claude Code 改一个模块,让 OpenCode 跑另一个分支,然后在同一个 herdr 侧边栏里看谁卡住、谁结束、谁还在工作。
主要功能
每个 Agent 一个真实终端
herdr 不模拟终端,而是给每个 Agent 一个真实 pane。全屏 TUI、交互式输入、多行 paste、颜色和宽字符显示这类细节,理论上比“GUI 里嵌一个终端视图”更稳。
Agent 状态一眼看清
侧边栏会把 Agent 汇总成几个状态:
- blocked;
- working;
- done;
- idle。
官方 README 说检测默认通过 process-name matching 加 terminal-output heuristics 完成,不需要每个 Agent 都写 hook。部分官方 integration 可以提供更原生的 session restore 和 semantic state。
workspace、tab、pane
你可以按仓库、项目或任务拆 workspace,再用 tab 和 pane 放不同 Agent。herdr 支持鼠标点击、拖拽和切分 pane,也支持键盘快捷键。
detach 后任务继续跑
herdr 有后台 server。你 detach 之后,pane 和 Agent 继续存在;重新运行 herdr 就能 reattach。它也适合放到服务器上,通过 SSH 回来继续看任务。
remote 模式
普通 ssh + tmux 在某些现代终端能力上会吃亏,比如图片 paste 或更复杂的终端能力传递。herdr 提供 --remote,让本地终端作为远端 herdr server 的 client。
示例:
|
|
如果你经常在远程开发机上跑 Agent,这是 herdr 很实用的一块。
Socket API 和可脚本化
herdr 提供 local Unix socket API。Agent 可以通过它创建 workspace、切分 pane、启动 helper、读取输出、订阅状态变化,而不是一直轮询屏幕。
官方还提供可复用 skill:
|
|
这意味着 herdr 不只是“人用的 multiplexer”,也可以成为 Agent 工作流的一部分。
安装方法
官方推荐安装脚本:
|
|
Windows preview beta:
|
|
也可以用这些方式:
|
|
或者直接从 GitHub releases 下载 Linux/macOS 稳定二进制。根据 v0.7.1 release,官方提供了这些资产:
herdr-linux-aarch64;herdr-linux-x86_64;herdr-macos-aarch64;herdr-macos-x86_64。
如果是通过安装脚本安装,可以用:
|
|
Homebrew、mise、Nix 安装的版本则用对应包管理器更新。
快速上手
启动 herdr:
|
|
它会启动或连接后台 server,并打开一个 workspace。之后你可以在 pane 里启动 Agent,例如:
|
|
herdr 默认使用 ctrl+b 作为 prefix。也就是先按 ctrl+b,松开,再按动作键。
常用快捷键:
| 操作 | 快捷键 |
|---|---|
| 新建 workspace | ctrl+b 然后 shift+n |
| 垂直或水平切分 pane | ctrl+b 然后 v 或 minus |
| 新建 tab | ctrl+b 然后 c |
| 切换 workspace | ctrl+b 然后 w |
| detach | ctrl+b 然后 q |
| 查看所有快捷键 | ctrl+b 然后 ? |
detach 之后 Agent 仍会继续运行。重新执行:
|
|
就可以回到原来的 session。
支持哪些 Agent
README 里列出的支持范围很广,包括:
- pi;
- Claude Code;
- Codex;
- Droid;
- Amp;
- OpenCode;
- Grok CLI;
- Hermes Agent;
- Kilo Code CLI;
- Devin CLI;
- Cursor Agent;
- Antigravity CLI;
- Kimi Code CLI;
- GitHub Copilot CLI;
- Qoder CLI;
- Kiro CLI。
另外,Gemini CLI 和 Cline 被标注为 detected but not fully tested。
这不代表其他 Agent 不能跑。只要它是终端程序,herdr 仍然可以把它作为普通 pane 管理;只是没有专门状态识别或原生 session integration 时,blocked / working / done 的准确度可能会下降。
官方 integration 可以这样安装:
|
|
README 提到可用 integration 包括 pi、omp、claude、codex、copilot、devin、droid、kimi、opencode、kilo、hermes、qodercli 和 cursor。
和 tmux、GUI 管理器怎么选
如果你只是长期在服务器上跑 shell,tmux 仍然非常稳。它成熟、轻、生态足够多。
如果你只用一个 Agent,也不需要状态总览,herdr 的价值不一定明显。
herdr 更适合这些情况:
- 一次开多个 Agent;
- 想知道谁在等输入、谁已经完成;
- 希望 detach 后任务继续跑;
- 要通过 SSH 从另一台机器或手机回来查看;
- 不想用 GUI wrapper;
- 想让 Agent 通过 socket API 编排终端环境。
GUI Agent 管理器适合偏桌面化、偏产品化的工作流。herdr 则更像给终端党和远程开发环境准备的工具。
从源码构建
开发构建命令很直接:
|
|
测试和检查:
|
|
项目是 Rust 为主,也包含网站和文档相关代码。普通用户不一定需要源码构建,直接用安装脚本或 release binary 会更省事。
v0.7.1 有哪些值得注意的更新
最新 release v0.7.1 发布于 2026-06-24。更新比较多,挑几个和日常使用相关的点:
- 增加
[update].version_check和[update].manifest_check,可以分别关闭后台版本检查和远端 Agent detection manifest 检查; - 增加
HERDR_AGENT=<agent>,用于 Linux 上被 wrapper、VM、Bubblewrap 或fence隐藏时提示真实 Agent; - 增加
ui.pane_borders和ui.pane_gaps,可配置 pane 分隔线和间距; - Agents panel 移除 workspace/all filter,默认显示所有 Agent;
- 用户 keybinding 覆盖默认绑定时,不再让两个动作挂在同一个键上;
- 修复 Windows Terminal 多行 paste、ConPTY、CJK 分支名截断、远程握手延迟等问题。
这些更新说明 herdr 还在快速迭代,尤其 Windows 和多 Agent lifecycle 相关的边角正在补齐。
许可要注意
herdr 是双许可:
- 开源:GNU Affero General Public License v3.0 or later,也就是 AGPL-3.0-or-later;
- 商业:不能满足 AGPL 要求的组织,可以联系作者获取商业许可。
如果只是个人使用或内部试用,通常不用想太多。但如果公司要把 herdr 集成进自己的产品、服务或托管平台,AGPL 就需要认真看,尤其是网络服务和修改分发相关义务。
使用建议
我会把 herdr 放在“多 Agent 并行工作台”这个位置,而不是把它当普通终端美化工具。
比较自然的使用方式是:
- 一个 repo 开一个 workspace;
- 不同任务开不同 pane;
- 每个 pane 里跑一个 Agent;
- 用 sidebar 看状态;
- 长任务用 detach/reattach 保持;
- 远程开发机用
herdr --remote; - 等工作流稳定后,再安装官方 integration 或尝试 socket API。
如果你已经在 tmux 里多开 Codex、Claude Code、OpenCode,herdr 的吸引力会很直接:它保留了终端里的自由度,又补上了 Agent 状态这一层。等于少了一点“我刚才那个 Agent 跑到哪里了”的认知负担,这在一天开十几个任务的时候很实在。