核心功能

Hook

Hook 用来在 Claude CLI 的关键事件发生时自动执行命令。它适合做轻量自动化,比如记录任务日志、在工具调用前做检查、在会话结束时整理状态,或者把某些固定动作接到 Agent 工作流里。

当前 Hook 功能仅支持 Claude CLI。如果你使用 ZCode Agent、Codex CLI、Gemini CLI 或 OpenCode CLI,这些框架暂时不会读取这里的 Hook 配置。

Hook 列表

管理 Hook

进入 设置 -> Hook 后,可以看到已经配置好的 Hook。列表会展示触发事件、匹配器和要执行的命令,右侧可以编辑或删除。

常见事件包括:

  • UserPromptSubmit:用户提交提示词时触发。
  • PreToolUse:工具调用前触发,常用于做权限、日志或安全检查。
  • PostToolUse:工具调用后触发,常用于记录结果或同步状态。
  • SessionEnd:会话结束时触发,适合清理临时状态或写入日志。

建议把 Hook 命令写得短、可重复执行,并设置合理的超时时间。不要把破坏性命令放进 Hook,尤其是会自动删除文件、提交代码或修改线上环境的命令。

新建 Hook

点击右上角 新建 Hook,填写事件、匹配器、命令和超时时间,然后保存。

新建 Hook

字段说明:

  • 事件:选择 Hook 触发时机,例如 PreToolUseSessionEnd
  • 匹配器:限制 Hook 只在特定工具或模式下触发,例如 BashWriteEdit。部分事件不需要填写。
  • 命令:真正执行的 shell 命令。
  • 超时时间:命令允许运行的秒数,避免 Hook 卡住任务。

保存后回到列表,点击 刷新 确认 Hook 已经出现。后续要调整逻辑,可以直接点列表右侧的编辑按钮。

适合用 Hook 的场景

  • 记录每次提示词提交和工具调用,便于回看任务过程。
  • 在运行 Bash 前写入审计日志。
  • 在文件写入前做轻量检查。
  • 在会话结束时输出本次任务状态。
  • 接入团队已有的本地脚本,让 Claude CLI 工作流更稳定。

如果只是保存一段常用提示词,用 Command 更直接;如果需要让 Agent 学会一套完整流程,用 Skill 更合适。Hook 更适合“事件发生时自动执行”的动作。

下一步