乐于分享
好东西不私藏

OpenClaw �� Hooks 钩子是什么?3 分钟一次性讲透!

OpenClaw �� Hooks 钩子是什么?3 分钟一次性讲透!

OpenClaw的Hooks功能很多人听说过但没用过,今天一次讲透。

先说说啥是Hooks

官方文档:钩子是在 Gateway 网关内部发生某些事件时运行的小型脚本。它们可以从目录中被发现,并可通过 openclaw hooks 进行检查。只有在你启用钩子,或至少配置了一个钩子条目、hook pack、旧版处理器或额外钩子目录后,Gateway 网关才会加载内部钩子。

说人话:Hooks(钩子),简单来说就是一种自动化机制。当OpenClaw里发生某些事情的时候,Hooks能自动帮你执行一些操作。

举个例子,你每次输入/new命令创建新会话的时候,Hooks可以自动帮你:

  • • 保存上一会话的记录到memory
  • • 记录操作日志
  • • 调用外部API
  • • 写入文件

根本不用你动手!

两种Hook类型

OpenClaw里其实有两种Hook:

1. 内部Hooks

这个是运行在Gateway里的,当一些特定事件发生时自动执行。比如:

  • • command:new —— 你输入/new命令时
  • • command:reset —— 你输入/reset命令时
  • • gateway:startup —— OpenClaw启动时
  • • agent:bootstrap —— Agent启动时

2. Webhooks

这个是对外的,允许其他系统通过HTTP请求来触发OpenClaw的工作。比如你可以在Gmail里设置规则,当收到特定邮件时自动调用OpenClaw。

自带4个常用Hook

OpenClaw默认带了4个很实用的Hooks:

Emoji
名字
作用
💾
session-memory
每次/new时自动保存会话记录到memory目录
📎
bootstrap-extra-files
启动时注入额外的bootstrap文件
📝
command-logger
记录所有命令到日志文件
🚀
boot-md
启动时自动运行BOOT.md

session-memory这个我觉得最实用!每次创建新会话都会自动保存之前的对话记录,这样就不怕之前的重要信息丢失了。

怎么用?几条命令搞定

查看有哪些Hooks:

openclaw hooks list

启用一个Hook:

openclaw hooks enable session-memory

查看状态:

openclaw hooks check

查看详细信息:

openclaw hooks info session-memory

怎么自己写一个Hook?

如果你想自己写Hook,需要创建一个目录结构:

my-hook/├── HOOK.md      # 元数据和说明文档└── handler.ts   # 处理逻辑

HOOK.md的格式:

---name: my-hookdescription: "我的第一个Hook"metadata: { "openclaw": { "emoji": "🎯", "events": ["command:new"] } }---# 我的自定义Hook这个Hook会在你输入/new命令时执行...

handler.ts的格式:

importtype { HookHandler } from"../../src/hooks/hooks.js";consthandlerHookHandler = async (event) => {// 只在command:new时触发if (event.type !== "command" || event.action !== "new") {return;  }console.log("[my-hook] 执行啦!");// 在这里写你的自定义逻辑};exportdefault handler;

都能干些啥?

根据官方文档,Hooks可以实现这些场景:

  1. 1. 保存记忆 —— /new时自动把当前会话存到memory
  2. 2. 日志追踪 —— 记录所有命令,方便排查问题
  3. 3. 审计合规 —— 满足监管要求
  4. 4. 自动化 —— 会话开始或结束时触发后续操作
  5. 5. 文件操作 —— 事件发生时自动写入文件或调用外部API

说白了,只要你能写TypeScript,就能写Hook,就能让OpenClaw帮你干各种自动化的事情。

Hooks vs Cron vs Heartbeat 有啥区别?

很多人会问:Hooks、Cron定时任务、Heartbeat心跳,这三个功能有啥区别?我帮大家捋一捋:

功能
触发方式
适用场景
难度
Hooks
事件触发
特定事件发生时自动执行
需要写代码
Cron
时间触发
定时执行任务
会写命令就行
Heartbeat
定时触发
周期性检查和提醒
会配置就行

举个例子分别它们

Hooks——比如你每次输入/new命令时,自动保存上一次的会话记录。这个是「事件驱动」。

Cron——每天早上9点自动查询天气。这个是「时间驱动」。

Heartbeat——每天下午3点分析A股收盘数据并给出操作建议。这个也是「时间驱动」,但更侧重于「巡检」和「提醒」。

怎么选?

  • • 需要响应某个操作 → 用Hooks
  • • 需要定时执行任务 → 用Cron
  • • 需要周期性检查+提醒 → 用Heartbeat

简单来说:

  • • Hooks是「你做了什么」时自动触发
  • • Cron是「到了某个时间」自动执行
  • • Heartbeat是「定时检查+通知你」

钩子发现顺序

钩子会按以下目录进行发现,覆盖优先级依次递增:

  1. 1. 内置钩子:随OpenClaw一起发布
  2. 2. 插件钩子:内置在已安装插件中的钩子
  3. 3. 托管钩子~/.openclaw/hooks/(用户安装,在各工作区间共享)
  4. 4. 工作区钩子<workspace>/hooks/(每个智能体单独使用,默认禁用,需显式启用)

注意:工作区钩子可以新增钩子名称,但不能覆盖同名的内置钩子、托管钩子或插件提供的钩子。

启用方式

在配置内部钩子之前,Gateway会在启动时跳过内部钩子发现。你可以通过以下方式启用:

  • • openclaw hooks enable <name> —— 启用一个内置或托管钩子
  • • 安装一个hook pack
  • • 设置 hooks.internal.enabled=true —— 启用更广泛的发现机制

总结

说实话,Hooks这个功能我自己也还在摸索。今天写这篇文章,主要是想让大家知道OpenClaw还有这么个东西。

如果你想深入了解,建议:

  1. 1. 先试试自带的4个Hook
  2. 2. 玩熟悉了再尝试自己写
  3. 3. 多看官方文档

文章内容基于OpenClaw版本2026.4.23。

我已收集了OpenClaw的资料并已打好包,关注后发消息:小龙虾获取。

以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~谢谢你看我的文章,我们,下次再见。

我的Openclaw教程


OpenClaw 🦞 详细的小白安装教程及避坑指南

OpenClaw 🦞 详细的小白免费模型设置教程及避坑指南
OpenClaw 🦞 模型管理命令完全指南:从配置到切换,一篇文章搞懂。
OpenClaw 🦞 三层记忆系统:让小龙虾真正”记”得住。
OpenClaw 🦞  “梦境”功能到底是个啥?3分钟让你搞懂!
OpenClaw 🦞 零成本给龙虾设置好“眼睛”,Web功能全拆解,浏览器/抓取/搜索一眼通透。
OpenClaw 🦞  零成本为 OpenClaw 装上“耳朵”与“嘴巴”,一步到位的语音交互指南。
OpenClaw 🦞 保姆级教程:微信ClawBot一键安装,版本兼容问题全搞定!
OpenClaw 🦞  终于内置QQ Bot 了,5分把QQ接入小龙虾的保姆级配置教程。
OpenClaw 🦞  Skills 系统如何运转?一篇讲透!
OpenClaw 🦞 所有用OpenClaw的朋友,我都劝你先装上这个能保命的skill。
OpenClaw 🦞 血泪踩坑!5 个致命操作错,90% 的人把小龙虾养废了!
OpenClaw 🦞  玩虾一个月,终于让 AI “活起来”自动干活了。
OpenClaw 🦞  Heartbeat心跳功能指南:让 AI 主动巡检、自动提醒。