Hooks
Hooks 提供了一个可扩展的事件驱动系统,用于响应代理命令和事件来自动执行操作。Hooks 会从指定目录中自动发现,并且可以通过 CLI 命令进行管理。入门导览
Hooks 是在某些事件发生时运行的小脚本。主要有两种类型:- Hooks(本页内容):当代理事件触发时,在网关内部运行
- Webhooks:外部 HTTP webhook,允许其他系统触发 OpenClaw 中的工作
快速开始
列出可用 Hooks
启用 Hook
检查 Hook 状态
获取详细信息
内置 Hooks
OpenClaw 自带四个自动发现的内置 hooks:💾 session-memory
当执行/new 时将会话上下文保存到代理工作区。
~/.openclaw/workspace/memory/
文件名示例:
2026-01-16-vendor-pitch.md2026-01-16-api-design.md
📎 bootstrap-extra-files
在agent:bootstrap 阶段注入额外的启动文件。
📝 command-logger
将所有命令事件记录到集中审计文件。~/.openclaw/logs/commands.log
查看日志:
🚀 boot-md
网关启动时运行BOOT.md。
事件类型
命令事件
command:new— 发出/new命令时command:reset— 发出/reset命令时command:stop— 发出/stop命令时
会话事件
session:compact:before— 压缩历史摘要之前session:compact:after— 压缩完成
代理事件
agent:bootstrap— 在注入工作区 bootstrap 文件之前
网关事件
gateway:startup— 频道启动及 hooks 加载后
消息事件
message:received— 收取任一渠道入站消息message:transcribed— 消息已全解析(包含音频转录)message:preprocessed— 所有媒体和链接解析完毕后触发message:sent— 出站消息发送成功时
创建自定义 Hooks
1. 选择位置
- 工作区 hooks:
<workspace>/hooks/ - 管理 hooks:
~/.openclaw/hooks/
2. 创建目录结构
3. 创建 HOOK.md
4. 创建 handler.ts
5. 启用并测试
配置
新配置格式(推荐)
针对某个 Hook 的配置
Hook 发现机制
Hooks 会自动从三个目录中发现(优先级按顺序):- 工作区 hooks:
<workspace>/hooks/ - 管理 hooks:
~/.openclaw/hooks/ - 内置 hooks:
<openclaw>/dist/hooks/bundled/
CLI 命令
列出 Hooks
查看 Hook 信息
检查条件
启用 / 禁用
故障排查
Hook 未被发现
-
检查目录结构:
- 验证 HOOK.md 格式
-
列出所有已发现的 hook:
Hook 不合格
- 二进制程序(检查 PATH)
- 环境变量
- 配置
- OS 兼容性
Hook 不执行
-
确认 hook 已启用:
- 重启网关进程
-
查看网关日志: