简要总结
Hooks
这页是教你认识“钩子”的。你可以把钩子想象成小帮手,当你在 OpenClaw 里做某些事情时(比如输入 /new 命令),它们就会自动跑出来帮你干活。这页会告诉你钩子能做什么,怎么打开它,以及怎么自己做一个。如果你想让 OpenClaw 在发生某些事时自动做点什么,就看这里。
五岁小孩版解释
钩子就像是一些藏在 OpenClaw 里的小精灵。当一些特定的事情发生时,比如你输入了 /new 命令,或者收到一条消息,它们就会被叫醒,然后帮你做一些额外的工作。
钩子有两种:
- 钩子(就是这页讲的):它们住在 OpenClaw 的“网关”里,当发生一些内部事件时就会工作。
- Webhooks:它们是住在外面其他地方的钩子,可以让别的系统来叫醒 OpenClaw 工作。想了解它们,可以去看“Webhook Hooks”那页。
钩子能帮你做什么呢?
比如,当你输入 /new 命令开始新对话时,它可以帮你把之前的对话保存下来,就像写日记一样。或者,它可以把你所有的命令都记在一个小本本上,方便以后查看。它还能在对话开始或结束时,自动去启动别的程序。
怎么开始用呢? OpenClaw 自己带了四个现成的小帮手(钩子):
- session-memory:当你用
/new命令时,它会帮你把对话保存起来。 - bootstrap-extra-files:在启动时,帮你往工作区里放一些额外的文件。
- command-logger:把你所有的命令都记在日志里。
- boot-md:在网关启动时,自动运行一个叫
BOOT.md的文件里的指令。
你可以用一些简单的命令来管理它们。打开你的命令行工具(就像对电脑说话的小窗口),输入:
openclaw hooks list:看看有哪些钩子。openclaw hooks enable session-memory:打开“保存对话”这个钩子。openclaw hooks check:检查一下钩子们准备好了没有。
钩子们住在哪里? OpenClaw 会去三个地方找钩子,按顺序是:
- 你的工作区文件夹里的
hooks/目录。(只给当前这个“智能体”用) - 你的用户文件夹里的
~/.openclaw/hooks/目录。(你安装的,所有“智能体”都能用) - OpenClaw 软件自己带的钩子文件夹。
自己做一个钩子要几步? 如果你想自己做一个钩子,可以这样做:
- 选个家:在你用户文件夹的
~/.openclaw/hooks/里,新建一个文件夹,比如叫my-hook。 - 写个介绍信:在这个文件夹里创建一个叫
HOOK.md的文件,里面要写上钩子的名字和它要听什么事件(比如command:new)。 - 写要做的事:再创建一个叫
handler.ts的文件,用简单的代码写下“当事件发生时,我要做什么”。 - 叫醒它:回到命令行,用
openclaw hooks enable my-hook命令打开你的新钩子,然后重启一下 OpenClaw 的网关。
需要注意的事情:
- 钩子做事要快,不能磨蹭太久,不然会耽误你正常的命令。
- 钩子可能会出错,所以写的时候要小心,最好用
try...catch把可能出错的地方包起来,就像给容易摔的玩具包上软垫。 - 每个钩子都要说清楚自己只听哪些特定的事件,这样效率才高。
如果钩子不工作怎么办?
- 可以用
openclaw hooks list --verbose命令仔细看看所有钩子的情况。 - 检查你的
HOOK.md文件格式对不对。 - 看看是不是有些要求没满足,比如需要的软件没安装。
- 记得打开钩子后,要重启网关它才能生效哦!