herdr 集成

herdr 在一台机器上并排运行多个 coding agent,并跟踪每个 agent 在做什么。它把工作组织成 space — 一个项目一个,里面再分标签页和 pane。herdr 不是 ServerCC 列表里的又一个 agent,而是 agent 运行于其中的运行时,ServerCC 2.0 与它对接。

安装与升级

服务器页会和其他工具一起显示 herdr 是否已安装。没装的话,ServerCC 可以代为安装(官方脚本,装到 ~/.local/bin,不需要 sudo);有新版本时,App 会帮你跑 herdr update。集成按 herdr 0.8 实现。

服务器页上的 space

服务器上的 herdr 运行期间,它的 space 会以独立区块出现在服务器页上。里面有 agent 的 space 会带 herdr 自己的状态词:workingblockeddoneidle。这些行是实时发现的 — 它们还不是工作区,不占用任何额度。

点一个 space 会打开熟悉的工作区页的预览模式。在那里可以四处看看、接入正在跑的会话,或者把这个 space 收编。

接入正在运行的 agent

点一个正在运行的 agent 会话就能接入:看到的就是 herdr 里的那个终端,实时的,可以直接输入。接入免费,也不消耗任何试用额度。离开时 App 会问是 Keep(留在 herdr 里继续跑)还是 Stop(停止并关掉它的 pane)。

收编 space

在 space 行上滑动(或在预览页点按钮)就能把它收编成普通的 ServerCC 工作区。收编走正常的工作区额度,之后工作区该有的它都有:会话历史、新建会话、文件浏览器、git diff、worktree。该目录下的 herdr 会话仍会显示在工作区页上,有自己的区块。

在 herdr 中启动 agent

当工作区的目录也在 herdr 管理之下时,新建会话会多一个 herdr Mode 选项:agent 在 herdr 的新标签页里启动,而不是普通的 tmux 会话,因此它会和 herdr 里的其他东西一样带着状态出现。ServerCC 总是为它新开一个标签页,绝不会把 agent 塞进你正在用的终端。

worktree 也支持:从 worktree 在 herdr 中启动会走 herdr 原生的 worktree open,checkout 会挂在所属 repo 的 space 下面,而不是变成一个孤立目录。ServerCC 的 worktree 行也会列出各自目录里正在跑的 herdr 会话。

各 agent 的状态 hook

herdr 是靠装进每个 agent 自身配置里的一个小 hook 来获知状态(workingblocked 等)的。ServerCC 的 herdr 页面按 agent 列出这些集成,共三种状态:未安装、最新、过期 — 过期的会给一个 Update 按钮。hook 放在服务器上该 agent 自己的配置文件里,所以移除前 App 会先要求确认。

另见:agent 本身的介绍在「支持的 AI Agent」,herdr Mode 所替代的 tmux 流程见持久会话