完整生命周期

28 种生命周期事件的完整技术规格,让你在任意时机精确控制 Claude 的自动化行为

实战39 分钟前置:社区 Skills

一、一句话摘要


二、核心内容

公共输入字段与输出控制

所有生命周期事件通过 stdin(command 类型)或 POST body(http 类型)接收 JSON 输入。以下字段在所有事件中都存在:

字段说明
session_id当前会话标识符
transcript_path对话 JSON 文件路径
cwdHook 被调用时的工作目录
hook_event_name触发的事件名称
permission_mode当前权限模式(default / plan / acceptEdits / auto / dontAsk / bypassPermissions

在 SubAgent 内部触发时,额外附加两个字段:

字段说明
agent_idSubAgent 唯一标识符,用于区分主线程和子代理
agent_typeAgent 名称(ExplorePlan、自定义名称等)

if 字段:Hook 处理器可配置 if 字段,使用权限规则语法做精细过滤(如 "Bash(git *)""Edit(*.ts)")。仅在工具事件(PreToolUse、PostToolUse、PostToolUseFailure、PermissionRequest、PermissionDenied)上评估。与 matcher 的区别:matcher 匹配工具名,if 匹配工具名 + 参数模式。

所有事件都支持以下 JSON 输出字段(exit 0 时生效):

付费内容

继续阅读完整课程

购买后即可解锁全部 16 个功能模块、实战场景与深度配置。

¥199¥399
  • 30 分钟完成第一个真实任务
  • 实战场景 + 深度配置
  • 无需续费,持续更新