第5集:核心差异(3)——Hooks 事件钩子深拆

⏱ 预计阅读 3 分钟 更新于 2026/5/7
💡 进群学习加 wx: agentupdate
(申请发送: agentupdate)

Hooks(钩子)允许你在 AI 执行任务的关键节点自动插入自定义脚本。这是实现“硬约束”和“自动化流”的最强工具。

1. 事件覆盖面对比

事件类型 Claude Code Gemini CLI Antigravity
工具调用前/后
会话启动/结束
回复生成后
模型推理前/后 独有
上下文压缩前
  • Gemini CLI 是粒度之王:它拥有独有的 BeforeModelBeforeToolSelection 钩子。这意味着你可以在 AI 决定调用工具之前,先运行脚本修改它的上下文或约束它的选择。
  • Antigravity 的短板:它原生不支持任何事件钩子,所有的流程必须通过规则文件引导,属于“软约束”。

2. 实战场景:安全拦截

Claude CodeGemini CLI 中,你可以编写一个 PreToolUse 钩子:

  1. 当 AI 试图运行 rm -rf 命令时。
  2. 钩子脚本被触发,通过退出码 (exit code) 拦截该操作。
  3. 提示用户手动确认。

3. 示例代码 (Gemini CLI Hook)

"hooks": {
  "BeforeTool": {
    "command": "bash",
    "args": ["scripts/security-check.sh"],
    "matcher": "Bash"
  }
}

💡 总结

如果你需要构建一个高度受控、具备自动化合规检查的 AI 工作站,Claude CodeGemini CLI 的 Hooks 系统是不可或缺的。Gemini CLI 提供的模型层钩子甚至允许你观察和干预 AI 的思考过程。