Skip to content

openclaw plugins 命令组用于安装、管理、诊断 Gateway 插件和兼容 Bundle,支持 ClawHub、npm、本地路径、git 仓库及多种市场来源。包含 list、install、inspect、enable/disable、uninstall、update、doctor、marketplace list、registry 等子命令。插件变更后需重启 Gateway 才能生效;Nix 模式下生命周期变更命令不可用,需改用 Nix 源。兼容 Bundle(Codex/Claude/Cursor)自动检测并纳入管理。

openclaw plugins

管理 Gateway 插件、Hook Pack 和兼容 Bundle。

相关文档:

命令一览

bash
openclaw plugins list
openclaw plugins list --enabled
openclaw plugins list --verbose
openclaw plugins list --json
openclaw plugins search <query>
openclaw plugins search <query> --limit 20
openclaw plugins search <query> --json
openclaw plugins install <path-or-spec>
openclaw plugins inspect <id>
openclaw plugins inspect <id> --runtime
openclaw plugins inspect <id> --json
openclaw plugins inspect --all
openclaw plugins info <id>
openclaw plugins enable <id>
openclaw plugins disable <id>
openclaw plugins registry
openclaw plugins registry --refresh
openclaw plugins uninstall <id>
openclaw plugins doctor
openclaw plugins update <id-or-npm-spec>
openclaw plugins update --all
openclaw plugins marketplace list <marketplace>
openclaw plugins marketplace list <marketplace> --json
openclaw plugins init <id>
openclaw plugins init <id> --directory ./my-plugin --name "My Plugin"
openclaw plugins build --entry ./dist/index.js
openclaw plugins build --entry ./dist/index.js --check
openclaw plugins validate --entry ./dist/index.js

对于安装慢、inspect、卸载或 registry-refresh 排查,设置环境变量 OPENCLAW_PLUGIN_LIFECYCLE_TRACE=1 运行命令。Trace 会将各阶段耗时写入 stderr,JSON 输出保持可解析。参见 Debugging

Nix 模式限制:当 OPENCLAW_NIX_MODE=1 时,插件生命周期变更命令(install、update、uninstall、enable、disable)被禁用。需使用 Nix 源管理该安装。对于 nix-openclaw,请参考 agent-first Quick Start

内置插件说明:OpenClaw 自带一批内置插件。部分默认启用(如 bundled 模型 provider、bundled 语音 provider、bundled browser 插件),其余需要 plugins enable

原生 OpenClaw 插件必须包含 openclaw.plugin.json 并声明行内 JSON Schema(configSchema,可以为空)。兼容 Bundle 使用各自的 Bundle manifest。

plugins list 输出显示 Format: openclawFormat: bundle。带 --verbose 的 list/info 还会显示 Bundle 子类型(codexclaudecursor)以及检测到的 Bundle 能力。

创建插件(Author)

bash
openclaw plugins init stock-quotes --name "Stock Quotes"
cd stock-quotes
npm run plugin:build
npm run plugin:validate

plugins init 创建最小 TypeScript 工具插件,使用 defineToolPluginplugins build 导入该入口,读取静态工具元数据,生成 openclaw.plugin.json,并保持 package.json 中的 openclaw.extensions 一致。plugins validate 检查生成的 manifest、包元数据和当前入口导出是否一致。完整创作流程参见 Tool Plugins

脚手架写入 TypeScript 源文件,但元数据从构建后的 ./dist/index.js 入口生成,因此也适用于发布后的 CLI。当入口不是默认包入口时,使用 --entry &lt;path&gt;。在 CI 中使用 plugins build --check:当生成的元数据过期时失败而不重写文件。

安装(Install)

bash
openclaw plugins search "calendar"                   # 搜索 ClawHub 插件
openclaw plugins install <package>                      # 默认从 npm 安装(过渡期)
openclaw plugins install clawhub:<package>              # 仅 ClawHub
openclaw plugins install npm:<package>                  # 仅 npm
openclaw plugins install npm-pack:<path.tgz>            # 本地 npm pack,使用 npm 安装语义
openclaw plugins install git:github.com/<owner>/<repo>  # git 仓库
openclaw plugins install git:github.com/<owner>/<repo>@<ref>
openclaw plugins install <package> --force              # 覆盖已有安装
openclaw plugins install <package> --pin                # 固定版本(仅 npm)
openclaw plugins install <package> --dangerously-force-unsafe-install
openclaw plugins install <path>                         # 本地路径
openclaw plugins install <plugin>@<marketplace>         # 市场简写
openclaw plugins install <plugin> --marketplace <name>  # 市场(显式)
openclaw plugins install <plugin> --marketplace https://github.com/<owner>/<repo>

维护者在测试启动时安装时,可通过受保护环境变量覆盖自动插件安装源。参见 Plugin install overrides

安全警告:裸包名默认从 npm 安装(过渡期)。对于 ClawHub 请使用 clawhub:&lt;package&gt;。插件安装相当于运行代码,建议固定版本。

plugins search 查询 ClawHub 上可安装的插件包,返回可直接安装的包名。它搜索 code-plugin 和 bundle-plugin 包,不搜索技能。ClawHub 技能请使用 openclaw skills search

ClawHub vs npm:ClawHub 是大多数插件的主要分发和发现平台。npm 仍是受支持的备选和直接安装路径。OpenClaw 自有 @openclaw/* 插件包也在 npm 上发布;当前列表见 npmjs.com/org/openclawplugin inventory。稳定安装使用 latest。Beta 频道安装和更新优先使用 npm beta dist-tag(如可用),否则回退到 latest

配置引用与破损配置修复

如果 plugins 节被单一文件 $include 引用,plugins install/update/enable/disable/uninstall 会直接写入该被包含文件,不修改 openclaw.json。根级 include、include 数组、带同级覆盖的 include 会失败关闭而非扁平化。支持的形状参见 Config includes

如果安装时配置无效,plugins install 通常失败关闭,并提示先运行 openclaw doctor --fix。在 Gateway 启动和热重载期间,无效插件配置如同其他无效配置一样失败关闭;openclaw doctor --fix 可将无效插件条目隔离。唯一已知的安装时例外是窄范围的 bundled-plugin 恢复路径,仅适用于显式选择 openclaw.install.allowInvalidConfigRecovery 的插件。

--force 与重新安装 vs 更新

--force 复用现有安装目标,原地覆盖已安装的插件或 Hook Pack。适用于从新本地路径、归档、ClawHub 包或 npm 制品有意识重新安装同一 id。对于已跟踪的 npm 插件常规升级,优先使用 openclaw plugins update &lt;id-or-npm-spec&gt;

如果对已安装的插件 id 运行 plugins install,OpenClaw 会停止并提示使用 plugins update &lt;id-or-npm-spec&gt; 进行常规升级,或者使用 plugins install &lt;package&gt; --force 从其他源覆盖。

--pin 作用范围

--pin 仅适用于 npm 安装,不支持 git: 安装。要固定 git 源,使用显式 git ref 如 git:github.com/acme/plugin@v1.2.3--pin 也不支持 --marketplace,因为市场安装会持久化市场源元数据而非 npm spec。

--dangerously-force-unsafe-install

这是一个突破内置危险代码扫描误报的应急选项。允许在扫描报告 critical 时继续安装,但绕过插件的 before_install 钩子策略拦截,也绕过扫描失败阻断。

安装扫描会忽略常见的测试文件和目录(如 tests/__tests__/*.test.**.spec.*),以避免阻塞打包的测试 mock;但声明的插件运行时入口点即使使用这些名称也会被扫描。

该 CLI 标志适用于插件安装/更新流程。Gateway 后端的技能依赖安装使用匹配的 dangerouslyForceUnsafeInstall 请求覆写;而 openclaw skills install 是独立的 ClawHub 技能下载/安装流程。

如果发布在 ClawHub 上的插件被注册表扫描隐藏或阻止,请使用 ClawHub publishing 中的发布者步骤。--dangerously-force-unsafe-install 仅影响本机安装;不会要求 ClawHub 重新扫描插件或让受阻止的版本公开。

Hook Pack 与 npm 规范

plugins install 也适用于在 package.json 中暴露 openclaw.hooks 的 Hook Pack 的安装。使用 openclaw hooks 查看过滤后的钩子和按钩子启用,而非包安装。

npm 规范仅限注册表(包名 + 可选的精确版本dist-tag)。不接受 git/URL/文件规范和 semver 范围。依赖安装时(即使在 shell 有全局 npm 安装设置)也会使用项目本地模式运行并添加 --ignore-scripts 以确保安全。托管插件 npm 根目录继承 OpenClaw 的包级 npm overrides,因此宿主安全锁定也适用于提升的插件依赖。

使用 npm:&lt;package&gt; 显式指定 npm 解析。裸包规范在过渡期也直接从 npm 安装。

裸规范和 @latest 保持稳定轨道。OpenClaw 日期戳修正版本(如 2026.5.3-1)属于稳定版本。如果 npm 将其中任何一个解析为预发布,OpenClaw 会停止并要求使用预发布标签(如 @beta/@rc)或精确预发布版本(如 @1.2.3-beta.4)显式加入。

如果裸安装规范匹配官方插件 id(例如 diffs),OpenClaw 直接安装该目录条目。要安装同名的 npm 包,使用显式作用域规范(如 @scope/diffs)。

Git 仓库

使用 git:&lt;repo&gt; 直接从 git 仓库安装。支持的形式包括:git:github.com/owner/repogit:owner/repo、完整 https://ssh://git://file:// 以及 git@host:owner/repo.git 克隆 URL。添加 @&lt;ref&gt;#&lt;ref&gt; 可在安装前检出分支、标签或提交。

Git 安装会克隆到临时目录,如果指定 ref 则检出,然后使用普通插件目录安装器。这意味着 manifest 验证、危险代码扫描、包管理器安装工作和安装记录都像 npm 安装一样。记录的 git 安装包含源 URL/ref 以及解析后的提交,以便 openclaw plugins update 以后重新解析源。

从 git 安装后,使用 openclaw plugins inspect &lt;id&gt; --runtime --json 验证运行时注册(如 gateway 方法和 CLI 命令)。如果插件使用 api.registerCli 注册了 CLI 根,可通过 OpenClaw 根 CLI 直接执行该命令,例如 openclaw demo-plugin ping

归档

支持的归档格式:.zip.tgz.tar.gz.tar。原生 OpenClaw 插件归档必须在提取的插件根目录中包含有效的 openclaw.plugin.json;仅包含 package.json 的归档在 OpenClaw 写入安装记录之前被拒绝。

使用 npm-pack:<path.tgz> 当文件是 npm-pack tarball 时,可使用与注册表安装相同的托管 npm-root 安装路径进行测试,包括 package-lock.json 验证、提升依赖扫描和 npm 安装记录。普通归档路径仍作为本地归档安装在插件扩展根目录下。

也支持 Claude 市场安装。

ClawHub 安装

使用显式 clawhub:&lt;package&gt; 定位符:

bash
openclaw plugins install clawhub:openclaw-codex-app-server
openclaw plugins install clawhub:openclaw-codex-app-server@1.2.3

裸 npm 安全插件规范在过渡期默认从 npm 安装:

bash
openclaw plugins install openclaw-codex-app-server

使用 npm: 显式指定仅 npm 解析:

bash
openclaw plugins install npm:openclaw-codex-app-server
openclaw plugins install npm:@scope/plugin-name@1.0.1

OpenClaw 在安装前会检查声明的插件 API / 最低 Gateway 兼容性。如果所选 ClawHub 版本发布了 ClawPack 制品,OpenClaw 会下载版本化的 npm-pack .tgz,验证 ClawHub 摘要头和制品摘要,然后通过正常归档路径安装。较旧的 ClawHub 版本(无 ClawPack 元数据)仍通过传统包归档验证路径安装。记录的安装会保留其 ClawHub 源元数据、制品类型、npm integrity、npm shasum、tarball 名称和 ClawPack 摘要事实,以供后续更新使用。

未指定版本的 ClawHub 安装会保留未指定版本的记录规范,以便 openclaw plugins update 可以跟随新版本;显式版本或标签选择器(如 clawhub:pkg@1.2.3clawhub:pkg@beta)保持固定。

市场简写

当市场名称存在于 Claude 本地注册表缓存 ~/.claude/plugins/known_marketplaces.json 中时,使用 plugin@marketplace 简写:

bash
openclaw plugins marketplace list <marketplace-name>
openclaw plugins install <plugin-name>@<marketplace-name>

使用 --marketplace 显式传递市场源:

bash
openclaw plugins install <plugin-name> --marketplace <marketplace-name>
openclaw plugins install <plugin-name> --marketplace <owner/repo>
openclaw plugins install <plugin-name> --marketplace https://github.com/<owner>/<repo>
openclaw plugins install <plugin-name> --marketplace ./my-marketplace
  • 市场来源可以是:Claude 已知市场名、本地市场根目录或 marketplace.json 路径、GitHub 仓库简写(owner/repo)、GitHub 仓库 URL(https://github.com/owner/repo)、git URL。
  • 远程市场规则:对于从 GitHub 或 git 加载的远程市场,插件条目必须位于克隆的市场仓库内。OpenClaw 接受该仓库的相对路径来源,拒绝来自远程 manifest 的 HTTP(S)、绝对路径、git、GitHub 和其他非路径插件源。

对于本地路径和归档,OpenClaw 自动检测:

  • 原生 OpenClaw 插件(openclaw.plugin.json
  • Codex 兼容 Bundle(.codex-plugin/plugin.json
  • Claude 兼容 Bundle(.claude-plugin/plugin.json 或默认 Claude 组件布局)
  • Cursor 兼容 Bundle(.cursor-plugin/plugin.json

兼容 Bundle 安装到普通插件根目录,并参与相同的 list/info/enable/disable 流程。目前支持 Bundle 技能、Claude 命令技能、Claude settings.json 默认值、Claude .lsp.json / manifest 声明的 lspServers 默认值、Cursor 命令技能和兼容 Codex 钩子目录;其他检测到的 Bundle 能力在诊断/info 中显示但尚未接入运行时执行。

列表(List)

bash
openclaw plugins list
openclaw plugins list --enabled
openclaw plugins list --verbose
openclaw plugins list --json
openclaw plugins search <query>
openclaw plugins search <query> --limit 20
openclaw plugins search <query> --json

参数:

  • --enabled: 仅显示已启用的插件。
  • --verbose: 从表格视图切换为每个插件详情行,包含来源/版本/激活元数据。
  • --json: 机器可读的清单,含注册表诊断和包依赖安装状态。

plugins list 首先读取持久化本地插件注册表,当注册表缺失或无效时降级至仅基于 manifest 的推测。用于检查插件是否已安装、已启用、对冷启动规划可见,但不是对已运行 Gateway 进程的实时运行时探针。修改插件代码、启用状态、钩子策略或 plugins.load.paths 后,重启服务于渠道的 Gateway 后才能期望新的 register(api) 代码或钩子生效。对于远程/容器部署,确认重启的是实际的 openclaw gateway run 子进程,而非仅包裹进程。

plugins list --json 包含每个插件的 dependencyStatus(来自 package.jsondependenciesoptionalDependencies)。OpenClaw 检查这些包名是否存在于插件正常 Node node_modules 查找路径中;不会导入插件运行时代码、运行包管理器或修复缺失依赖。

plugins search 是远程 ClawHub 目录查找。不检查本地状态、不修改配置、不安装包、不加载插件运行时代码。搜索结果包含 ClawHub 包名、族、频道、版本、摘要和安装提示(如 openclaw plugins install clawhub:&lt;package&gt;)。

对于打包 Docker 镜像中的内置插件工作,可将插件源目录绑定挂载到匹配的打包源路径上,如 /app/extensions/synology-chat。OpenClaw 会优先发现该挂载源覆盖而非 /app/dist/extensions/synology-chat;普通的复制源目录保持惰性,因此正常打包安装仍使用编译后的 dist。

运行时钩子调试

  • openclaw plugins inspect &lt;id&gt; --runtime --json 显示从模块加载检查中注册的钩子和诊断。运行时检查从不安装依赖;使用 openclaw doctor --fix 清理遗留依赖状态或恢复由配置引用的缺失可下载插件。
  • openclaw gateway status --deep --require-rpc 确认可达的 Gateway URL/配置文件、服务/进程提示、配置路径和 RPC 健康。
  • 非内置的对话钩子(llm_inputllm_outputbefore_model_resolvebefore_agent_replybefore_agent_runbefore_agent_finalizeagent_end)需要 plugins.entries.&lt;id&gt;.hooks.allowConversationAccess=true

使用 --link 避免复制本地目录(添加到 plugins.load.paths):

bash
openclaw plugins install -l ./my-plugin

--force 不支持与 --link 一起使用,因为链接安装复用源路径而非覆盖托管安装目标。

--pin 用于 npm 安装时,将解析的精确规范(name@version)保存到托管插件索引中,同时保持默认行为未固定。

插件索引(Plugin Index)

插件安装元数据是机器管理的状态,非用户配置。安装和更新会将其写入活动 OpenClaw 状态目录下的 plugins/installs.json。其顶层 installRecords 映射是安装元数据的持久来源,包括破损或缺失插件 manifest 的记录。plugins 数组是基于 manifest 的冷注册表缓存。文件包含不要编辑的警告,由 openclaw plugins update、卸载、诊断和冷插件注册表使用。

当 OpenClaw 看到遗留的 plugins.installs 配置记录时,运行时读取将其视为兼容性输入,不重写 openclaw.json。显式插件写入和 openclaw doctor --fix 会将那些记录移至插件索引并在允许配置写入时移除配置键;如果任何一个写入失败,配置记录将被保留以防安装元数据丢失。

卸载(Uninstall)

bash
openclaw plugins uninstall <id>
openclaw plugins uninstall <id> --dry-run
openclaw plugins uninstall <id> --keep-files

uninstallplugins.entries、持久化插件索引、插件 allow/deny 列表条目以及适用的链接 plugins.load.paths 条目中移除插件记录。除非指定 --keep-files,否则当托管安装目录位于 OpenClaw 插件扩展根目录内时,也会删除该目录。对于活跃的内存插件,内存插槽重置为 memory-core

--keep-config 支持作为 --keep-files 的已弃用别名。

更新(Update)

bash
openclaw plugins update <id-or-npm-spec>
openclaw plugins update --all
openclaw plugins update <id-or-npm-spec> --dry-run
openclaw plugins update @openclaw/voice-call
openclaw plugins update openclaw-codex-app-server --dangerously-force-unsafe-install

更新应用于托管插件索引中跟踪的插件安装和 hooks.internal.installs 中跟踪的 Hook Pack 安装。

解析插件 id vs npm spec

当传递插件 id 时,OpenClaw 复用该插件的已记录安装规范。这意味着之前存储的 dist-tag(如 @beta)和精确固定版本在后续 update &lt;id&gt; 运行中继续使用。

对于 npm 安装,也可以传递带 dist-tag 或精确版本的显式 npm 包规范。OpenClaw 将该包名解析回跟踪的插件记录,更新该已安装插件,并为将来的基于 id 的更新记录新的 npm 规范。

传递不带版本或标签的 npm 包名也会解析回跟踪的插件记录。当插件被固定到精确版本且您想将其移回注册表的默认发行线时,使用此方式。

Beta 频道更新

openclaw plugins update 除非传递新规范,否则复用跟踪的插件规范。openclaw update 额外知道活动的 OpenClaw 更新频道:在 beta 频道上,默认线的 npm 和 ClawHub 插件记录优先尝试 @beta。如果没有插件 beta 发行版,则回退到记录的 default/latest 规范;npm 插件也在 beta 包存在但安装验证失败时回退。该回退报告为警告,不导致核心更新失败。精确版本和显式标签保持固定。

版本检查与完整性漂移

在实时 npm 更新之前,OpenClaw 检查已安装的包版本与 npm 注册表元数据。如果已安装版本和记录的制品身份已匹配解析目标,则跳过更新,不下载、重新安装或重写 openclaw.json

当存储的完整性哈希存在且获取的制品哈希发生变化时,OpenClaw 将其视为 npm 制品漂移。交互式 openclaw plugins update 命令打印预期和实际哈希,并要求确认后才继续。非交互式更新助手失败关闭,除非调用者提供显式连续策略。

--dangerously-force-unsafe-install 用于更新

--dangerously-force-unsafe-install 也可用于 plugins update,作为内置危险代码扫描误报的突破覆写。它仍然不绕过插件 before_install 策略拦截或扫描失败阻断,且仅适用于插件更新,不适用于 Hook Pack 更新。

查看详情(Inspect)

bash
openclaw plugins inspect <id>
openclaw plugins inspect <id> --runtime
openclaw plugins inspect <id> --json

默认情况下,Inspect 显示身份、加载状态、来源、manifest 能力、策略标志、诊断信息、安装元数据、Bundle 能力以及检测到的 MCP 或 LSP 服务支持,不导入插件运行时。添加 --runtime 加载插件模块并包含注册的钩子、工具、命令、服务、gateway 方法和 HTTP 路由。运行时检查直接报告缺失的插件依赖;安装和修复由 openclaw plugins installopenclaw plugins updateopenclaw doctor --fix 处理。

插件拥有的 CLI 命令通常安装为根 openclaw 命令组,但插件也可能在核心父命令(如 openclaw nodes)下注册嵌套命令。inspect --runtime 显示 cliCommands 后,按列出的路径运行命令;例如注册了 demo-git 的插件可使用 openclaw demo-git ping 验证。

每个插件根据运行时实际注册的内容分类:

  • plain-capability:单一能力类型(如仅 provider)
  • hybrid-capability:多种能力类型(如文本 + 语音 + 图片)
  • hook-only:仅有钩子,无能力或界面
  • non-capability:有工具/命令/服务但无能力

详见 Plugin shapes

--json 输出机器可读报告,适合脚本和审计。inspect --all 渲染全量插件表,包含形态、能力类型、兼容性提示、Bundle 能力和钩子摘要列。infoinspect 的别名。

诊断(Doctor)

bash
openclaw plugins doctor

doctor 报告插件加载错误、manifest/发现诊断、兼容性提示以及过时的插件配置引用(如缺失的插件插槽)。当安装树和插件配置都干净时,输出 No plugin issues detected.。如果过期配置仍然存在但安装树健康,摘要会说明而非暗示插件完全健康。

如果配置的插件在磁盘上存在但被加载器的路径安全检查阻止,配置验证会保留该插件条目并报告为 present but blocked。修复前面的被阻止插件诊断(如路径所有权或世界可写权限),而不是移除 plugins.entries.&lt;id&gt;plugins.allow 配置。

对于模块形状失败(如缺失 register/activate 导出),使用 OPENCLAW_PLUGIN_LOAD_DEBUG=1 重新运行,可在诊断输出中包含紧凑的导出形状摘要。

注册表(Registry)

bash
openclaw plugins registry
openclaw plugins registry --refresh
openclaw plugins registry --json

本地插件注册表是 OpenClaw 持久化的冷读模型,用于已安装插件的身份、启用状态、源元数据和贡献归属。正常启动、provider 所有者查找、渠道设置分类和插件清单可以读取它而无需导入插件运行时模块。

使用 plugins registry 检查持久化注册表是否存在、当前或过期。使用 --refresh 从持久化插件索引、配置策略和 manifest/包元数据重建注册表。这是修复路径,不是运行时激活路径。

openclaw doctor --fix 也会修复注册表附近的托管 npm 漂移:如果托管插件 npm 根目录下存在孤立的或恢复的 @openclaw/* 包与内置插件冲突,doctor 会移除该过期包并重建注册表,使启动时根据内置 manifest 验证。Doctor 还会将宿主 openclaw 包重新链接到声明 peerDependencies.openclaw 的托管 npm 插件中,以使包本地运行时导入(如 openclaw/plugin-sdk/*)在更新或 npm 修复后解析。

已弃用环境变量OPENCLAW_DISABLE_PERSISTED_PLUGIN_REGISTRY=1 是一个针对注册表读取失败的已弃用应急开关。优先使用 plugins registry --refreshopenclaw doctor --fix;该环境变量仅用于迁移推出期间的应急启动恢复。

市场(Marketplace)

bash
openclaw plugins marketplace list <source>
openclaw plugins marketplace list <source> --json

Marketplace list 接受本地市场路径、marketplace.json 路径、GitHub 简写(owner/repo)、GitHub 仓库 URL 或 git URL。--json 输出解析后的源标签以及解析的市场 manifest 和插件条目。

常见问题

安装插件后不生效,怎么排查?

运行 openclaw plugins doctor 查看加载错误,再用 openclaw plugins list --verbose 确认插件状态。大多数插件变更需要重启 Gateway 才生效——确保重启的是 openclaw gateway run 子进程,而非仅包装进程。也可以使用 openclaw plugins inspect &lt;id&gt; --runtime --json 检查运行时注册的钩子和命令。

如何从 ClawHub 安装特定版本的插件?

使用 clawhub:&lt;package&gt;@&lt;version&gt; 格式,例如 openclaw plugins install clawhub:openclaw-codex-app-server@1.2.3。安装后 openclaw plugins update &lt;id&gt; 会保持该版本固定,除非传递新的规范。

--dangerously-force-unsafe-install 什么时候需要用?

当内置危险代码扫描误报(比如测试文件中的代码被误判)且确认插件来自可信来源时,可使用该选项绕过扫描阻止。它不绕过 before_install 策略和扫描失败阻断,仅用于突破误报。如果插件在 ClawHub 被隐藏,需联系发布者处理重扫,此选项只影响本地安装。