当前位置: 首页 > news >正文

掌握 Claude Code Hooks:让 AI 变得更聪明!

Master Claude Code Hooks Mastery

目录

  • 前置条件
  • 挂钩生命周期与有效负载
  • 示例展示
  • UV单文件脚本架构
  • 关键文件
  • 演示功能
  • 挂钩错误代码与流程控制
  • UserPromptSubmit挂钩深入解析
  • Claude Code子代理
  • 团队基础验证系统
  • 输出样式集合
  • 自定义状态行

前置条件

要使用Claude Code Hooks,您需要:

  • Astral UV- 快速的Python包安装和解析工具
  • Claude Code- Anthropic的Claude AI命令行工具

可选设置:

可选的工具包括:

  • ElevenLabs- 语音合成提供商
  • OpenAI- 语言模型提供商
  • Ollama- 本地语言模型提供商

挂钩生命周期与有效负载

本演示捕获了所有13个Claude Code挂钩生命周期事件及其JSON有效负载:

挂钩生命周期概覽

🗜️ 维护

🔄 主对话循环

🟢 会话生命周期

🤖 子代理生命周期

🛠️ 工具执行

🔧 初始化/维护

▶️ 会话开始

⏹️ 会话结束

📝 用户提示提交

Claude 处理

🔒 使用前钩子

❓ 权限请求

工具执行

✅ 使用后钩子

❌ 使用后钩子失败

🚀 子代理开始

子代理工作

🏁 子代理结束

🔔 通知 (异步)

🛑 停止

📦 使用前压缩

挂钩事件

  1. 用户提示提交挂钩

    • 触发时机:用户提交提示时
    • 有效负载:包含提示文本、会话ID、时间戳
    • 增强功能:提示验证、日志记录、上下文注入、安全过滤
  2. 预工具使用挂钩

    • 触发时机:任何工具执行前
    • 有效负载:工具名称、工具输入参数
    • 增强功能:阻止危险命令
  3. 后工具使用挂钩

    • 触发时机:工具执行成功后
    • 有效负载:工具名称、工具输入、工具响应
  4. 通知挂钩

    • 触发时机:Claude Code发送通知时
    • 有效负载:消息内容
  5. 停止挂钩

    • 触发时机:Claude Code完成响应时
    • 有效负载:停止挂钩活动标志
  6. 子代理停止挂钩

    • 触发时机:Claude Code子代理(任务工具)完成响应时
    • 有效负载:停止挂钩活动标志
  7. 压缩前挂钩

    • 触发时机:在进行压缩操作前
    • 有效负载:触发器类型、会话信息
  8. 会话开始挂钩

    • 触发时机:当Claude Code开始新会话或恢复时
    • 有效负载:会话信息
  9. 会话结束挂钩

    • 触发时机:当会话结束时
    • 有效负载:会话ID、转录路径、工作目录
  10. 权限请求挂钩

    • 触发时机:当用户显示权限对话框
    • 有效负载:工具名称、工具输入、会话信息
  11. 后工具使用失败挂钩

    • 触发时机:工具执行失败时
    • 有效负载:工具名称、输入、错误对象
  12. 子代理开始挂钩

    • 触发时机:当子代理产生时
    • 有效负载:代理ID,代理类型,会话信息
  13. 设置挂钩

    • 触发时机:当Claude进入一个库中或周期性地
    • 有效负载:触发器类型、会话信息

示例展示

  • 完整挂钩生命周期覆盖- 实现所有13个挂钩事件及日志记录(11/13通过自动化测试验证)
  • 提示级控制- 用户提示提交挂钩在Claude看到之前验证和增强提示
  • 智能TTS系统- AI生成音频反馈
  • 安全增强- 多层次阻止危险命令和敏感文件访问
  • 个性化体验- 结合开发者姓名
  • 自动日志记录- 所有挂钩事件以JSON格式记录
  • 聊天转录提取- 后工具使用挂钩将JSONL转录转换为可读JSON格式

UV单文件脚本架构

该项目利用**UV单文件脚本**,保持挂钩逻辑与主要代码库清晰分离。所有挂钩作为独立Python脚本存放在.claude/hooks/中,并嵌入依赖声明。

好处

  • 隔离性- 挂钩逻辑与项目依赖独立
  • 便携性- 每个挂钩脚本在线声明其依赖
  • 无虚拟环境管理- UV自动处理依赖
  • 快速执行- UV的依赖解析速度极快
  • 自包含- 每个挂钩都可以独立理解和修改

关键文件

  • .claude/settings.json- 挂钩配置与权限
  • .claude/hooks/- 使用uv的Python脚本,按挂钩类型
    • user_prompt_submit.py- 提示验证、日志和上下文注入
    • pre_tool_use.py- 安全阻止与日志记录
    • post_tool_use.py- 日志及转录转换
    • post_tool_use_failure.py- 结构化错误日志
    • notification.py- 字段响应与日志
    • stop.py- AI生成的完成信息
  • .claude/agents/- 子代理配置
    • /crypto/- 加密货币分析代理
    • greeting_agent.md- 简单问候示例

演示功能

  • 提示验证与安全过滤
  • 上下文注入以增强AI响应
  • 命令日志记录与审计
  • 自动转录转换
  • 基于权限的工具访问控制
  • 挂钩执行中的错误处理

挂钩错误代码与流程控制

Claude Code挂钩提供强大的机制来控制执行流程并通过退出代码和结构化JSON提供反馈。

退出代码行为

退出代码行为描述
0成功挂钩成功执行
2阻止错误关键: stderr会自动反馈给Claude
其他非阻止错误stderr显示给用户,执行继续

挂钩特定流程控制

每个挂钩类型具有不同的控制能力,具体如下:

用户提示提交挂钩
  • 主要控制点:在Claude处理提示前拦截用户提示
  • 退出代码2:完全阻止提示,向用户显示错误信息
  • 示例:日志记录所有提示并可以验证
预工具使用挂钩
  • 主要控制点:在工具调用前拦截
  • 退出代码2:完全阻止工具调用,向Claude显示错误
后工具使用挂钩
  • 不能阻止(工具已执行)
  • 示例:验证结果,提供反馈

UserPromptSubmit挂钩深入解析

UserPromptSubmit挂钩是在Claude Code交互中的第一道防线和增强层。它在用户提交提示时立即触发。

它能做些什么

  1. 日志记录提示- 记录每个提示及时间戳与会话ID
  2. 阻止提示- 退出代码2令Claude无法看到该提示
  3. 添加上下文- 在用户提示前添加文本
  4. 验证内容- 检查危险模式、机密、政策违规

工作原理

  • 用户输入提示 → Claude Code捕获
  • UserPromptSubmit挂钩触发 → 收到包含用户提示的JSON
  • 挂钩处理 → 记录、验证、阻止或添加上下文
  • Claude接收 → 被阻止的消息或原始提示+上下文

示例用例

  1. 审计日志

    {"timestamp":"2024-01-20T15:30:45.123Z","session_id":"550e8400-e29b-41d4-a716","prompt":"删除项目中的所有测试文件"}
  2. 安全验证

    用户:"rm -rf / --no-preserve-root"挂钩: 阻止: 检测到危险的系统删除命令

Claude Code子代理

Claude Code支持专用的子代理,处理特定任务的自定义系统提示、工具和单独的上下文窗口。子代理是您可以将任务委托给的AI助手。

团队基础验证系统

该存储库包含一种强大的构建/验证工作模式,利用Claude Code任务系统来协作专门的代理团队。

/plan_w_team元提示

/plan_w_team命令不仅仅是一个普通提示,它具备三个强大的组件:

  1. 自我验证
  2. 代理协调
  3. 模板化

示例工作流

使用命令创建团队计划,并自动验证其输出。程序将协调执行不同角色的任务,以确保工作正确完成。

输出样式集合

该项目包括一组全面的自定义输出样式,用于改变Claude Code的响应方式。用户可以通过运行/output-style [name]来激活任何样式。

自定义状态行

自定义状态行在Claude Code会话过程中动态展示实时情境信息,帮助用户掌握当前进度和任务状态。

以上是关于Master Claude Code Hooks的全面介绍,利用这些功能,用户可以极大地提升操作的灵活性、安全性和便利性,以更好地与Claude Code进行交互和管理。

http://www.jsqmd.com/news/350003/

相关文章:

  • 2026年 纸盒包装厂家推荐排行榜:白盒/白卡盒/双插盒/扣底盒/彩盒/天地盖/飞机盒/纸套/封套/抽屉盒/瓦楞盒,匠心定制与创新设计一站式解决方案 - 品牌企业推荐师(官方)
  • 2026最新木纹板材十大品牌推荐!优质源头厂家推荐 - 品牌推荐2026
  • 新创公司发布大模型以革新大数据分析,获2.55亿美元A轮融资
  • 东风奕派官方回应eπ007碰撞起火,宣传与现实有出入?——为什么过了一年的视频才曝光引起了关注——东昱欣晟(欣旺达)这个磷酸铁锂电磁如何?——为啥还容易起火?——对比:欣旺达 LFP vs 比亚迪刀片
  • 2026年优秀的开门式限高架,防撞限高架,铁路桥限高架厂家采购参考榜单 - 品牌鉴赏师
  • 2026最新酒店布草车推荐!国内优质酒店布草车权威榜单发布,品质服务双优助力酒店高效运营 - 品牌推荐2026
  • 2026年全球 TOP20 编程语言全景解析:框架、难度、商业场景一网打尽
  • 2026年优秀的稀土抛光粉研发,氧化铈稀土抛光粉,氧化铈稀土抛光粉厂家选型参考指南 - 品牌鉴赏师
  • 2026年 彩卡画册说明书厂家推荐榜单:吸塑纸卡/手袋/海报/吊牌/织唛/纸袋等印刷品源头优质供应商精选 - 品牌企业推荐师(官方)
  • 2026洁净室工程改造扩建,这些靠谱服务商值得参考 - 品牌2025
  • 这份榜单够用!10个AI论文工具测评:专科生毕业论文+开题报告高效写作指南
  • # C#实现高效稳定的串口通讯
  • 2026年有实力的八角监控杆,交通监控杆厂家综合实力参考 - 品牌鉴赏师
  • 2026最新校园接驳车推荐!国内优质校园接驳车权威榜单发布,资质服务双优助力智慧校园交通 - 品牌推荐2026
  • 从用户需求到产品体验:UI/UX 设计核心方法论与实战指南
  • 2026年比较好的免熏蒸包装箱,钢边木箱,天津木包装箱厂家用户口碑推荐清单 - 品牌鉴赏师
  • 2026工业厂房机电安装工程核心服务商,这几家值得重点关注 - 品牌2025
  • ICPC2025沈阳
  • YOLOv11改进 - 卷积Conv 加权卷积wConv2D:无损替换标准卷积,增强空间建模与特征提取质量
  • AbMole丨GSK-J4:一种靶向H3K27me3去甲基化酶的多功能抑制剂
  • 2026厂房恒温恒湿工程设计施工一体化承包,全程透明化管理更安心 - 品牌2025
  • 2026年优秀的高速标志牌,公路标志牌,公路指示牌厂家采购参考榜单 - 品牌鉴赏师
  • 2026年靠谱的全棉四件套,纯棉四件套厂家推荐榜单 - 品牌鉴赏师
  • 微信小程序Python-uniapp 人工智能AI技术的垃圾分类助手系统
  • 2026年诚信的限高防护架,涵洞限高防护架厂家专业评测推荐榜 - 品牌鉴赏师
  • YOLOv11改进 - 卷积Conv _ 融合多阶门控聚合网络MogaNet与 CA block,提升复杂场景与小目标检测鲁棒性
  • 讲讲2026年芯动黄金名表名包奢侈品回收性价比咋样 - 工业推荐榜
  • 2026年2月四川实木/玻璃/别墅/螺旋/公寓/楼梯厂家竞争格局深度分析报告 - 2026年企业推荐榜
  • 巧用DNS重绑定技术攻破Snapchat云服务器:价值12500美元的安全漏洞