← 返回信息流
产品 少数派sspai · neyham 2026-09-01 01:36 🔥 热度 2

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

herdr终端复用器:多Agent并行管理实践指南

注:本文文字经 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 即可恢复现场。 一屏里同时开着编辑器和两个 Agent 2. 日常使用与工作流 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 弹出跳转面板 按键 过滤目标 使用场景 b Blocked 直达所有卡在确认框的 Agent,敲回车放行 w Working 查看哪些 Agent 正在高负载运行 d Done 切到已完成的窗口审查修改结果 i Idle 寻找空闲窗口分派新任务 a All 列出全部 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 试试,应该会顺手不少。

🖼 相关图片

查看原文 ↗ Agent开源项目

📌 相关阅读

谷歌 Gemini 3.8 Flash 模型上线,适用软件工程、智能体任务等场景 热度 18 [开源] 88lin/react-ai-orb: ✨ A beautiful, customizable animated orb for React · 为 React 打造的发光动画球体组件|AI 界面 · 热度 12 【开源】b24039971/lavka-gadgetov-bot:基于免费 Google Gemini 密钥的 Telegram 商店机器人 热度 11 EvoUndo:面向 LLM Agent 运行框架的可恢复性约束自进化方法 热度 11 【开源】PhiloLabs/fable51-worlds:用代码构建世界,来自 fable 5.1 热度 10