添加快捷方式
分享
快速上手 Claude Hooks ,一篇文章带你搞懂
输入“/”快速插入内容
快速上手 Claude Hooks ,一篇文章带你搞懂
用户923
用户923
1月11日修改
什么是 Claude Hooks ?
可以分开来看,Claude 是一个帮你写代码/干活的 AI。
Hook 是一个自动触发的动作。
Claude Hooks 就是可以在 Claude 工作过程中,自动执行你设置的动作。
有什么用?
我们在让 Claude 帮我们干活时,它是有一些固定阶段的,比如:
•
收到你的指令的时候
•
生成代码前
•
生成代码后
•
保存文件前
•
执行命令前
Hooks 的作用就是:
当 Claude 走到某一步时,自动帮你执行一段脚本 / 程序。
举个生活的例子:
你每次买东西付完款之后,银行卡都会收到一条扣费短信。这其实就可以看成是一个 Hook,当银行卡支付成功这个动作发生的时候,自动触发一个发短信的脚本。
Apple watch可以在你摔倒的时候自动发送SOS求救,也可以看成是一个 Hook。当摔倒这个动作发生的时候,就触发 SOS求救。
那我们在使用 Claude 的时候,也会有很多固定的阶段,在这些固定的阶段,我们使用 hooks 就可以做一些很有意思的事情。
案例 1,自动格式化代码:
Claude 每次生成代码后 → 自动跑
prettier
→ 帮你格式化
案例 2:自动记录日志
每次 Claude 改了文件 → 自动把改动写进日志 → 方便你回溯
案例 3:自动跑测试
Claude 写完功能后 → 自动跑测试 → 如果报错就提醒你
hooks 钩子可以在哪些时候运行?
就像上面我们付款的例子,付完款之后可以使用 hooks 去给我我们发一条短信,告诉我们扣款信息。
那 claude hooks 都可以在哪些时候运行呢?
•
PreToolUse:在工具调用前运行(可阻止调用)
•
PermissionRequest:在显示权限对话框时运行(可允许或拒绝)
•
PostToolUse:在工具调用完成后运行
•
UserPromptSubmit:在用户提交提示后、Claude 处理之前触发
•
Notification:当 Claude Code 发送通知时触发
•
Stop:当 Claude Code 完成回复时运行
•
SubagentStop:在子代理任务完成时运行
•
PreCompact:在 Claude Code 即将执行压缩操作前运行
•
SessionStart:在 Claude Code 启动新会话或恢复现有会话时运行
•
SessionEnd:在 Claude Code 会话结束时运行
实操演示