Skip to main content

openclaw hooks

管理代理钩子(用于 /new/reset 和网关启动等命令的事件驱动自动化)。直接使用 openclaw hooks 等同于 openclaw hooks list 相关:钩子 - 插件钩子

列出 hooks

直接运行 openclaw hooks 和运行 openclaw hooks --json 时,使用的列表操作与 openclaw hooks list 相同。该命令会从工作区、托管目录、额外目录和内置目录中发现 hooks。
  • --eligible:仅显示满足要求的 hooks。
  • --json:结构化输出。
  • -v, --verbose:包含一个“缺失”列,显示未满足的要求。

获取 hook 信息

<name> 是 hook 名称或 hook key(例如 session-memory)。显示源、文件/处理程序路径、主页、事件,以及每项要求(可执行文件、环境、配置、操作系统)的状态。

检查资格

打印就绪/未就绪的计数摘要;当 hooks 未就绪时,列出每个 hook 及其阻塞原因。

启用钩子

在配置中添加/更新 hooks.internal.entries.<name>.enabled = true,并且还会将 hooks.internal.enabled 主开关打开(网关在至少配置了一个内部钩子之前不会加载任何内部钩子处理器)。如果钩子不存在、由插件管理,或不具备启用资格(缺少依赖),则会失败。 由插件管理的钩子会在 hooks list 中显示为 plugin:<id>,并且不能在此处启用/禁用;请改为启用或禁用其所属插件。 启用后请重启网关(macOS 菜单栏应用重启,或在开发环境中重启你的网关进程),以便重新加载钩子。

禁用钩子

hooks.internal.entries.<name>.enabled 设置为 false。随后重启网关。

安装和更新钩子包

钩子包通过统一的 plugins 安装/更新器进行安装;openclaw hooks install / openclaw hooks update 仍然可作为已弃用的别名使用,它们会打印警告并转发到 plugins 命令。
  • Npm 规格仅限注册表:包名加上可选的精确版本或 dist-tag。不接受 Git/URL/file 规格和 semver 范围。依赖安装在项目本地运行,并使用 --ignore-scripts
  • 裸规格和 @latest 会保持在稳定发布轨道;如果 npm 解析到预发布版本,OpenClaw 会停止并要求你显式选择加入(@beta@rc,或精确的预发布版本)。
  • 支持的归档格式:.zip.tgz.tar.gz.tar
  • -l, --link 会链接本地目录而不是复制它(会将其添加到 hooks.internal.load.extraDirs);被链接的钩子包是来自运维配置目录的受管钩子,而不是工作区钩子。
  • --pin 会将 npm 安装记录为共享 SQLite 状态中的精确解析结果 name@version
  • 安装会将包复制到 ~/.openclaw/hooks/<id>,在 hooks.internal.entries.* 下启用其钩子,并在共享 SQLite 状态中记录安装来源。
  • 如果已存储的完整性哈希与获取到的制品不再匹配,OpenClaw 会发出警告并在继续之前提示;可传入全局 --yes 跳过提示(例如在 CI 中)。

内置钩子

使用 openclaw hooks enable <hook-name> 启用任意内置钩子。完整详情、配置键和默认值: 内置钩子

command-logger 日志文件

说明

  • hooks list --jsoninfo --jsoncheck --json 会直接将结构化 JSON 输出到 stdout。

相关内容