19 附录A 术语表
本附录按字母顺序列出 Herdr 中的核心术语及其解释,方便随时查阅。
19.1 A
19.1.1 Agent
Herdr 中运行的 AI 编码助手实例。每个 Agent 在独立的窗格中运行,具有自己的上下文和工作目录。Agent 可以执行编码、测试、审查等任务,并通过状态系统报告其进展。
19.1.2 Agent Skill
Agent 具备的具体能力描述。通常由插件或配置定义,例如”代码审查”、“测试生成”、“文档编写”等。Skills 决定了 Agent 在特定场景下的行为方式。
19.1.3 Alternate Screen(备用屏幕)
终端模拟器的备用屏幕缓冲区。许多 TUI 程序(vim、less、Claude Code)启动时会切换到 alternate screen,退出后恢复主屏幕。Herdr 在默认配置下无法读取 alternate screen 中的内容,可能影响 Agent 状态检测。
19.2 B
19.2.1 Blocked(阻塞状态)
Agent 状态之一,表示 Agent 正在等待用户输入或外部条件。当 Agent 遇到需要人工决策的问题(如代码冲突需要选择合并策略)时,状态变为 Blocked。侧边栏会显示阻塞指示器,并可配置声音/通知提醒。
19.3 C
19.3.1 CLI(Command-Line Interface)
Herdr 的命令行接口。通过 herdr 命令可以执行所有操作,包括启动 server、管理 session、控制 Agent 等。参见第 12 章《CLI 参考》。
19.3.2 Client(客户端)
连接到 Herdr server 的前端程序。可以是终端中的 herdr 进程,也可以是通过 Socket API 连接的第三方程序。一个 server 可以同时接受多个 client 连接。
19.4 D
19.4.1 Detection Manifest(检测清单)
用于判断 Agent 状态的模式匹配规则集合。每个 Agent 类型有一组关联的检测规则,包括正则表达式模式、匹配位置(窗格输出/退出码)、对应的 Agent 状态等。清单由官方维护,可通过 herdr server update-agent-manifests 更新。
19.4.2 Detach(分离)
将当前终端与 Herdr session 断开连接的操作。Detach 后,session 中的所有进程(包括 Agent)继续在后台运行。使用 herdr attach 可以重新连接。
19.4.3 Done(完成状态)
Agent 状态之一,表示 Agent 已成功完成当前任务。通常通过检测窗格输出中的完成标记(如 [complete]、exit code 0)来判断。完成后 Agent 转为 Idle 状态等待新指令。
19.5 H
19.5.1 Herdr
一个多 Agent 协作的终端工作空间工具。结合了终端复用器(类似 tmux)和 AI Agent 编排能力,让多个 AI 编码助手在同一项目中协同工作。
19.6 I
19.6.1 Idle(空闲状态)
Agent 状态之一,表示 Agent 当前没有执行任务,处于待命状态。Idle 状态的 Agent 可以接收新任务。侧边栏中通常用灰色或暗色图标表示。
19.6.2 Integration(集成)
Herdr 与外部工具或平台的连接能力。包括 Git 集成、SSH 远程管理、IDE 插件、CI/CD 管道等。集成通过插件系统或 Socket API 实现。
19.7 K
19.7.1 Kitty Graphics(Kitty 图形协议)
一种终端图形协议,支持在兼容的终端中显示图片和图形。Herdr 的实验性功能 kitty_graphics 利用此协议在窗格中内联显示图像,适用于需要可视化输出的场景。
19.8 L
19.8.1 Layout(布局)
workspace 中 Tab 和窗格的排列方式。Herdr 支持水平/垂直分割、弹出式窗格、自适应布局等。布局可以保存在配置文件中,实现可复用的工作环境模板。
19.8.2 Lifecycle Hooks(生命周期钩子)
Agent 状态变化时自动触发的回调函数。包括 on_start(Agent 启动时)、on_done(任务完成时)、on_block(进入阻塞时)、on_error(出错时)。钩子可用于自动化工作流,如完成后自动启动审查 Agent。
19.9 N
19.9.1 Named Session(命名 Session)
具有唯一名称的 Herdr session。命名 session 在创建后持久存在,即使断开连接也不会丢失。通过名称可以快速 attach/detach。
19.10 P
19.10.1 Pane(窗格)
Herdr 中最基本的终端单元。一个 Tab 中可以包含多个窗格,每个窗格运行一个独立的进程。窗格可以水平或垂直分割,大小可调整。
19.10.2 Pane ID
窗格的唯一标识符。格式为 tabN:paneM,例如 tab1:pane2 表示第一个 Tab 中的第二个窗格。Pane ID 用于 CLI 命令和 Socket API 中精确定位窗格。
19.10.3 Plugin(插件)
扩展 Herdr 功能的模块化组件。插件可以提供新的 Agent 类型、键绑定、UI 元素或集成能力。通过 herdr plugin install 安装,在配置中启用。
19.10.4 Prefix Mode(前缀模式)
Herdr 的一种键绑定模式。先按下前缀键(默认 Ctrl+a),然后按功能键执行操作。前缀模式避免与 shell 或其他程序的快捷键冲突。
19.11 Q
19.11.1 Quick Start(快速开始)
Herdr 的快速入门流程。通过 herdr init 创建 workspace,herdr agent start <name> 启动 Agent,几分钟内即可开始多 Agent 协作。参见第 3 章《快速开始》。
19.12 R
19.12.1 Reattach(重新连接)
重新连接到已存在的 Herdr session。使用 herdr attach <session-name> 恢复之前的 workspace 状态,包括所有 Tab、窗格和运行中的 Agent。
19.12.2 Remote Attach(远程连接)
连接到远程服务器上运行的 Herdr session。通过 SSH 隧道实现,使用 herdr remote attach <host> <session> 命令。需要远程服务器也安装了 Herdr。
19.13 S
19.13.1 Screen Manifest(屏幕清单)
与 Detection Manifest 类似,指通过扫描窗格屏幕输出来判断 Agent 状态的机制。包括正则匹配模式、置信度评分、扫描行数等参数。
19.13.2 Session
Herdr 的顶层容器。一个 session 包含多个 Tab,每个 Tab 包含多个窗格。Session 可以被 detach(后台保持运行)和 reattach(恢复连接)。
19.13.4 Socket API
Herdr 提供的编程接口,通过 Unix Socket 或 TCP Socket 通信。允许外部程序(IDE 插件、CI 脚本、监控面板等)与 Herdr server 交互,实现查询状态、控制 Agent、创建窗格等操作。参见第 13 章《Socket API》。
19.14 T
19.14.1 Tab(标签页)
Session 中的窗口分组单元。一个 Tab 可以包含多个按水平/垂直分割的窗格。Tab 之间相互独立,可以各自命名和切换。
19.14.2 Terminal Mode(终端模式)
Herdr 窗格的运行模式之一。在终端模式下,Herdr 提供完整的终端模拟器功能,支持颜色、光标控制、alternate screen 等。大多数交互式程序都在此模式下运行。
19.15 U
19.15.1 Unknown(未知状态)
Agent 状态之一,表示 Herdr 无法确定 Agent 的当前状态。可能原因:Agent 未被识别、检测清单不匹配、窗格输出不可读。遇到 Unknown 状态时建议使用 herdr agent explain 诊断。
19.16 W
19.16.1 Worktree(工作树)
Git 的 worktree 功能,允许同一仓库的多个工作目录共存。Herdr 利用 worktree 实现多 Agent 并行开发——每个 Agent 在独立的 worktree 中操作,避免文件冲突。Worktree 目录由配置项 [worktrees].directory 指定。
19.16.2 Workspace(工作空间)
Herdr 的核心工作单元,包含一个或多个 Tab 和窗格的集合,以及关联的配置、Agent 定义和 Git 仓库。一个 workspace 通常对应一个项目。通过 herdr init 创建。
19.16.3 Working Directory(工作目录)
Agent 运行时所在的文件系统路径。工作目录决定了 Agent 可以访问的项目文件范围。通过配置 cwd 指定,支持相对路径(相对于 workspace 根目录)和绝对路径。
19.17 状态图标速查
| 状态 | 图标 | 颜色 | 含义 |
|---|---|---|---|
| Idle | ○ |
灰色 | 空闲待命 |
| Running | ◐ |
蓝色 | 正在执行任务 |
| Done | ● |
绿色 | 任务已完成 |
| Blocked | ■ |
黄色 | 等待输入/决策 |
| Unknown | ? |
红色 | 状态无法确定 |