herdr:给 AI 编码 Agent 的终端多路复用器,让多个 Agent 同屏协作 | Github Daily
每日开源 081herdr给 AI 编码 Agent 的终端多路复用器让多个 Agent 同屏协作2026-07-02 · 早间篇 · GitHub Trending 今日 611 Stars**免责声明**本工具依赖境外公开数据源GitHub 等部分平台在中国大陆需合规网络环境。如果你最近同时开过Claude Code、Codex、Cursor Agent或OpenCode一定经历过这种场景三四个代理各占一个终端窗口有的正在跑测试、有的卡在确认 prompt、有的已经跑完但你不知道。切来切去全凭记忆和运气。今天要聊的herdr就是专门为这种「多 Agent 并行」场景设计的终端工具。它把自己定位为agent multiplexer——不是 tmux 的替代品而是 AI 编码时代的终端调度中心。一、项目速览**项目名**herdr**作者**ogulcancelik**定位**终端原生的 AI 编码 Agent 多路复用器**Stars**约 9.5k - 10k今日 GitHub Trending 611 Stars**语言**Rust**许可证**AGPL-3.0-or-later / 商业双许可**官网**herdr.dev**代码**github.com/ogulcancelik/herdr~10MB单二进制体积**15**内置 Agent 集成4Agent 状态可视化977GitHub 提交数二、它能解决什么问题AI 编码 Agent 和人的工作模式不一样。人类操作终端是「输入一个命令、等结果、再输入下一个」Agent 是「长时间运行、可能中途要确认、可能自己卡住、也可能 quietly 跑完」。传统终端多路复用器如 tmux擅长管理「人的会话」但不理解「Agent 的语义状态」。herdr 针对四个真实痛点做了专门设计痛点 1多 Agent 状态不可见。tmux 能看到窗格但不知道里面是 Agent 在工作、被阻塞还是已完成。herdr 把状态抽象为 blocked / working / done / idle 四色信号。痛点 2会话断开进度丢失。Agent 一次任务可能跑几十分钟SSH 断了或终端关了容易丢进度。herdr 支持 detach/reattach后台 server 保持 pane 进程继续运行。痛点 3Agent 之间协作靠手动复制。不同 Agent 的输出需要人工搬运。herdr 提供 Socket API CLI让 Agent 可以编程式读取其他 pane 输出、等待状态变化、发送输入。痛点 4GUI 管理器太重。很多 Agent 客户端是 Electron 桌面应用离开终端、绑架工作流。herdr 跑在你现有终端里iTerm2、Ghostty、Warp、原生 Terminal 均可不替换终端。三、核心亮点1. 真实终端 Agent 状态感知herdr 的每个 pane 都是真实终端进程不是被改写的 Agent 视图。Agent 输出的 ANSI 序列、光标移动、alternate screen、progress bar、diff 高亮都会被完整保留。同时herdr 通过三种方式识别 Agent 状态集成上报Pi、OMP、Claude Code、Codex、Cursor、Kimi、OpenCode、Kilo、Hermes 等通过官方 integration 主动上报状态屏幕检测 session identity对 Claude Code、Codex、Copilot CLI、Devin、Droid、Qoder 等基于底部 live buffer 和进程名识别纯屏幕检测对 Amp、Grok、Antigravity、Kiro 等通过前台进程和屏幕快照判断。blocked 的判定故意收紧只在底部缓冲区出现明确的确认、批准或提问 UI 时才标记。这种 evidence-based 的检测方式避免了误判。2. workspace / tab / pane 三层组织herdr 的容器层级比 tmux 多了一层项目维度workspace项目级容器建议一个 repo 或一个任务一个 workspacetabworkspace 内的视图分组比如 agents、logs、server、reviewpane真实终端进程可拆分、可重命名、可被 CLI/API 读取。侧边栏会按 workspace 汇总状态。只要某个 pane 里的 Agent 被阻塞整个 workspace 就会标红提醒你优先处理。这种设计把「切 pane」变成「按优先级处理 attention」。3. 五种会话恢复路径herdr 把持久化做了细粒度拆分不同场景对应不同恢复能力live persistencedetach 后原始进程根本没停是最强的恢复路径。snapshot restoreserver 重启后恢复 workspace、tab、pane、布局和 cwd但不恢复普通进程。pane screen history replayserver 重启后回放最近的终端内容默认关闭避免泄露敏感信息。native agent session restore利用 integration 上报的 session reference在 server 重启后自动执行claude --resume、codex resume等命令接回 Agent 会话。live handoff实验性功能herdr update --handoff在替换 server 时尝试把活 pane 迁移到新 server。4. Socket API 插件系统Agent 也能编排 Agentherdr 不仅给人用也暴露给 Agent 用。本地 Unix socket默认~/.config/herdr/herdr.sock支持 NDJSON 协议覆盖 workspace、tab、pane、agent、事件订阅、集成管理等完整控制能力。CLI 是其封装# 读取另一个 pane 的最近输出herdr panereadw1:p2--sourcerecent--lines50# 等待某个 Agent 进入 done 状态herdrwaitagent-status w1:p1--statusdone--timeout60000# 等待输出匹配特定模式herdrwaitoutput w1:p3--matchserver.*ready--regex--timeout30000# 右侧分屏并运行测试herdr panesplitw1:p1--directionright --no-focus herdr pane run w1:p2cargo test此外herdr 还有插件市场支持任意语言编写的插件并提供黑名单机制。插件可以声明自己的动作、打开终端 UI 窗格并通过环境变量注入HERDR_PLUGIN_ID、HERDR_WORKSPACE_ID等上下文。5. Rust 工程实现轻量、跨平台、无依赖herdr 是单二进制 Rust 实现核心依赖栈分工清晰ratatuiTUI 渲染crossterm跨平台终端事件和控制portable-pty跨平台 PTYtokio异步调度interprocess本地 IPCserde / bincode配置与协议序列化。项目约 10MB 单二进制Linux 和 macOS 稳定支持Windows 处于 preview beta。作者强调的几条工程约束也值得关注状态与 runtime 分离、渲染函数纯函数、无 god objects、平台差异代码隔离、检测与 UI 解耦。四、实战场景展示场景 1多 Agent 并行开发左侧 pane 跑 Claude Code 改业务逻辑右侧 pane 跑 Codex 执行测试下面 pane 跑 dev server 或日志 tail。Claude 改完等待批准时 pane 变 redCodex 测试完成后 pane 变 blue一眼就能看到下一步该点哪个窗格。场景 2远程服务器上长时间跑 Agent在远程 Linux 服务器上启动 herdr跑一个需要半小时的代码重构任务。临时要开会直接ctrlb q离开。会后从任意终端包括手机 SSH执行herdr重新 attach任务继续。场景 3Agent 编排脚本一个协调 Agent 调用 herdr CLI 启动多个子 Agent先起 Claude 写后端 API再起 Codex 写前端页面然后herdr wait agent-status claude --status idle等后端完成再herdr agent read claude读取结果传给下一步。多 Agent 协作不再靠手动复制粘贴。场景 4对比不同 Agent 的输出同一个需求左边 pane 跑 Claude Code右边 pane 跑 Codex下面 pane 跑 OpenCode。通过 herdr 的状态栏和输出读取快速横向对比三种 Agent 的实现思路与质量差异。五、上手指南1. 安装推荐用官方一键脚本Linux/macOScurl-fsSLhttps://herdr.dev/install.sh|sh如果已经用 Homebrewbrewinstallherdr或者用 mise、Nixmise use-gherdr nix run github:ogulcancelik/herdrWindows 用户目前处于 preview betapowershell-ExecutionPolicyBypass-cirm https://herdr.dev/install.ps1 | iex2. 启动与基本操作在项目目录下直接运行herdr默认前缀键是ctrlb和 tmux 一致常用快捷键ctrlb shiftn新建 workspacectrlb v或ctrlb -垂直/水平分屏ctrlb c新建 tabctrlb w切换 workspacectrlb qdetach clientAgent 继续运行ctrlb ?查看所有快捷键herdr 是鼠标原生的点击、拖拽、分屏都可以不用快捷键。3. 安装 Agent 集成以 Claude Code 和 Codex 为例herdr integrationinstallclaude herdr integrationinstallcodex herdr integration status安装后herdr 能更准确识别这些 Agent 的状态并在 server 重启后支持原生 session 恢复。4. 命名 session 隔离项目如果要同时运行多个完全独立的项目会话可以用命名 sessionherdr session list herdr session attach work herdr session attach side-project5. 更新官方安装器管理的版本herdr updateHomebrew/mise/Nix 用户通过各自包管理器更新。大版本更新可能需要先 stop 旧 serverherdr server stop herdr**小提示**第一次试用建议先只装 1-2 个最常用的 Agent 集成确认状态栏真的改变了你的切换顺序后再考虑替代 tmux。如果你只偶尔跑一个 Agentherdr 可能 overkill但只要你同时跑多个 Agent它就会显著降低注意力切换成本。六、适合与不适合✅ 适合同时跑多个 coding agent、经常因切 pane 和盲扫状态浪费注意力的人想保留终端工作流、不想被 GUI 改写输出的人需要脚本化或 Agent 化编排 terminal tasks 的人。❌ 不适合长期只跑一个 Agent、几乎没有并行调度需求根本不想留在终端里、希望一切都在 GUI 中完成需要稳定 Windows 体验当前为 preview beta。七、今日总结与互动herdr 不是 tmux 的替代品而是为 AI 编码 Agent 时代重新设计的一类终端工具。它的核心价值在于把「同时管理多个 Agent」从人肉轮询变成状态驱动的注意力调度。真实终端 状态可视化 detach 持久化 Socket API 编排这四件事组合在一起让它成为目前终端里最完整的 Agent 调度中心。如果你已经在日常用 Claude Code、Codex 或 Cursor Agent不妨试试把 herdr 作为第一个打开的命令。它可能会改变你对「终端里该有什么」的想象。今日互动你同时开过几个 AI 编码 Agent你觉得终端工具还需要补充哪些 Agent 原生能力欢迎在评论区聊聊你的多 Agent 工作流。