事件驱动脚本,在 Gateway 内部事件触发时运行。

两种钩子

  • Internal hooks(本页):Gateway 内部事件触发(/new//reset//stop/生命周期)
  • Webhooks:外部 HTTP 端点触发 OpenClaw 工作 → concepts/automation-cron
  • Plugin hooks:进程内工具调用拦截 → concepts/plugin-hooks

快速开始

openclaw hooks list          # 列出可用钩子
openclaw hooks enable session-memory  # 启用钩子
openclaw hooks check         # 检查钩子状态
openclaw hooks info session-memory    # 详细信息

事件类型

事件触发时机
command:new/new 命令
command:reset/reset 命令
command:stop/stop 命令
session:compact:before压缩前
session:compact:after压缩后
session:patch会话属性修改
agent:bootstrap工作区引导文件注入前
gateway:startupGateway 启动后
gateway:shutdownGateway 关闭时
gateway:pre-restart预期重启前
message:received收到入站消息
message:transcribed音频转录完成
message:preprocessed媒体/链接预处理完成
message:sent出站消息投递

钩子结构

my-hook/
├── HOOK.md          # 元数据 + 文档
└── handler.ts       # 处理器实现

HOOK.md 格式

---
name: my-hook
description: "Short description"
metadata:
  { "openclaw": { "emoji": "🔗", "events": ["command:new"], "requires": { "bins": ["node"] } } }
---

注意事项

  • Gateway 仅在启用钩子或配置至少一个钩子条目后才加载内部钩子
  • 钩子可以打包在插件内,openclaw hooks list 同时显示独立钩子和插件管理的钩子

相关

  • concepts/automation-overview — 自动化机制选择
  • concepts/plugin-hooks — 插件钩子系统
  • concepts/cli-hooks — openclaw hooks CLI 参考