GitHub 3 万 Star,AI Agent 也有了自己的 tmux

同时开四五个 Agent,总在窗口间来回切?我试了专为 Agent 做的终端复用器 herdr,鼠标点点就能分屏,还能一眼看出哪个 Agent 在等我处理。

艾康2026-08-231,854 字 · 5 分钟效率工具Claude Code

不知道大家有没有这种体验。

开了两个 Claude Code,一个在写功能,一个在改 bug。旁边还挂着一个 Codex 做 review,再加一个终端跑测试服务器。

四五个窗口来回 cmd+tab,切到眼花。

更麻烦的是,你根本不知道哪个 Agent 在等你操作。

于是工作状态慢慢变成了这样:在几个终端窗口之间来回切换,挨个确认进度,然后再切回正在处理的任务。

有人推荐 tmux,tmux 确实是终端复用比较成熟的解决方案。

但如果只是想把几个 Agent 管理起来,前缀键、窗口操作、配置和插件还是有一些门槛。为了少切几个窗口,先背一套快捷键,多少有点劝退 🤣

今天介绍一个新工具,叫 herdr。

专门为 Agent 打造的一个终端复用器。

herdr 已有 3.1 万 Star

herdr 是什么?

herdr 官方给自己的定义是:Coding Agent 运行其上的 Runtime。

herdr 官方的中文功能介绍

herdr 并不是一个新的 Coding Agent,也不会替代你的 Claude Code、Codex、Cursor 或 Pi。

这些工具还是照常运行,只是它们所在的终端,交给 herdr 来管理。

它的结构并不复杂:Workspace 对应一个项目,Workspace 里可以创建多个 Tab,每个 Tab 里又可以切分出多个 Pane。

Claude Code 或 Codex 运行在 Pane 里以后,herdr 会自动识别出这个 Agent。

这个项目推出的时间并不算长。截至 2026 年 8 月,GitHub 上已经超过 3 万 Star,作者也在 8 月宣布加入 Y Combinator F 26。

而且 herdr 本身依然免费、开源,采用 Apache 2.0 协议。

GitHub 地址在这里:https://github.com/herdrdev/herdr

实际安装和使用都很简单

herdr 支持 macOS、Linux 和 Windows。

比如我用的是 macOS,就可以直接通过 Homebrew 安装:

brew install herdr

也可以使用官方提供的安装脚本:

curl -fsSL https://herdr.dev/install.sh | sh

安装完成以后,进入项目目录,运行:

herdr

在终端里输入 herdr 启动

然后在右侧的终端 Pane 里,像平时一样输入 claude、codex 或 opencode 就可以了。

它没有要求我改变原来的 Agent,也没有额外套上一层新的工作流。

实际界面也很直观,herdr 的布局逻辑是三层:Workspace → Tab → Pane。

左侧上半部分是 Workspace,可以用来区分不同项目;

左侧下半部分是 Agent 列表和状态;

右侧则是正常的终端区域,可以创建 Tab,也可以把一个窗口横向或纵向切分。

herdr 界面三块分区标注

鼠标原生,上手几乎零门槛

这是我个人非常喜欢的一点,herdr 把鼠标当成了「一等公民」。

这是我觉得 herdr 和 tmux 最大的体验差异。

在 tmux 里,分屏要按 ctrl+b %,切换 pane 要 ctrl+b o,调整大小要 ctrl+b 加方向键。

鼠标默认是不管用的。虽然可以通过配置开启,但体验上总是差点意思。

而 herdr 则是把鼠标作为默认交互方式。

点击可以切换 Workspace、Tab 和 Pane,拖动边框可以调整分屏大小,右键菜单可以新建 Tab 或切分窗口,直接框选文字就能复制。

这些操作当然也能通过快捷键完成。herdr 默认使用 Ctrl+B 进入前缀模式,熟悉 tmux 的朋友上手会很快。

但对于不想一开始就记快捷键的人,鼠标基本已经覆盖了日常需要的操作。

Agent 状态实时感知

窗口管理解决的是「东西放在哪里」,但同时运行多个 Agent 时,更麻烦的问题其实是「谁正在等我」。

目前支持 20 多种主流 Agent 的自动检测:Claude Code、Codex、Pi、Hermes、Gemini CLI、Cursor Agent、Devin CLI、OpenCode。

基本上你叫得上名字的,它都能识别。

herdr 会识别 Pane 里运行的 Agent,并在左侧显示它当前的状态:

  • • working🟡:还在执行任务

  • • blocked🔴:需要输入、授权或做决定

  • • done🟢:已经完成,但还没有查看

  • • idle:任务结束或正在等待,而且已经看过

Agent 列表显示四种状态

比如我同时开着几个任务时,就不需要挨个点进去确认进度。

看到 working 可以先放着;看到 blocked,说明它正在等我处理;变成 done,再切进去检查结果。

这也是我觉得它比普通分屏工具更适合 Coding Agent 的原因。

它管理的不只是终端布局,还会把不同项目、不同 Agent 的工作状态集中到同一个界面里。项目一多,这种差别会很明显。

不过,这块也需要说清楚:状态识别并不是百分之百准确。

herdr 会结合前台进程、屏幕内容和 Agent 集成来判断状态,偶尔可能出现 unknown,或者识别结果与实际情况不完全一致。

Agent 自动化与多 Agent 协作

herdr 还有一个更有意思的能力:它不只让人来管理窗口,也向 Agent 提供了 CLI、Socket API 和一个专门的 Skill。

安装 herdr Skill 的命令是:

npx skills add herdrdev/herdr --skill herdr -g

当 Claude Code 或其他支持 Skill 的 Agent 运行在 herdr 里面时,它可以通过 herdr 的命令行做这些事情:

  • • 创建新的 workspace 和 pane

  • • 在某个 pane 里启动另一个 Agent

  • • 给另一个 Agent 发 prompt

  • • 等另一个 Agent 完成任务

  • • 读取另一个 Agent 的输出

换句话说,Agent 之间可以通过 herdr 互相协作了。

举个简单例子 👇

把一个较大的开发任务交给主 Agent,让它在相邻的 Pane 里启动辅助 Agent,分别检查接口、前端和测试。

主 Agent 不需要不停向其他终端发送按键,而是可以读取结果、等待状态变化,再继续汇总。

到这里,herdr 提供的不只是一个「给人用的终端界面」,同时也是 Agent 能操作的运行环境。

但它解决的是启动、观察、等待和通信这些基础动作,并不会自动替你拆好任务,也不会让几个 Agent 天然拥有同一份上下文。

如果多个 Agent 同时修改同一个项目,我的建议依然是配合 Git Worktree,把各自的工作目录和分支隔离开。

否则窗口虽然管理好了,代码冲突还是会照样出现。

写在最后

herdr 并不适合所有人。

如果你平时只开一个 Claude Code 或 Codex,或者已经非常熟悉 tmux,并且有一套稳定的终端工作流,那它带来的提升可能并不明显。

但如果你经常同时跑多个 Agent,还要兼顾几个项目、日志和开发服务,它确实能减少很多无意义的来回切换。

另外,herdr 目前仍处于 1.0 之前的快速迭代阶段,有些边界需要提前知道。

它的后台运行不等于云服务。电脑真的进入睡眠以后,任务也会随系统暂停;

herdr 服务完整重启以后,可以恢复窗口布局和受支持 Agent 的会话,但普通命令和任意后台进程并不能原样恢复。

所以它更适合那些已经开始同时使用多个 Agent 干活,但缺少一个简单易用的终端复用器的人。

如果你也遇到了类似的需求,可以试试。