从分屏到放牧 Agent:herdr 终端复用器实践指南

注:本文文字经 AI 辅助校对排版。0. 为什么我们需要一个懂 Agent 的分屏工具?现在很多人接手稍微大一点的重构任务,桌面上往往同时挂着好几个 CLI 编程工具——比如一个窗口跑改业务逻辑,旁边开着补单元测试,偶尔还要调 再调一个做方案对比。窗口一多,最打断思路的不是写需求,而是在各个终端之间来回切屏和确认:任务派出去之后,切去写别的模块,等想起来切回来,才发现 Agent 早在 10 分钟前就跑完了,正卡在 [y/N] 确认框前等你敲回车;又或者不小心误关了终端窗口、SSH 临时掉线,跑了一半的会话上下文就全丢了。herdr 解决的就是这个问题。它是一个 Rust 编写的终端复用器。基础功能和 tmux、Zellij 类似:在一个窗口里自由切分屏幕、保持后台会话常驻。但它针对 AI 编程多做了一件很实用的事:能自动识别常见的 CLI Agent,并在左侧栏标出每个分屏的当前状态(目前已原生支持 Claude Code、Codex、Cursor CLI、Grok Build、Antigravity CLI、Pi、OpenCode 等主流工具;普通进程则作为标准终端运行)。外层依然是你习惯的终端(如 Ghostty、iTerm2 或手机上的 Moshi),内层依然跑着你的 zsh 或 fish,而夹在中间的 herdr 负责把各个 Agent 的状态整理在同一屏里。1. 安装与快速上手herdr 支持 macOS、Linux 和 Windows,以单二进制分发。官方提供了一行安装脚本:curl -fsSL https://herdr.dev/install.sh | sh包管理器用户可以用 Homebrew 或 mise 安装;Windows 平台可以使用官方提供的 PowerShell 脚本(详见 官方指南)。安装后在项目目录下输入 herdr 即可启动。关掉窗口或断网后,后台会话依然运行,重新打开终端输入 herdr 即可恢复现场。一屏里同时开着编辑器和两个 Agent2. 日常使用与工作流2.1 鼠标与快捷键分屏和窗口操作支持常规的鼠标交互,无需额外配置:拖拽分屏边框调整大小;滚轮独立滚动各分屏的历史输出;右键点击呼出菜单,快速切分或关闭窗格;点击任意分屏直接切换输入焦点。快捷键默认沿用了 tmux 的 Ctrl+b 前缀(按下 Ctrl+b 松开,再按对应字母):操作快捷键对应鼠标操作左右垂直分屏Ctrl+b 然后按 v右键选择「Split Vertical」上下水平分屏Ctrl+b 然后按 -右键选择「Split Horizontal」新建标签页 (Tab)Ctrl+b 然后按 c点击顶部栏 + 号后台挂起 (Detach)Ctrl+b 然后按 q-快捷键帮助Ctrl+b 然后按 ?-左边开着 nvim 写代码,右边随手切一格跑 Agent:nvim 再分出一格2.2 状态感知与快速跳转herdr 左侧的状态栏会自动识别各格子里运行的 Agent,并归类为四种状态:Blocked:卡在权限确认框(如 [y/N])或正在向你提问,等待人工放行;Working:正在执行命令、读写文件或进行模型推理;Done:本轮任务执行完毕,等待验收;Idle:普通 Shell 空闲。(状态点的颜色会随终端主题自适应)当右侧 Agent 卡在确认环节时,左侧栏会实时显示哪一个分屏需要处理:左边在写,右边卡在确认;侧栏同时能看见 blocked 和正在跑当同时跑好几个任务时,按下 Ctrl+b 松开再按 g,可以唤出 Agent 快速跳转面板:Ctrl+b g 弹出跳转面板按键过滤目标使用场景bBlocked直达所有卡在确认框的 Agent,敲回车放行wWorking查看哪些 Agent 正在高负载运行dDone切到已完成的窗口审查修改结果iIdle寻找空闲窗口分派新任务aAll列出全部 Agent实际用下来最顺手的操作是:按下 Ctrl+b g 后按 b 直达卡住的 Agent 敲回车放行;处理完再按 Ctrl+b g + d 切换到跑完的分屏验收。双手不用离开主键盘区,也不用在一堆小分屏里到处找光标。2.3 让主力 Agent 充当主控调度herdr 提供了官方 Skill。只要让你的主力 Agent 读入 herdr --skill,它就能通过命令自己切分屏幕和管理会话。例如输入这样一条 Prompt,让它自己切出一套多窗口布局:read herdr --skill then split 10 other panels that make my computer look like some scifi hacker terminal from the movies它会自动完成分屏:读 herdr --skill 之后自己开格子更实用的场景是多模型交叉 Code Review。比如给主力 Agent 下发任务:“请针对当前分支开 3 个独立 Tab,分别启动 Codex、Grok Build 和 Antigravity CLI 做交叉代码审计;把大家的意见汇总成一份综合方案呈报给我,待我确认后再关闭这 3 个临时 Review 窗口。”主控会自动开 Tab、拉起不同模型、分发代码差异并等待它们跑完,最后汇总意见给你确认。如果需要多个 Agent 并行修改同一个项目,吩咐它开 git worktree 或独立分支即可,现在的 Agent 基本都能自行做好环境隔离。2.4 移动端与看板:Tailscale + Mosh + herdr-paddock当并发管理的 Agent 较多、或者人离开办公桌后,侧栏状态点虽然看得到,但具体的报错和提问内容依然需要切进分屏查看。在手机上通过 SSH 连入开发机时(iOS 推荐 Moshi、Blink,Android 推荐 Termux),竖屏通常只有约 40 列宽,桌面端 80 列以上的布局容易挤压。此时可以先按 Ctrl+b b 临时收起侧边栏。我的移动端配置Tailscale:异地组网,无需公网 IP 和端口转发;Mosh:在移动端代替传统 SSH,进出地铁或切换 Wi-Fi 断网后会自动重连,几乎无感;终端客户端:iOS 主力用 Moshi,Android 推荐 Termux。herdr-paddock:竖屏卡片流看板为了在手机和副屏上更直观地查看各 Agent 的状态,我写了一个轻量辅助插件 herdr-paddock。它读取 herdr 的状态,把各个 Agent 的最新输出排版成竖屏卡片流:桌面副屏:常驻在副屏角落,不用频繁切窗,余光一扫就能看清所有 Agent 当前在干什么;手机通勤:配合 Tailscale + Mosh 连入,卡在等待审批的任务会自动置顶,通勤路上单手按 y 即可放行。(下面两张为仓库 neyham/herdr-paddock 的卡片流演示:blocked 任务自动置顶,点进单卡可直接交互)paddock 卡片墙:blocked 置顶,一眼看完全场手机竖屏上的 paddock 卡片流3. 和现有工具怎么搭配?herdr 和常用工具的结合方式:1. Ghostty / 原生终端直接在 Ghostty 里运行 herdr 即可——Ghostty 的渲染效果不受影响,同时获得了后台会话保活和状态看板。2. tmux / Zellij快捷键完全兼容(默认都是 Ctrl+b),习惯 tmux 的人基本零迁移成本。在并发跑 Agent 时,多出来的状态栏和单键跳转会更省心。3. 官方桌面客户端(如 Codex App 等)单模型的日常对话与本地 Diff 预览用官方 App 很直观;当需要多个不同厂商模型(如 Claude + Codex + Grok)协同、或者把任务挂在无图形界面的 Linux 服务器上时,走终端更灵活。4. 远程桌面(向日葵 / ToDesk / UU)图形化交互留给远程桌面;如果只是跟进终端里 Agent 的写代码进度,走 Tailscale + Mosh + herdr 字符流,在手机弱网环境下更轻快省电。4. 避坑与使用边界会话持久化的范围:detach 保证的是关掉终端窗口或 SSH 断线时后台 Server 与任务持续运行。如果遇到断电或系统重启,普通进程依然会被操作系统回收。只有安装了官方 herdr integration 的受支持 Agent,在重启后才具备恢复会话上下文的能力,跑了一半的普通命令并不会凭空复活。5. 结语用了这段时间,herdr 真正帮我解决的核心问题,其实就是在终端里同时奔跑着成群的 Agent 时,帮开发者守住注意力。清晰的状态侧栏、Ctrl+b g 的快速跳转,再加上可以让主力 Agent 调度多个模型协同——如果你也经常在多个终端分屏之间来回找光标、漏看确认框,在终端里敲下 herdr 试试,应该会顺手不少。

查看原文
分享到:

相关推荐

The Slate Truck is affordable because you have to ...

8分钟前

Here's how Nintendo missed the mark with the GameC...

8分钟前

Apple adds more allegations to its trade secrets l...

8分钟前

How to make sure your Android phone is secure

8分钟前