OpenClaw从入门到应用——CLI:Hook
通过OpenClaw实现副业收入:《OpenClaw赚钱实录:从“养龙虾“到可持续变现的实践指南》
列出所有钩子
theme={"theme":{"light":"min-light","dark":"min-dark"}}openclaw hooks list列出从工作区、托管和捆绑目录中发现的所有钩子。
选项:
--eligible:仅显示符合条件的钩子(满足要求)--json:以 JSON 格式输出-v, --verbose:显示详细信息,包括缺失的要求
示例输出:
Hooks (4/4 ready) Ready: 🚀 boot-md ✓ - Run BOOT.md on gateway startup 📎 bootstrap-extra-files ✓ - Inject extra workspace bootstrap files during agent bootstrap 📝 command-logger ✓ - Log all command events to a centralized audit file 💾 session-memory ✓ - Save session context to memory when /new command is issued示例(详细模式):
theme={"theme":{"light":"min-light","dark":"min-dark"}}openclaw hooks list--verbose显示不符合条件的钩子所缺失的要求。
示例(JSON 格式):
theme={"theme":{"light":"min-light","dark":"min-dark"}}openclaw hooks list--json返回结构化 JSON,供程序化使用。
获取钩子信息
theme={"theme":{"light":"min-light","dark":"min-dark"}}openclaw hooks info<hook-name>显示特定钩子的详细信息。
参数:
<hook-name>:钩子名称(例如session-memory)
选项:
--json:以 JSON 格式输出
示例:
theme={"theme":{"light":"min-light","dark":"min-dark"}}openclaw hooks info session-memory输出:
💾 session-memory ✓ Ready Save session context to memory when /new command is issued Details: Source: openclaw-bundled Path: /path/to/openclaw/hooks/bundled/session-memory/HOOK.md Handler: /path/to/openclaw/hooks/bundled/session-memory/handler.ts Homepage: https://docs.openclaw.ai/automation/hooks#session-memory (链接已替换) Events: command:new Requirements: Config: ✓ workspace.dir检查钩子符合条件状态
theme={"theme":{"light":"min-light","dark":"min-dark"}}openclaw hooks check显示钩子符合条件状态的摘要(有多少个就绪 vs 未就绪)。
选项:
--json:以 JSON 格式输出
示例输出:
Hooks Status Total hooks: 4 Ready: 4 Not ready: 0启用钩子
theme={"theme":{"light":"min-light","dark":"min-dark"}}openclaw hooksenable<hook-name>通过将钩子添加到配置文件(~/.openclaw/config.json)中来启用特定钩子。
注意:由插件管理的钩子在openclaw hooks list中会显示plugin:,并且不能在此处启用/禁用。应改为启用/禁用插件。
参数:
<hook-name>:钩子名称(例如session-memory)
示例:
theme={"theme":{"light":"min-light","dark":"min-dark"}}openclaw hooksenablesession-memory输出:
✓ Enabled hook: 💾 session-memory操作说明:
- 检查钩子是否存在且符合条件
- 更新配置文件中的
hooks.internal.entries.<hook-name>.enabled = true - 将配置保存到磁盘
启用后:
- 重启网关以重新加载钩子(在 macOS 上重启菜单栏应用,或在开发环境中重启网关进程)
禁用钩子
theme={"theme":{"light":"min-light","dark":"min-dark"}}openclaw hooks disable<hook-name>通过更新配置文件禁用特定钩子。
参数:
<hook-name>:钩子名称(例如command-logger)
示例:
theme={"theme":{"light":"min-light","dark":"min-dark"}}openclaw hooks disable command-logger输出:
⏸ Disabled hook: 📝 command-logger禁用后:
- 重启网关以重新加载钩子
安装钩子包
theme={"theme":{"light":"min-light","dark":"min-dark"}}openclaw hooksinstall<path-or-package>openclaw hooksinstall<npm-package>--pin从本地文件夹/存档或 npm 安装钩子包。npm 规范仅限注册表(包名 + 可选确切版本或分发标签)。Git/URL/文件规范以及 semver 范围将被拒绝。依赖项安装会使用--ignore-scripts以保安全。裸规范(bare specs)和@latest保持在稳定轨道。如果 npm 将其中任何一个解析为预发布版本,OpenClaw 将停止并要求您通过预发布标签(如@beta/@rc)或确切的预发布版本明确选择加入。
操作说明:
- 将钩子包复制到
~/.openclaw/hooks/ - 在
hooks.internal.entries.*中启用已安装的钩子 - 在
hooks.internal.installs下记录安装信息
选项:
-l, --link:链接本地目录而不是复制(将其添加到hooks.internal.load.extraDirs)--pin:将 npm 安装记录为确切的已解析name@version,存入hooks.internal.installs
支持的存档格式:.zip、.tgz、.tar.gz、.tar
示例:
theme={"theme":{"light":"min-light","dark":"min-dark"}}# 本地目录openclaw hooksinstall./my-hook-pack# 本地存档openclaw hooksinstall./my-hook-pack.zip# NPM 包openclaw hooksinstall@openclaw/my-hook-pack# 链接本地目录而不复制openclaw hooksinstall-l./my-hook-pack更新钩子包
theme={"theme":{"light":"min-light","dark":"min-dark"}}openclaw hooks update<npm-package>openclaw hooks update--all更新已安装的钩子包(仅限 npm 安装)。
选项:
--all:更新所有追踪的钩子包--dry-run:显示将要更改的内容而不实际写入
当存在存储的完整性哈希且获取的工件哈希发生变化时,OpenClaw 会打印警告并要求确认后再继续。在 CI/非交互式运行中使用全局--yes跳过提示。
内置钩子
session-memory
当您发出/new命令时,将会话上下文保存到内存中。
启用:
theme={"theme":{"light":"min-light","dark":"min-dark"}}openclaw hooksenablesession-memory输出文件:~/.openclaw/workspace/memory/YYYY-MM-DD-slug.md
参见:session-memory 文档(链接已替换)
bootstrap-extra-files
在agent:bootstrap期间注入额外的引导文件(例如 monorepo 本地的AGENTS.md/TOOLS.md)。
启用:
theme={"theme":{"light":"min-light","dark":"min-dark"}}openclaw hooksenablebootstrap-extra-files参见:bootstrap-extra-files 文档(链接已替换)
command-logger
将所有命令事件记录到集中审核文件。
启用:
theme={"theme":{"light":"min-light","dark":"min-dark"}}openclaw hooksenablecommand-logger输出文件:~/.openclaw/logs/commands.log
查看日志:
theme={"theme":{"light":"min-light","dark":"min-dark"}}# 最近的命令tail-n20~/.openclaw/logs/commands.log# 美化输出cat~/.openclaw/logs/commands.log|jq.# 按动作过滤grep'"action":"new"'~/.openclaw/logs/commands.log|jq.参见:command-logger 文档(链接已替换)
boot-md
当网关启动时(在频道启动后)运行BOOT.md。
事件:gateway:startup
启用:
theme={"theme":{"light":"min-light","dark":"min-dark"}}openclaw hooksenableboot-md