Skip to content
2026-09-29 04:20328 字AIOpenClawHook钩子

Hook System 钩子系统 ​

源码路径:src/hooks/

Hook System 是 OpenClaw 的可扩展钩子层。允许内置功能、插件和用户自定义代码在消息处理各阶段插入逻辑(入站前、出站前、工具调用前后等)。

核心职责 ​

职责说明
钩子注册管理 built-in / managed / workspace 三个来源
钩子加载动态加载钩子处理器模块
配置钩子根据配置启用/禁用特定钩子
全局单例通过 Symbol 键防止钩子命名冲突

三种钩子来源 ​

来源目录安全性
bundled内置打包可信
managed插件/包管理可信(来源可控)
workspace用户工作区受信任的本地代码

全局单例注册 ​

  • 使用 Symbol.for("openclaw.hookGlobalSingleton") 作为全局键
  • 通过 resolveGlobalSingleton() 解析
  • 防止多实例键冲突

关键源文件 ​

文件职责
hooks.ts钩子处理器别名导出
configured.ts配置钩子助手
loader.ts钩子处理器动态加载器

设计模式 ​

模式应用
钩子模式在消息处理管线中插入可扩展逻辑
全局单例Symbol 键防止冲突
目录发现从多目录自动发现钩子

每一篇文章,都是时间的标本