hooks

Hooks 提供事件驱动的自动化能力,当特定事件发生时自动执行操作。

设计理念

问题

开发中有很多重复性任务:

  • 保存文件后运行 linter

  • 提交前运行测试

  • 文件创建后添加模板

手动执行效率低。

解决方案

事件驱动的自动化:

事件发生 → 触发 Hook → 执行操作

Hook 结构

基本格式

Hook Schema

事件类型

文件事件

fileEdited - 文件保存时触发

fileCreated - 文件创建时触发

fileDeleted - 文件删除时触发

Agent 事件

promptSubmit - 用户发送消息时触发

agentStop - Agent 执行完成时触发

工具事件

preToolUse - 工具执行前触发

postToolUse - 工具执行后触发

Hook 操作

askAgent

让 AI 执行某个操作:

runCommand

执行 Shell 命令:

创建 Hook

使用 createHook 工具

手动创建

Hook 管理

列出 Hooks

启用/禁用

实用示例

1

自动测试

2

代码审查

3

自动提交

下一步