Claude Code的hook
Claude Code的hook
https://code.claude.com/docs/en/hooks#exit-code-2
https://zhuanlan.zhihu.com/p/1950634615065809103
https://github.com/fanqingsong/claude-code-hooks-demo
https://github.com/fanqingsong/claude-code-hooks
什么是hook?
Claude Code 中的 hook 本质上是用户定义的 Shell 命令,它能够在 Claude Code 生命周期的各个“关键节点”自动执行。
用通俗的话来说:如果将 Claude Code 的工作流程比作一条繁忙的高速公路,那么 hook 就是沿途设置的智能交通信号灯,能够在预设的关键路口进行流量控制、安全检查和信息收集等操作。
为什么需要hook?
假设没有 hook,你想让 Claude Code 在每次编辑文件后都自动格式化代码,你就需要在每次对话时都主动提示它。但有了 hook,这个过程就变成了自动化的。
在 Claude Code 中,hook提供了确定性的控制机制,通过将规则和流程编码为应用程序级代码而非提示指令,hook 能够保证命令按预期执行,而不是依赖LLM的选择来运行它们。
Hook的常见应用场景
Hook 的应用场景非常灵活且广泛,以下是一些常见的应用示例:
| 应用场景 | 具体功能示例 |
|---|---|
| 智能通知系统 | • 当Claude Code需要你的输入时,自动发送桌面通知 • 集成邮件提醒、Slack消息等 |
| 自动代码格式化 | • 每次文件编辑后自动运行prettier格式化.ts文件 • 对.go文件运行gofmt • 自动修复markdown文件格式问题 |
| 日志记录与审计 | • 跟踪和记录所有执行的命令 • 用于合规性检查和调试分析 |
| 代码质量反馈 | • 当Claude Code生成不符合代码库约定的代码时提供自动反馈 • 集成代码检查工具和测试框架 |
| 安全与权限控制 | • 阻止对生产文件或敏感目录的修改 • 实施自定义的安全策略 |
出处:http://www.cnblogs.com/lightsong/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

浙公网安备 33010602011771号