你有没有试过同时开好几个 AI 编程助手?
一个 Claude Code 在重构后端,一个在写前端组件,还有一个在排查最难啃的 Bug。
三个终端窗口来回切,切到最后,你已经分不清哪个在工作、哪个在等你,哪个其实早就跑完了。

这不是记忆力的问题,而是大多数终端工具从来没为「同时管理多个 AI Agent」设计过。
最近正好发现了一个为这种场景打造的工具 —— herdr,一个为 AI Agent 设计的终端复用器(agent multiplexer),目前在 GitHub 上已经收获 1.9 万 Star。它想解决的,正是这个问题。

在这里插入图片描述


它不是 tmux 的替代品

很多人第一次看到 herdr,可能都会冒出同一个想法:

这不就是增强版的 tmux 吗?

更准确的说法是:它不是 tmux 的替代品,而是站在 tmux 之上的下一层。tmux 是一个 终端复用器(terminal multiplexer),帮你把多个 shell 会话塞进一个窗口;而 herdr 是一个 agent multiplexer——它要管理的,是这些终端里正在跑的 AI Agent。

两者关注的对象完全不同。tmux 管的是终端,会告诉你有哪些窗口、哪些会话还活着;但它不知道窗口里的 AI Agent 正在做什么——它不会告诉你 Claude Code 是正在生成代码、等待你确认,还是已经执行完成。你只能盯着日志、看光标、切进去检查。

而 herdr 直接把 Agent 的状态显示在 pane 旁边:

  • Working:代理正在思考或编辑
  • Blocked:等待用户输入或权限确认
  • Done:本轮完成,等待下一条指令
  • Idle:面板已打开但没有活跃代理

不同状态用不同颜色区分,鼠标悬停还能查看更详细的输出。以前,你需要不停切窗口确认每个 Agent 的进度;现在,只要扫一眼颜色,就知道哪个需要处理、哪个可以继续放着跑。

更省心的是,herdr 直接复用了 tmux 风格的快捷键(Ctrl+B 前缀),分屏、切换、Detach 这些操作都按你熟悉的方式来。换句话说,习惯 tmux 的人几乎不需要重新学习,反而多了一层 Agent 状态感知。


一个屏幕,管理所有 Agent

herdr 的界面非常克制。

所有 Agent 会话都放在同一个终端里,以 Tab 或 Pane 的方式组织,每个 Pane 旁边都会显示当前状态:绿色表示运行中,黄色表示等待输入,红色表示报错,灰色表示完成。

你可以直接用鼠标点击切换,也可以继续使用 tmux 风格的快捷键。按下 Ctrl+B,就能分屏、切换、Detach,熟悉 tmux 的人几乎没有学习成本。

不过,比界面更重要的是它背后的设计思路。很多 Agent 管理工具(特别是各类 GUI 客户端)都会尝试去“解析”Agent 的输出——它们通过检索日志里的关键词(比如识别 Waiting for confirmation)来推断状态。这种方式非常脆弱,一旦 Agent 工具更新改了提示词,识别逻辑就会立马失效。

herdr 选择了另一条路。它不做脆弱的文本正则匹配,也不强行把命令行重新包装成可视化卡片,而是直接承载真实的终端画面(PTY)。它从进程和终端底层的阻塞状态(例如检测程序是否在等待键盘输入、是否在占用 CPU 运算)来精确判断 Agent 处于 Working 还是 Blocked。因此,无论是 Claude Code、Cursor CLI、Aider 都可以拿来即用。如果你经常尝试新的 AI 工具,这一点尤其省心。


Agent 也能调用 herdr

真正让我眼前一亮的,是它不仅给人使用,也开放给 Agent 使用。herdr 提供了一套 Socket API,Agent 可以直接调用。例如,一个 Agent 可以:

  • 新建一个 Pane;
  • 在新的 Pane 里启动另一个 Agent;
  • 读取其他 Pane 的输出;
  • 等待另一个 Agent 完成后,再继续执行自己的任务。

此外,官方还提供了一个 Skill,教 AI 如何使用这些能力。

这意味着,多 Agent 协作不一定需要人手动协调。例如,让 Agent A 完成代码重构,结束后自动通知 Agent B 编写测试;测试通过后,再启动 Agent C 做代码审查。以前,你需要自己写不少胶水代码把这些流程串起来,现在 herdr 已经提供了一层统一的基础设施。


Session 可以一直延续

后台运行也是 herdr 很实用的一项能力。按下 Ctrl+B Q,当前 Pane 就会 Detach,界面消失,但里面运行的程序不会停止;重新 Attach 后,可以继续之前的工作。

不过,herdr 比传统终端工具更进一步。它会把 Session 的状态保存下来,包括 Pane 的历史输出、当前状态以及 Workspace 配置。这样带来的好处很直接:

  • 重新连接后,之前的上下文仍然保留;
  • 换一台电脑,也可以继续之前的工作;
  • 即使 herdr 自身异常退出,也会尝试恢复之前的 Session。

对于需要长时间运行的 AI Agent,这种体验比重新打开一堆终端窗口舒服得多。


上手体验

如果你已经习惯一个 Agent 写代码、一个 Agent 跑测试、另一个 Agent 查资料,那么你会发现,最大的麻烦已经不是 AI 能不能完成任务,而是自己能不能跟上这么多 Agent 的状态变化。

安装很简单,使用 x-cmd 一行命令搞定:

x install herdr

安装完成后,在项目目录执行:

herdr

它会把当前终端纳入管理。如果第一次使用,建议先开两个 Agent 就够了,等真正体验到"扫一眼颜色就知道哪个需要处理"之后,你会很容易理解它和传统终端管理工具之间的区别。


一个新的工具品类正在形成

我觉得,herdr 更大的意义,并不是它比 tmux 好多少,而是它代表着一种新的趋势。

过去,一个开发者通常只操作一个终端;后来,我们开始同时管理多个窗口,于是有了 tmux;现在,一个开发者可能同时管理多个 AI Agent 对话窗口,它们各自完成不同的任务,彼此之间甚至还会协作。当工作对象从"终端"变成"Agent",工具自然也会发生变化。

我们已经开始看到越来越多这样的产品:有的强调任务分发,有的强调 Agent 编排,有的把多个 Agent 放进同一个管理面板,herdr 只是其中最有代表性的一个。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐