Herdr 工作区入门:workspace、tab、pane 和 agent 怎么用
写 herdr 之前我已经用了几年 tmux,后来换成 Zellij,写过一系列上手文章。那些文章默认读者已经熟悉"终端复用器"的基本概念——分面板、持久会话、detach 之后进程不挂。
但 herdr 的情况不一样。它给自己的定位是 agent multiplexer,面向的是开始用 AI coding agent(Claude Code、Codex、OpenCode 这类)的开发者。很多人第一次接触终端复用器是因为 agent,不是因为要在服务器上跑 vim。
所以这篇不讲对比,不讲高级功能,只把四个核心概念和界面用法讲清楚。
上一篇:Herdr:agent 复用器,不只是另一个 tmux — 讲 herdr 的定位、对比 tmux/Zellij、live handoff 等高级特性。
为什么需要 herdr
一个场景就够了:项目 A 跑着 opencode 改代码,项目 B 的 claude 在跑测试,项目 C 的 codex 卡在一个权限确认弹窗。三个项目各开一个终端窗口,来回切——每次都要扫一眼输出才能判断"现在该处理哪个"。
Herdr 把这个问题拆成两层:
- 持久化:关掉终端窗口后进程继续跑,下次打开
herdr回到之前的状态。 - Agent 感知:侧栏显示每个 agent 当前状态——working、blocked、done、idle——不用一个个面板切过去看。
两者是同一层解决的,不需要 tmux + 桌面 agent 管理器两套工具。
四个核心概念
Herdr 的界面围绕四个层次组织,从大到小分别是:
Workspace(工作区)
最顶层的项目容器。一个 workspace 对应一个项目、仓库或任务。侧栏按 workspace 聚合 agent 状态——每个 workspace 只显示其中最紧急的一个状态(blocked > working > done > idle)。
比如三个项目各一个 workspace,侧栏一眼看到 lls_blog 是 idle、api-server 是 working、dns-tools 是 blocked——先处理哪个不用想。
Tab(标签)
Workspace 内部的视图分组。同一个项目里可能同时需要写代码、看日志、跑 dev server,每个用途一个 tab,用 Ctrl+B n/p 切换。
Tab 也是 Socket API 里的一级对象——agent 可以创建 tab、在 tab 内拆分面板、管理布局。
Pane(面板)
一个真实的终端进程。不是 agent 输出的包装视图——pane 里显示的就是进程本身的输出,shell、vim、btop、tail -f 都可以跑。
Pane 可以横向或纵向拆分。每个 pane 都有自己的 PTY,detach 后由 herdr server 持有。attach 回来时所有 pane 的内容和状态都在。
Agent(Agent)
Herdr 识别出 pane 里运行的是 AI coding agent 后,会在侧栏显示其状态。识别方式通过进程名和屏幕输出检测,零配置。
Agent 状态流转如下:
| 状态 | 含义 |
|---|---|
blocked | Agent 需要输入、确认或决策 |
working | Agent 正在执行任务 |
done | Agent 完成了,尚未查看 |
idle | 已查看,等待下一条指令 |
unknown | Herdr 无法确定状态 |
安装了原生集成(herdr integration install <name>)后,状态上报更精准,且支持会话恢复——server 重启后 agent 能自动恢复到之前的状态。
界面布局
Herdr 的界面分三个区域:
左侧栏:列出所有 workspace。每行显示 workspace 名称和该 workspace 中最紧急的 agent 状态。点击可切换焦点。
主面板区:当前 workspace 的 pane 和 tab 布局。支持鼠标拖拽调整分隔条大小。
右侧栏:当前 workspace 内运行的 agent 列表及各状态。如果需要查看所有 workspace 的 agent,用 Ctrl+B w 打开 workspace 导航。
关掉侧栏可以给主面板更多空间:Ctrl+B b 切换侧栏显隐。
操作方式:鼠标为主,键盘为辅
Herdr 默认 鼠标全覆盖。不是"支持鼠标"——是每个交互点都可以点。
- 点击 pane 切换焦点
- 拖拽分隔条调整大小
- 右键弹出菜单(拆分面板、新建标签、关闭等)
- 拖拽选择文本即复制(不需要 Ctrl+C)
- 双击选中一个 token 复制
不需要记住快捷键就能完成所有操作。键盘绑定是可选层,适合习惯 tmux 前缀键的用户:
| 操作 | 快捷键 |
|---|---|
| 横向拆分 pane | Ctrl+B v |
| 纵向拆分 pane | Ctrl+B - |
| 新建 tab | Ctrl+B c |
| 下一个/上一个 tab | Ctrl+B n / Ctrl+B p |
| Workspace 导航 | Ctrl+B w |
| 新建 workspace | Ctrl+B Shift+N |
| 关闭当前 pane | Ctrl+B x |
| 全屏当前 pane | Ctrl+B z |
| 分离客户端 | Ctrl+B q |
| 切换侧栏显隐 | Ctrl+B b |
如果希望只用键盘,可以关闭鼠标捕获:[ui] mouse_capture = false。
安装与首次启动
curl -fsSL https://herdr.dev/install.sh | sh
在项目目录输入 herdr,自动创建一个 workspace(以目录名或 git 仓库名为名)、一个 tab、一个默认 pane。在 pane 里启动 agent,侧栏立即出现状态。
配置文件在 ~/.config/herdr/config.toml,内置 18 套主题(catppuccin、tokyo night、gruvbox、solarized 等)。主题也可以在界面中通过 Ctrl+B 后选 Settings 切换。
移动端使用示例
Herdr 的 TUI 在窄屏幕上自适应——从手机 SSH 连接后,布局会自动调整为适合触控的切换视图。
![]() | ![]() |
|---|
断连后 agent 继续运行,重新 SSH 进去输入 herdr 即可回到之前的会话。
总结
Herdr 的四个概念——workspace、tab、pane、agent——层次清晰,每一个解决一个具体问题:
- Workspace:多项目管理时不知道哪个项目需要关注 → 侧栏聚合状态
- Tab:单个项目内多个视角 → 视图分组
- Pane:agent 需要可靠的终端运行时 → 持久 PTY
- Agent:不知道 agent 卡住了还是跑完了 → 状态识别
鼠标全覆盖降低了上手门槛,不需要先背快捷键才能用。对于已经开始用 AI coding agent 但还没接触终端复用器的开发者,这是最自然的起点。
参考

