什么是 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 会话结束时运行

实操演示

我们知道 claude code 可以自动帮我们完成工具调用,比如查看当前目录下有哪些文件。

这其实就是 claude code 去调用 Bash 帮我们完成的,不使用 claude code ,你直接在命令行使用 ls 命令也能查看。

任务:

现在我们就想要去配置一个 Claude hooks ,当 claude 调用 Bash 命令之前,我们自动把它调用的这个命令,以及这个命令是干什么用的,给它记录到一个日志文件里面。

也就是,当 claude 在调用工具之前,触发记录日志这个动作。

下面看看具体怎么做:

为了更好的阅读体验,来飞书看吧:

https://my.feishu.cn/docx/BrGfdaMgzoEM9AxFoZxcGe01nmf

Comments on "快速上手 Claude Hooks ,一篇文章带你搞懂​" :

Leave a Reply

Your email address will not be published. Required fields are marked *

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联络我们。

对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源