一、一句话摘要
二、为什么需要完整的事件视野
生命周期事件 介绍了 26 种事件的分类和触发顺序。分类足以选对事件,但编写 Hook 脚本时还需要更具体的信息:每个事件的 JSON 输入包含哪些字段?输出 JSON 能控制什么?阻断机制的精确条件是什么?
这些信息直接影响 Hook 脚本的实现方式。PreToolUse 的 updatedInput 可以在放行的同时修改工具参数;PermissionRequest 的 updatedPermissions 可以动态写入权限规则;Stop 的 stop_hook_active 是防止无限循环的唯一可靠标志。
三、核心内容
公共输入字段与输出控制
所有生命周期事件通过 stdin(command 类型)或 POST body(http 类型)接收 JSON 输入。以下字段在所有事件中都存在:
在 SubAgent 内部触发时,额外附加两个字段: