Skip to content

openclaw hooks

管理代理钩子(事件驱动的自动化,用于命令如 /new/reset 和网关启动)。

相关:

列出所有钩子

bash
openclaw hooks list

列出从工作空间、管理和捆绑目录中发现的所有钩子。

选项:

  • --eligible: 仅显示符合条件的钩子(满足要求)
  • --json: 输出为 JSON 格式
  • -v, --verbose: 显示详细信息,包括缺失的要求

示例输出:

钩子 (4/4 就绪)

就绪:
  🚀 boot-md ✓ - 在网关启动时运行 BOOT.md
  📝 command-logger ✓ - 将所有命令事件记录到集中审计文件
  💾 session-memory ✓ - 当发出 /new 命令时保存会话上下文到内存
  😈 soul-evil ✓ - 在清除窗口期间或随机机会下交换注入的 SOUL 内容

示例(详细模式):

bash
openclaw hooks list --verbose

显示不符合条件的钩子的缺失要求。

示例(JSON):

bash
openclaw hooks list --json

返回结构化 JSON 供编程使用。

获取钩子信息

bash
openclaw hooks info <name>

显示特定钩子的详细信息。

参数:

  • <name>: 钩子名称(例如 session-memory

选项:

  • --json: 输出为 JSON 格式

示例:

bash
openclaw hooks info session-memory

输出:

💾 session-memory ✓ 就绪

当发出 /new 命令时保存会话上下文到内存

详细信息:
  来源:openclaw-bundled
  路径:/path/to/openclaw/hooks/bundled/session-memory/HOOK.md
  处理器:/path/to/openclaw/hooks/bundled/session-memory/handler.ts
  主页:https://docs.molt.bot/hooks#session-memory
  事件:command:new

要求:
  配置:✓ workspace.dir

检查钩子资格

bash
openclaw hooks check

显示钩子资格状态摘要(多少就绪 vs 未就绪)。

选项:

  • --json: 输出为 JSON 格式

示例输出:

钩子状态

总钩子数:4
就绪:4
未就绪:0

启用钩子

bash
openclaw hooks enable <name>

通过将钩子添加到您的配置中(~/.clawdbot/config.json)来启用特定钩子。

注意: 由插件管理的钩子在 openclaw hooks list 中显示为 plugin:<id>,并且不能在此处启用/禁用。请启用/禁用插件本身。

参数:

  • <name>: 钩子名称(例如 session-memory

示例:

bash
openclaw hooks enable session-memory

输出:

✓ 已启用钩子:💾 session-memory

功能说明:

  • 检查钩子是否存在且符合条件
  • 在您的配置中更新 hooks.internal.entries.<name>.enabled = true
  • 将配置保存到磁盘

启用后:

  • 重启网关以使钩子重新加载(在 macOS 上重启菜单栏应用,或在开发中重启网关进程)。

禁用钩子

bash
openclaw hooks disable <name>

通过更新您的配置来禁用特定钩子。

参数:

  • <name>: 钩子名称(例如 command-logger

示例:

bash
openclaw hooks disable command-logger

输出:

⏸ 已禁用钩子:📝 command-logger

禁用后:

  • 重启网关以使钩子重新加载

安装钩子

bash
openclaw hooks install <path-or-spec>

从本地文件夹/存档或 npm 安装钩子包。

功能说明:

  • 将钩子包复制到 ~/.clawdbot/hooks/<id>
  • hooks.internal.entries.* 中启用已安装的钩子
  • hooks.internal.installs 下记录安装

选项:

  • -l, --link: 链接本地目录而不是复制(将其添加到 hooks.internal.load.extraDirs

支持的存档格式: .zip, .tgz, .tar.gz, .tar

示例:

bash
# 本地目录
openclaw hooks install ./my-hook-pack

# 本地存档
openclaw hooks install ./my-hook-pack.zip

# NPM 包
openclaw hooks install @openclaw/my-hook-pack

# 链接本地目录而不复制
openclaw hooks install -l ./my-hook-pack

更新钩子

bash
openclaw hooks update <id>
openclaw hooks update --all

更新已安装的钩子包(仅限 npm 安装)。

选项:

  • --all: 更新所有跟踪的钩子包
  • --dry-run: 显示将会发生的变化而不实际写入

捆绑钩子

session-memory

当您发出 /new 命令时保存会话上下文到内存。

启用:

bash
openclaw hooks enable session-memory

输出: ~/clawd/memory/YYYY-MM-DD-slug.md

参见: session-memory 文档

command-logger

将所有命令事件记录到集中审计文件。

启用:

bash
openclaw hooks enable command-logger

输出: ~/.clawdbot/logs/commands.log

查看日志:

bash
# 最近命令
tail -n 20 ~/.clawdbot/logs/commands.log

# 美化输出
cat ~/.clawdbot/logs/commands.log | jq .

# 按操作过滤
grep '"action":"new"' ~/.clawdbot/logs/commands.log | jq .

参见: command-logger 文档

soul-evil

在清除窗口期间或随机机会下交换注入的 SOUL.md 内容与 SOUL_EVIL.md

启用:

bash
openclaw hooks enable soul-evil

参见: SOUL Evil 钩子

boot-md

在网关启动时运行 BOOT.md(在通道启动后)。

事件gateway:startup

启用

bash
openclaw hooks enable boot-md

参见: boot-md 文档