跳到主要内容

clawdbot hooks

管理代理钩子(针对 /new/reset 等命令以及网关启动的事件驱动型自动化)。

相关内容:

列出所有钩子 (List All Hooks)

clawdbot hooks list

列出从工作区、受管目录和内置目录中发现的所有钩子。

选项:

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

输出示例:

Hooks (4/4 ready)

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

示例(详细模式):

clawdbot hooks list --verbose

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

示例(JSON 模式):

clawdbot hooks list --json

返回结构化的 JSON 以供程序使用。

获取钩子信息 (Get Hook Information)

clawdbot hooks info <name>

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

参数:

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

选项:

  • --json:以 JSON 格式输出

示例:

clawdbot hooks info session-memory

输出示例:

💾 session-memory ✓ Ready

发出 /new 命令时将会话上下文保存到记忆中

Details:
Source: clawdbot-bundled
Path: /path/to/clawdbot/hooks/bundled/session-memory/HOOK.md
Handler: /path/to/clawdbot/hooks/bundled/session-memory/handler.ts
Homepage: https://docs.clawd.bot/hooks#session-memory
Events: command:new

Requirements:
Config: ✓ workspace.dir

检查钩子符合性 (Check Hooks Eligibility)

clawdbot hooks check

显示钩子符合性状态的摘要(有多少个已就绪 vs. 未就绪)。

选项:

  • --json:以 JSON 格式输出

输出示例:

Hooks Status

Total hooks: 4
Ready: 4
Not ready: 0

启用钩子 (Enable a Hook)

clawdbot hooks enable <name>

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

注意: 由插件管理的钩子在 clawdbot hooks list 中显示为 plugin:<id>,无法在此处启用/禁用。请改为启用/禁用相应的插件。

参数:

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

示例:

clawdbot hooks enable session-memory

输出:

✓ Enabled hook: 💾 session-memory

其工作原理:

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

启用后:

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

禁用钩子 (Disable a Hook)

clawdbot hooks disable <name>

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

参数:

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

示例:

clawdbot hooks disable command-logger

输出:

⏸ Disabled hook: 📝 command-logger

禁用后:

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

安装钩子 (Install Hooks)

clawdbot 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

示例:

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

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

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

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

更新钩子 (Update Hooks)

clawdbot hooks update <id>
clawdbot hooks update --all

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

选项:

  • --all:更新所有已跟踪的钩子包
  • --dry-run:显示将要更改的内容而不执行写入

内置钩子 (Bundled Hooks)

session-memory

发出 /new 命令时将会话上下文保存到记忆中。

启用:

clawdbot hooks enable session-memory

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

参见: session-memory 文档

command-logger

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

启用:

clawdbot hooks enable command-logger

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

查看日志:

# 最近的命令
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

启用:

clawdbot hooks enable soul-evil

参见: SOUL Evil 钩子

boot-md

网关启动时(频道启动后)运行 BOOT.md

事件gateway:startup

启用

clawdbot hooks enable boot-md

参见: boot-md 文档