ByteNoteByteNote

字节笔记本

2026年6月13日

上手 Herdr:Rust 写的终端 Agent 管理器,试完说说感受

API中转
¥120

试了一下 Herdr,一句话概括:它确实填补了 tmux 和桌面 agent 看板之间的空白,而且装完就能看到效果。

安装体验

bash
curl -fsSL https://herdr.dev/install.sh | sh

安装过程很顺,下载 v0.6.10 的 macOS arm64 二进制到 ~/.local/bin/herdr,没有多余依赖。

装完第一次运行 herdr,TUI 就起来了。默认创建了一个 workspace 和一个 pane,当前目录就是你的项目根目录,不需要任何配置。

不过 TUI 本身需要真正的终端,在 CI 或非交互式终端里会报 Device not configured——这不是问题,它是端到端用的。

架构

Herdr 是 client-server 架构。每次你运行 herdr,它启动一个后台 server(通过 Unix socket 通信),你 attach 上去操作。所以可以 detach 让 agent 继续跑,之后再 reattach。

session 持久化在 ~/.config/herdr/session.json,记录了所有 workspace、tab、pane 的布局。我试了一下,server 停掉再启动,布局还在。

值得注意的设计

agent 可以反操控 Herdr。通过 socket API,agent 能自己创建 pane、跑命令、读输出、等状态变化。这不是 tmux 那种"你 monitor agent"的模式,而是"agent 主动 report 给你"。

open code 装好插件后,结合 opencode 的事件系统,session.statustool.executepermission.asked 这些事件都会上报给 Herdr,状态栏会实时更新 agent 是在 working、blocked 还是 idle。

集成插件

Herdr 支持 12 个 agent 的集成插件:

bash
herdr integration install claude
herdr integration install codex
herdr integration install opencode
herdr integration install pi
# 等等

每个插件就是一个 hook 文件,放在 agent 的配置目录下。比如 opencode 的插件是一个 159 行的 .js 文件,通过 net.createConnection 走 Unix socket 向 Herdr server 上报状态——实现很轻量,读完就能理解全部逻辑。

和 tmux 的关键区别

tmux 给你的只是持久化终端。Herdr 在持久化之上,让 multiplexer 理解 agent 语义——它知道哪个 pane 里跑的是 Claude Code、当前状态是 blocked 还是 working。这一层语义信息是之前靠 tmux 无论如何也拿不到的。

适用场景

如果你日常同时跑 3-5 个 AI agent(Claude Code、OpenCode、Codex CLI 等),在不同 tmux 窗口之间切来切去,Herdr 值得一试。装好集成后,扫一眼侧边栏就知道谁在干活、谁卡住了,不需要挨个窗口翻。

项目链接

分享: