
















OpenClaw 的 Hooks(钩子)是一种简单而强大的自动化机制,让你在不修改核心代码的情况下,轻松扩展 AI Agent 的行为。它本质上是小型脚本,当特定事件发生时,会在 Gateway(网关)进程内部自动运行。
简单来说:
/new 创建新会话),或者系统内部发生某些变化(如会话压缩、消息接收)时,Hooks 就能自动执行你预设的操作。注意:Hooks 和 Webhooks 是两回事。Webhooks 是外部系统通过 HTTP 调用 OpenClaw,而这里的 Hooks 是 OpenClaw 内部响应事件的小脚本。
/new 或 /reset 时,自动保存当前会话的上下文记忆到文件。OpenClaw 默认会自动发现并提供这四个常用钩子,可以直接启用它们:
/new 或 /reset 时,把会话上下文保存到默认路径 ~/.openclaw/workspace/memory/,方便后续恢复记忆。~/.openclaw/logs/commands.log。这些内置钩子非常实用,推荐从它们开始上手。
OpenClaw 提供了专门的 CLI 命令来管理 Hooks:
openclaw hooks list:列出所有已发现的钩子(包括内置、插件、托管和工作区钩子)。openclaw hooks enable <hook名称>:启用某个钩子(例如 openclaw hooks enable session-memory)。openclaw hooks check:检查钩子状态。openclaw hooks info <hook名称>:查看某个钩子的详细信息。openclaw onboard)过程中,系统会引导你选择并启用推荐的钩子。重要安全规则:
<workspace>/hooks/ 目录下)默认被禁用,必须手动启用后才能运行,防止意外执行不可信代码。Hooks 会按照以下优先级自动发现(后面的可以覆盖前面的同名钩子,但工作区钩子除外):
~/.openclaw/hooks/,支持额外目录配置)。<workspace>/hooks/,优先级最低,不能覆盖其他钩子)。你还可以安装 Hook Packs(钩子包),它们其实是标准的 npm 包:
openclaw plugins install <包名或路径> 安装。package.json 中需要声明 "openclaw": { "hooks": [...] } 来指定钩子目录。每个 Hook 是一个文件夹,里面至少包含两个文件:
events(监听哪些事件,如 ["command:new"])、emoji、requires(所需二进制或配置)等。async (event) => { ... }。if (event.type === "command" && event.action === "new")),再执行你的逻辑。event.sessionKey、event.timestamp 等信息,还可以往 event.messages 推送消息给用户。示例逻辑(伪代码):
const handler = async (event) => {
if (event.type !== "command" || event.action !== "new") return;
console.log(`新会话创建:${event.sessionKey}`);
// 这里可以保存文件、调用 API 等
};
OpenClaw 的 Hooks 按事件类型分为几大类,每类有具体的触发时机和传入参数(event 对象):
Command Events(命令事件)
/new、 /reset、 /stop 等用户发出的命令。command:new、command:reset、command:stop、command(通用)。Session Events(会话事件)
session:compact:before/after)、会话属性修改(session:patch,如改模型、工具、策略等)。session:patch 通常只允许特权客户端触发。Agent Events(Agent 事件)
agent:bootstrap(工作区 bootstrap 文件注入前)。context.bootstrapFiles 来添加文件(仅限允许的文件名,如 AGENTS.md)。Gateway Events(网关事件)
gateway:startup(Gateway 启动且通道、钩子加载完成后)。Message Events(消息事件)
message:received)、转录后(message:transcribed)、预处理后(message:preprocessed)、发送成功(message:sent)。此外,还有插件 API 中的 Tool Result Hooks(用于修改工具执行结果),适合高级扩展。
openclaw hooks list 查看,然后 enable 需要的几个,观察效果。event.type 和 event.action,减少不必要的计算。openclaw hooks info 查看详情,多用 console.log 输出日志。总之,Hooks 是 OpenClaw 让 AI Agent “活起来”和高度可定制的核心功能之一。掌握它后,你可以轻松实现个性化自动化,而不需要深入修改底层代码。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。