‹ 指南

在手机上用 herdr v26.5.2+

herdr 把你的 shell、监控、编辑器和编程智能体放在服务器上的同一个会话里。Term 给它配了专属按键栏,你的点击和鼠标操作也会传给它。

需要 Term v26.5.2 或更高版本。

从 26.5.2 起,右键菜单和鼠标拖动都能传给 herdr。

撰写于

herdr 是什么

herdr 是一个终端工作区管理器,专为运行编程智能体而设计。和 tmux 一样,它跑在服务器上,断开连接后照常运行。它把工作分成三层:

它还会留意窗格里运行的编程智能体(pi、Claude Code、Codex 等),显示每个智能体是正在工作、已完成,还是在等你回复。

在服务器上安装,然后运行 herdr:

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

按键栏变成 herdr 按键栏

运行 herdr 后,键盘上方的按键栏会自动切换成 herdr 的按键,和 tmux 一样。左右滑动按键栏就能找到它们。

Term 中运行着 herdr。标题栏显示 herdr,herdr 自己的顶栏显示工作区 prod-web 和标签页 shell 1/6,键盘上方的按键栏显示 ^Bg ^B[ ^Bz ^Bc。
标题栏显示 herdr,按键栏已经换成 herdr 的按键。顶部是 herdr 自己的状态栏:工作区(prod-web)、当前标签页,以及一共有几个。
esc^B↑↓←→ ^Bg^Bz^Bc^Bn^Bp ^Bv^B-^Bx^Bw^Bq ^C^R

herdr 和 tmux 一样用 ctrl+b 作前缀,但后面好几个键的含义不同——所以 Term 给 herdr 单独配了一套按键栏,而不是沿用 tmux 的。^Bg 是跳转(goto),^Bc 新建标签页,^Bn 和 ^Bp 切到下一个和上一个标签页,^Bv 和 ^B- 向右和向下分屏,^Bz 放大,^Bx 关闭窗格,^Bw 打开工作区,^Bq 断开。tmux 里 ^Bd 是断开,在 herdr 里不是。

每件事一个标签页

给每个长时间运行的东西单独开一个标签页:监控、日志、编辑器、智能体。每个标签页都占满整个屏幕,在手机上这通常正是你想要的。

并排的三个 herdr 标签页:btop 列出满负载的进程,htop 显示 CPU 条,以及 nginx 错误日志的实时输出。
同一个工作区里的 btop、htop 和日志,各占一个标签页。herdr 的顶栏显示 tab btop · 2/6、3/6、4/6——六个标签页,一个会话。
在 herdr 中用 vim 编辑一个 Rust 文件,带语法高亮:关键字、类型、字符串和注释颜色各不相同。
第 5 个标签页里用 vim 打开一个 Rust 文件。程序画出来的一切——颜色、粗体、状态栏——都和在桌面终端里一样。

用 ^Bg 跳到任何地方

^Bg 打开 herdr 的 goto 选择器:所有工作区、标签页和窗格以树形列出。用按键栏上的方向键移动,按回车即可。有六个标签页时,这一个组合键就省去了连按五次 ^Bn。

会话上方的 herdr goto 选择器:工作区 prod-web 下有 shell、btop、htop、logs 和 vim 几个标签页,各自带着窗格和工作目录。
^Bg——工作区里的每个标签页和窗格,以及它的目录。选中一个就过去了。

分屏与放大

^B- 把标签页分成上下两个窗格;^Bv 分成左右两个。在手机上,尽量向下分:左右分屏会把宽度减半,大多数输出在半屏宽度里都会折行得很难看。

分成两个窗格的 herdr 标签页:上面的 shell 显示一个配置文件,下面是实时日志。当前窗格的边框高亮。
^B-——上面是 shell,下面是日志。高亮的边框表示你输入的内容会进哪个窗格。

^Bz 把当前窗格放大到整个标签页,布局不变;再按一次 ^Bz 就恢复。

日志窗格放大到占满整个标签页。
^Bz——日志窗格占满整个屏幕。取消放大后,分屏还在原处。

直接点

herdr 是为鼠标设计的,Term 会把你的点击当作鼠标点击传给它。点右上角的 switch,herdr 会打开菜单:你的智能体、工作区、标签页,以及断开等操作。点一个标签页就切过去。

herdr 的 switch 界面:agents 一栏显示 pi 空闲,spaces 一栏列出 prod-web 和 api 两个工作区,tabs 列出从 shell 到 pi 的标签页,menu 里有 settings、keybinds 和 detach。
点一下打开的 switch。在这里点一下就能去任何工作区或标签页、新建一个,或者断开。

用鼠标

接上鼠标,或者用带触控板的键盘保护套,herdr 用起来就和在电脑上一样。右键窗格打开菜单;拖动两个窗格之间的边框来调整大小;点一个窗格让它获得焦点。

右键打开的 herdr 窗格菜单:Rename pane、Swap with focused pane、Split right、Split down、Zoom、Send right-clicks to pane、Close pane。
在窗格上右键——重命名、交换、分屏、放大或关闭它。

使用鼠标的程序会接管你的点击,所以直接点链接会交给 herdr。按住 Ctrl 点击链接,就会在 Term 里打开它。

编程智能体

herdr 能识别窗格里运行的编程智能体,并在顶栏报告它们的状态:1 working、1 done、all idle。switch 界面会把它们列在 agents 下,不用逐个打开标签页就知道哪个在等你。

pi 编程智能体在 herdr 的一个标签页里运行,上方 herdr 顶栏显示 prod-web、tab pi 6/6、all idle。
第 6 个标签页里的 pi 智能体。herdr 顶栏显示 all idle——没有正在工作的,也没有在等回复的。

想要的不只是状态——比如窗格重启时恢复智能体的对话——就为该智能体安装 herdr 的集成:herdr integration install pi,或者在 herdr 的设置里打开。

断开,再回来

用 ^Bq 断开,或者 switch → detach。你会回到自己的 shell,而 herdr 里的一切都在服务器上继续运行。

从 herdr 断开后的 shell:herdr 命令和一个新的提示符。
已断开。 标签页、窗格和智能体都还在服务器上运行。

再运行一次 herdr,就回到离开时的地方——同一个标签页,智能体还在做它的事。这正是 herdr 在手机上的价值:Term 在后台大约保留会话 90 秒,之后 HarmonyOS 关掉连接,而 herdr 里什么都不会察觉。

每次都直接进 herdr

把主机的启动脚本设成 herdr(编辑主机 → 高级选项),每次连接都会直接进入你的会话。在同一页打开自动恢复会话,连接断了之后,回到 Term 时会自动重连并回到 herdr。启动脚本是 Term Pro 功能。

通过 mosh 连接时,按键栏停留在 shell 按键

Term 是从 shell 上报的命令得知 herdr 在运行的,而 mosh 会话不会这样上报命令。herdr 照常工作,只是你需要先按 ctrl,再按 b,然后按对应的键。通过 SSH 连接时,herdr 按键栏会自动出现。