Hooks 钩子
响应工作区变化的事件驱动自动化
功能简介
Hooks 让你能够自动响应工作区事件。当某件事发生时 —— 添加了一个标签、会话状态发生变化,或某个工具被运行 —— Hooks 会自动触发,执行 shell 命令或向智能体对话中注入提示词。
事件类型
Hooks 响应五种事件类型:
LabelAdd
当某个标签被添加到会话时触发。可用于基于分类触发工作流 —— 例如,在应用「research」标签时自动指派一个智能体。
SessionStatusChange
当会话在不同状态(Todo、In Progress、Done、Blocked)之间移动时触发。可用于通知或触发后续任务。
PreToolUse
在智能体使用工具之前触发。可用于校验、把关或修改工具调用 —— 例如,要求对文件写入进行审批。
PostToolUse
在工具执行之后触发。可用于基于工具结果进行日志记录、审计或触发副作用。
SchedulerTick
按 cron 计划触发。可用于周期性任务,例如每日评估、备份触发或定时的 Autopilot 运行。
Hook 动作
每个 Hook 可以执行以下两种动作类型之一:
命令型 Hook
在事件触发时执行一条 shell 命令。适用于外部集成、通知或文件操作。
提示型 Hook
在事件触发时向智能体的系统提示词中注入一条消息。这会基于上下文 引导智能体的行为。
配置
Hooks 在你的工作区配置文件中定义。每个 Hook 指定一个事件类型、可选的条件 (例如特定的标签名或工具名)以及要执行的动作。
完整的 Hook 配置 schema 与示例,请参阅 配置文件。
使用场景
- 自动评估 —— 每当某个商业计划书章节状态变为「complete」时触发一次 4F 评估
- 质量门 —— 使用 PreToolUse hook,在智能体修改商业计划书内容前要求审批
- 通知 —— 当任务移动到 Review 时运行一条 shell 命令发送 Slack 消息
- 定时审查 —— 使用 SchedulerTick 对你的商业计划书每日运行一致性检查
- 审计轨迹 —— 使用 PostToolUse hook 将所有工具执行记录到文件中