用途:Herdr 把终端组织成工作区、标签页和窗格,并能识别窗格中运行的编码代理,通过 herdr CLI 暴露当前会话,用于检查相邻工作、创建终端布局、启动代理与命令、读取输出和等待状态变化。
使用前提:任何控制命令前需确认代理运行在 Herdr 管理的窗格里:test "${HERDR_ENV:-}" = 1。检查失败时应说明不在 Herdr 内并停止,不得从外部检查或控制聚焦的 Herdr 会话。通过后 PATH 中的 herdr 二进制与当前会话通信。
命令发现:已安装二进制是命令语法的权威。先运行 herdr --help,再不带子命令打印命令组,如 herdr agent、herdr pane、herdr workspace、herdr tab、herdr worktree、herdr terminal、herdr notification、herdr integration、herdr session、herdr machine。不要裸跑 herdr 做发现,它会启动或附加 TUI。多数控制命令返回 JSON,应从响应读取标识符和状态。
布局与代理:工作区、标签页、窗格拓扑组织终端位置;pane 命令控制原始终端、shell、测试、服务器、输入输出;agent 命令控制当前占据窗格的已识别编码代理。窗格无论是否含代理都存在;agent start 需要已有可用 shell 窗格,不会创建、拆分或移动布局。
ID 与调用上下文:公开 ID 如工作区 w1、标签页 w1:t1、窗格 w1:p1。已关闭的标签页和窗格 ID 不复用。Herdr 向托管窗格注入调用者上下文 HERDR_WORKSPACE_ID、HERDR_TAB_ID、HERDR_PANE_ID。当 pane 命令应指向调用窗格时优先用 --current。
启动与协调代理:默认在当前标签页创建同级窗格并沿用当前工作目录。按用户要求方向拆分,否则检查调用窗格后宽窗格向右、窄或高窗格向下拆分。使用 herdr pane split --current --direction right --cwd "$PWD" --no-focus 并读取 .result.pane.pane_id。在可用 shell 窗格中以唯一名称启动受支持代理,如 herdr agent start reviewer --kind codex --pane <returned-pane-id>,原生代理参数放在 -- 之后。通过 herdr agent prompt 提交任务,按需使用 --wait、--timeout。交互控制可用 herdr agent send-keys。
在其它窗格运行普通命令:创建同级窗格后用 herdr pane run 发送命令,用 herdr pane wait-output 等待匹配输出,用 herdr pane read 读取内容。
安全与协调:后台工作使用 --no-focus;使用 --current、显式窗格 ID 或唯一代理名,不依赖其他客户端聚焦的窗格;从 JSON 响应解析 ID;不要关闭非自己创建的工作区、标签页、窗格或会话,除非用户明确要求;仅在用户验证仓库后使用 --trust-repository;不要从活动会话运行 herdr server stop,也不要杀死主 Herdr 进程。
限制:代理名称须匹配 [a-z][a-z0-9_-]{0,31} 且在活动代理中唯一;agent 命令不接受终端 ID 或裸代理类型标签;--machine 需为已启用保存的配置文件 ID 或唯一大小写敏感标签,不能与 --session 或 --remote 组合;转发不会安装、启动或重启服务器;远程 worktree 路径须为绝对路径、~ 或 ~/ 开头。资料未提供收费、价格与平台信息。