[控场AI]
概念Hooks机制 / 事件触发机制

Hooks

Hooks是一种事件驱动的自动化机制,通过监听特定触发事件(如文件保存、代码提交等)来自动执行预定义的操作或工作流。其核心特征包括:与开发流程深度集成、支持自定义触发条件与响应动作,以及无需人工干预即可完成测试、格式化、构建等任务。Hooks广泛应用于开发工具和IDE中,用于提升自动化程度和开发效率。

核心事实

时间轴 (近 90 天)

10月28日

PreToolUse hook 返回非零退出码即可阻止对应的工具调用。

待验证50%
10月21日

MCP、Skills、SubAgent、Hooks 配合权限模式使用,才能发挥 Claude Code 作为可编排系统的能力。

待验证50%
10月20日

提示词本质上是请求而非保证,模型可能忘记执行其中的要求;Hooks 通过到点自动执行脚本提供强制保证。

待验证50%
10月20日

当 Claude Code 等待用户确认或输入时会触发通知事件,可以配置命令发送桌面通知。

待验证50%
10月20日

在“工具调用前”事件中配置检查脚本,当命中保护名单时以退出码 2 拦截操作,可以实现敏感文件的门禁,且拦截仅针对本次操作而非永久禁止。

待验证50%
10月20日

在“工具调用后”事件中配置匹配文件编辑类工具的钩子,可以实现文件修改后自动格式化,并且格式化错误信息可以回传给模型供其自我修正。

待验证50%
10月20日

Hooks 脚本文件需要添加可执行权限,否则会静默失败。

待验证50%
10月20日

Hooks 配置写在设置文件的 hooks 块中,用户级、项目级和本地级三层设置均适用,多层钩子会合并并各自触发,互不覆盖。

待验证50%
10月20日

Hooks 脚本以退出码 0 表示正常放行,以退出码 2 表示阻止本次操作,此时标准错误输出会作为拦截理由回传给模型;其他非零退出码通常只被视为脚本自身出错,不一定拦截。

待验证50%
10月20日

每个 Hooks 事件会携带结构化的 JSON 输入,包含会话 ID、工具名、工具参数等信息,脚本通过标准输入读取。

待验证50%

还有 23 条时间轴事件

全部知识事实 (20)

已验证

Hooks 是一种事件驱动的自动化触发机制,当特定操作完成时自动触发预设的后续动作

65%
已验证

Hooks采用按需加载(懒加载)设计,只在触发时才加载到上下文中,平时不占据上下文空间

65%
已验证

Gemini CLI的密钥扫描钩子能自动拦截包含硬编码API密钥的文件写入操作

65%
待验证

Plugin将Skills、Hooks和MCP配置打包成单个可安装包,新工程师安装后可立即拥有与资深同事相同的上下文和能力

90%
待验证

Hooks的stop hook可以在会话结束时反思发生了什么并提出CLAUDE.md更新建议,start hook可以动态加载团队特定的上下文

90%
待验证

Kiro提供Hooks开发钩子机制,将Git Hooks和CI/CD流水线的自动化能力与AI能力结合,在本地开发阶段触发

90%
待验证

Claude Code的Hooks机制是确定性的,每次都会执行,而Claude.md中的提示词指令是概率性的,可能被遗漏

85%
待验证

Hooks和Skills的核心区别在于:Skill是模型主动调用的拉模式(Pull),Hook是外部系统被动触发的推模式(Push)

85%
待验证

Claude Code的Hooks机制包括停止钩子(会话结束时自动提议更新CLAUDE.md)和启动钩子(自动加载最新上下文信息)

85%
待验证

Claude Code的Hooks系统提供29个事件钩子,借鉴了Git Hooks的事件驱动架构设计

80%
待验证

Claude Code的Hooks机制是AI完全无法绕过的硬性约束,可在AI行动链中设置强制检查点,防止因模型幻觉或误判导致的越权操作

80%
待验证

用好Hooks能减少大量不必要的返工,开发效率至少提升一倍

60%
待验证

Hooks是程序化的硬约束,通过事件驱动机制强制执行,不依赖模型的自觉性,比CLAUDE.md的软约束方式更可靠

60%
待验证

Claude Code Hooks中退出码0表示放行,退出码2表示硬拦截(AI不会重试),其他非零退出码表示软警告

60%
待验证

Claude Code的工具链(harness)由五个扩展点构建而成:CLAUDE.md文件、Hooks、Skills、Plugins、LSP集成与MCP服务器

60%
待验证

Kiro的两大核心功能是Specs(规范)和Hooks(开发钩子)

60%
待验证

Gemini CLI的钩子机制能在AI生成内容写入磁盘之前完成拦截,属于左移安全(Shift-Left Security)实践

60%
待验证

Gemini CLI通过三个关键特性解决AI编码控制问题:钩子(Hooks)、技能(Skills)和计划模式(Plan Mode)

60%
待验证

PreToolUse hook 返回非零退出码即可阻止对应的工具调用。

50%
待验证

MCP、Skills、SubAgent、Hooks 配合权限模式使用,才能发挥 Claude Code 作为可编排系统的能力。

50%

来源文章