Skip to content
雲里
里雾

Hook 🌱 Seed

开发

Content

埋在流程关节处的触发器。你不去调用它,而是某个事件发生时它自动执行。核心模式是「如果发生了 X,就自动做 Y,必要时可以否决 X」。

这个概念在 Git、Claude Code、OpenClaw 中都有实现,形式不同但本质一致:不修改主流程的代码,只在流程的”缝隙”里插入自定义行为。

Git Hook 是最经典的:在 .git/hooks/ 放脚本,Git 在 pre-commit、post-merge 等节点自动执行。如果 pre-commit 脚本返回非零值,提交就会被阻止——这就是”否决权”。

Claude Code Hook 把同样的思路搬到了 AI 工作流。事件节点变成了 PreToolUse、PostToolUse、Notification 等 AI 生命周期事件。其中 PreToolUse 是唯一能阻断操作的 hook,可以做安全门控,比如”禁止修改 production 目录”。

OpenClaw Hook 分两种:Internal Hook 响应 Agent 内部事件(/new、/reset、/stop),Webhook 接收外部 HTTP 请求。它的独特之处是可以同步拦截并修改工具的输出结果,在写入会话记录之前做变换。

Question

  • Hook 和 Event Listener(事件监听器)有什么本质区别?Hook 强调的是拦截和否决能力,Event Listener 更像是纯粹的旁观和响应?
  • OpenClaw 的 hook 能修改工具输出这一点很有意思,这是不是意味着 hook 可以作为 Agent 行为的”过滤器”?

See Also

Claude Code
Skill
OpenClaw
MCP

Reference

分享这张卡片:
分享到 X

Hook

#编程

反向链接