一、一句话摘要
二、核心内容
公共输入字段与输出控制
所有生命周期事件通过 stdin(command 类型)或 POST body(http 类型)接收 JSON 输入。以下字段在所有事件中都存在:
在 SubAgent 内部触发时,额外附加两个字段:
if 字段:Hook 处理器可配置 if 字段,使用权限规则语法做精细过滤(如 "Bash(git *)" 或 "Edit(*.ts)")。仅在工具事件(PreToolUse、PostToolUse、PostToolUseFailure、PermissionRequest、PermissionDenied)上评估。与 matcher 的区别:matcher 匹配工具名,if 匹配工具名 + 参数模式。
所有事件都支持以下 JSON 输出字段(exit 0 时生效):