指南
Claude Code 钩子详解:它是什么,能做什么
简短回答: 钩子让 Claude Code 在工具启动、请求权限或一轮结束时运行你的命令。它们如何工作,以及 Herdbell 如何使用它们。
钩子是智能体在特定时刻运行的一条小命令。Claude Code、Codex 和 Cursor 都以某种形式支持钩子,其他程序无需登录任何账号,也不用抓取屏幕,就能通过它干净地了解智能体在做什么。
一段话讲清思路
你告诉智能体:发生这种情况时,运行这条命令。智能体会运行它,并把该事件的简短描述交给它。这条命令可以只是记录一下(比如发送通知),对于某些事件,它也可以回传一个答案,供智能体使用。
可以挂钩的时机
具体的事件名称和设置因智能体和版本而异,自己动手写之前,请先查看各智能体自己的文档。
- 会话开始或结束,或你发送了提示词。
- 某个工具即将运行,或刚刚运行过。
- 智能体请求权限来做某件事。
- 智能体完成了一轮(Stop 事件)。
它们放在哪里
在设置文件里:Claude Code 是 ~/.claude/settings.json,Codex 是 ~/.codex/hooks.json,Cursor 是 ~/.cursor/hooks.json。手动编辑这些文件完全可以,Herdbell 这类工具也是这样连接的。
Herdbell 如何使用它们
- 连接时,Herdbell 会先备份该文件,再为所需的事件添加自己的小命令。
- 对大多数事件它只是在旁听,以便显示智能体正在做什么。
- 对于权限请求,它会等待你的回答并把答案传回去,所以 Allow 和 Deny 会生效。对于一轮结束,它可以让智能体保持开启,使你的回复回到同一个对话里。
- 如果你没有及时回答,它就会放手,智能体退回到自己的提示。断开连接只会移除 Herdbell 的钩子。
常见问题
钩子需要 API 密钥或登录吗?
不需要。钩子是你 Mac 上的本地命令。Herdbell 借助钩子,所以无需登录任何智能体,也不用调用 AI 模型。
钩子会把我的智能体搞坏吗?
写得不好的钩子可能拖慢或搞乱智能体,所以 Herdbell 会先备份你的设置,让钩子保持精简,并在你不回应时放手。你随时可以断开。