ogulcancelik发布herdr
速览
herdr 是一个基于 Rust 构建的终端多路复用器,专为 AI 智能体设计。它允许用户在单个终端会话中并行运行、监控和控制多个智能体实例,实现高效的智能体协作与资源管理。
AI 深度解读
这是什么
Herdr 是一个基于 Rust 开发的终端多路复用器(Terminal Multiplexer),专为 AI 代理(AI Agents)的工作流设计。它由 ogulcancelik 维护,在 GitHub 上获得 3200+ Star。
与传统的多路复用器(如 tmux 或 screen)不同,Herdr 不仅仅是一个会话管理工具,它深度集成了对 AI 代理状态的感知能力。它运行在纯终端环境中,无需 Electron 或 GUI 包装器,旨在让开发者在不离开终端的情况下,直观地监控、管理和交互多个 AI 代理进程。
解决的问题
- AI 代理状态黑盒化:在使用
tmux等工具时,虽然能保持会话持久化,但无法直观看到代理是处于“思考中”、“阻塞”还是“已完成”状态。开发者往往需要反复进入窗口查看输出,效率低下。 - GUI 工具的上下文切换成本:许多 AI 代理管理工具提供图形界面(GUI)或 Web Dashboard,迫使开发者离开高效的命令行环境,破坏了心流状态。
- 会话管理的复杂性:在远程服务器或本地开发中,管理多个并行运行的代理会话、保持后台进程存活以及断线重连(Detach/Reattach)通常配置繁琐。
- 缺乏原生终端体验:现有方案往往是对终端输出的“重新解释”或封装,而非直接展示代理自身的终端行为,导致交互体验割裂。
核心功能
-
代理状态感知(Agent Awareness):
- 侧边栏实时显示代理状态:🔴 Blocked(需要输入或审批)、🟡 Working(正在运行)、🔵 Done(完成但未查看)、🟢 Idle(已完成且已查看)。
- 默认通过进程名匹配和终端输出启发式检测状态,无需额外配置。
- 支持 Socket API 集成,提供更可靠的状态报告。
-
工作区与布局管理:
- Workspaces(工作区):项目级容器,通常对应 Git 仓库或文件夹。
- Tabs(标签页):在工作区内分组管理面板。
- Panes(面板):真实的终端进程窗口,支持鼠标拖拽分割、调整大小。
- 支持
ctrl+b前缀键操作,类似tmux的快捷键逻辑(如n新建工作区,v/-垂直分割,c新建标签页)。
-
会话持久化与远程支持:
- Detach/Reattach:断开客户端连接后,后台服务器和面板进程继续运行。重新连接后可恢复现场。
- 远程操作:支持通过 SSH 在远程主机运行,或从本地终端直接附加到远程服务器上的会话(
herdr --remote ssh://user@host:port)。 - 命名会话(Named Sessions):支持完全隔离的运行时状态,便于管理不同项目的环境。
-
复制与交互优化:
- 支持拖拽选择面板文本、双击复制 Token。
- 提供键盘复制模式(Prefix +
[),支持h/j/k/l导航和v/Space开始选择。 - 兼容 PuTTY 和 SSH 终端的 Shift+拖拽选择及 Shift+右键粘贴。
-
更新与恢复机制:
- 支持
herdr update升级二进制文件。 - 实验性的
--handoff功能尝试在更新时将前台进程(如开发服务器)从旧服务器迁移到新服务器。 - 配置
resume_agents_on_restore = true后,代理可在服务器重启后从原生会话中恢复。
- 支持
亮点 / 与同类相比
| 特性 | Herdr | tmux / screen | GUI 代理管理器 (如 Cursor, Windsurf 等) | | :--- | :--- | :--- | :--- | | 状态感知 | 原生支持,侧边栏直观显示 Blocked/Working/Done | 无,需手动检查输出 | 有,但通常嵌入在 IDE 或 Web 界面中 | | 运行环境 | 纯终端,单二进制文件,无依赖 | 纯终端 | GUI 应用,通常基于 Electron 或 Native Wrapper | | 上下文保持 | 留在终端内,不中断 CLI 工作流 | 留在终端内 | 需切换窗口或应用 | | 代理集成 | 内置对 Pi, OMP, Claude Code, Codex, OpenCode, Hermes, Qodercli 等支持 | 无 | 通常绑定特定 IDE 或平台 | | 资源占用 | 极低(Rust 编写,单二进制) | 低 | 较高(GUI 框架开销) | | 远程体验 | 优秀,支持 SSH 直连和远程附加 | 优秀 | 通常较差或需额外配置 |
核心差异化:Herdr 填补了“纯终端多路复用器”与“AI 代理状态管理”之间的空白。它既保留了 tmux 的持久化和轻量级优势,又提供了类似 GUI 的状态可视化,且完全运行在终端内部。
适合谁用 / 上手
适合人群:
- 重度 CLI 用户:习惯在终端中工作,不愿切换至图形界面的开发者。
- AI 辅助编程实践者:同时运行多个 AI 代理(如代码生成、调试、文档编写),需要并行监控其状态。
- 远程服务器开发者:需要在 SSH 会话中长时间运行 AI 任务,并随时断线重连。
- Rust/Go 开发者:对底层工具链和性能敏感的技术人员。
上手指南:
-
安装:
# 使用官方安装脚本 curl -fsSL https://herdr.dev/install.sh | sh # 或使用 Homebrew (macOS/Linux) brew install herdr -
快速启动: 进入工作目录,直接运行:
herdrHerdr 会自动启动后台服务器并附加到当前会话。
-
基本操作:
- 按
ctrl+b进入前缀模式。 shift+n:创建新工作区。v或-:垂直分割面板。c:新建标签页。q:断开客户端连接(后台进程继续运行)。- 再次运行
herdr即可重新附加。
- 按
-
集成代理: 安装特定代理的集成以增强状态报告:
herdr integration install claude herdr integration install codex -
配置: 配置文件位于
~/.config/herdr/config.toml,可自定义主题(支持 Catppuccin, Tokyo Night 等 18 种主题)、快捷键和通知行为。
