diff --git a/docs/zh-CN/cli/plugins.md b/docs/zh-CN/cli/plugins.md index d2aa62f0a..49ff1e952 100644 --- a/docs/zh-CN/cli/plugins.md +++ b/docs/zh-CN/cli/plugins.md @@ -6,10 +6,10 @@ sidebarTitle: Plugins summary: '`openclaw plugins` 的 CLI 参考(列出、安装、市场、卸载、启用/禁用、Doctor)' title: 插件 x-i18n: - generated_at: "2026-05-02T17:02:31Z" + generated_at: "2026-05-02T17:21:51Z" model: gpt-5.5 provider: openai - source_hash: a067e6a42eb71e5795b881b6cef45281144a695800b6a33f0669a60ec493d893 + source_hash: 2f29ff970a535812be046648547bb3851d870c2e6d8ce2f836f991c0ca28bbfc source_path: cli/plugins.md workflow: 16 --- @@ -18,13 +18,13 @@ x-i18n: - 面向最终用户的指南,用于安装、启用插件并排查插件问题。 + 面向最终用户的插件安装、启用和故障排除指南。 包兼容性模型。 - 清单字段和配置 schema。 + 清单字段和配置架构。 插件安装的安全加固。 @@ -59,14 +59,14 @@ openclaw plugins marketplace list openclaw plugins marketplace list --json ``` -排查缓慢的安装、检查、卸载或注册表刷新时,请使用 `OPENCLAW_PLUGIN_LIFECYCLE_TRACE=1` 运行该命令。跟踪会将各阶段耗时写入 stderr,并保持 JSON 输出可解析。请参阅[调试](/zh-CN/help/debugging#plugin-lifecycle-trace)。 +如需调查安装、检查、卸载或注册表刷新缓慢的问题,请在运行命令时设置 `OPENCLAW_PLUGIN_LIFECYCLE_TRACE=1`。跟踪会将各阶段耗时写入 stderr,并保持 JSON 输出可解析。参见[调试](/zh-CN/help/debugging#plugin-lifecycle-trace)。 -内置插件随 OpenClaw 一起发布。有些默认启用(例如内置模型提供商、内置语音提供商和内置浏览器插件);其他插件需要执行 `plugins enable`。 +内置插件随 OpenClaw 一起提供。有些默认启用(例如内置模型提供商、内置语音提供商,以及内置浏览器插件);其他插件需要使用 `plugins enable`。 -原生 OpenClaw 插件必须随附 `openclaw.plugin.json`,并包含内联 JSON Schema(`configSchema`,即使为空也必须有)。兼容包则使用它们自己的包清单。 +原生 OpenClaw 插件必须随附 `openclaw.plugin.json`,其中包含内联 JSON Schema(`configSchema`,即使为空也要提供)。兼容包则使用自己的包清单。 -`plugins list` 会显示 `Format: openclaw` 或 `Format: bundle`。详细列表/信息输出还会显示包子类型(`codex`、`claude` 或 `cursor`)以及检测到的包能力。 +`plugins list` 会显示 `Format: openclaw` 或 `Format: bundle`。详细列表/info 输出还会显示包子类型(`codex`、`claude` 或 `cursor`)以及检测到的包能力。 ### 安装 @@ -88,100 +88,100 @@ openclaw plugins install --marketplace https://github.com// -裸包名会先对照 ClawHub 检查,然后再检查 npm。请像运行代码一样对待插件安装。优先使用固定版本。 +裸包名会先对照 ClawHub 检查,然后再检查 npm。请把安装插件视为运行代码。优先使用固定版本。 -`plugins search` 会查询 ClawHub 中可安装的插件包,并打印可直接用于安装的包名。它搜索代码插件和包插件包,而不是 Skills。要搜索 ClawHub Skills,请使用 `openclaw skills search`。 +`plugins search` 会查询 ClawHub 中可安装的插件包,并打印可直接用于安装的包名。它搜索代码插件和包插件,而不是 Skills。使用 `openclaw skills search` 搜索 ClawHub Skills。 -ClawHub 是大多数插件的主要分发和发现入口。Npm 仍然是受支持的备用方案和直接安装路径。在迁移到 ClawHub 期间,OpenClaw 仍会在 npm 上发布一些 OpenClaw 自有的 `@openclaw/*` 插件包;这些包版本在插件发布列车之间可能落后于内置源码。如果 npm 报告某个 OpenClaw 自有插件包已弃用,则该已发布版本是旧的外部构件;请使用当前 OpenClaw 内置的插件,或使用本地检出版本,直到发布更新的 npm 包。 +ClawHub 是大多数插件的主要分发和发现入口。Npm 仍然是受支持的后备方案和直接安装路径。在迁移到 ClawHub 的过程中,OpenClaw 仍会在 npm 上发布一些 OpenClaw 自有的 `@openclaw/*` 插件包;在插件发布周期之间,这些包版本可能会落后于内置源码。如果 npm 将某个 OpenClaw 自有插件包报告为已弃用,该发布版本就是旧的外部构件;请使用当前 OpenClaw 内置的插件,或使用本地 checkout,直到发布更新的 npm 包。 - - 如果你的 `plugins` 部分由单文件 `$include` 支持,`plugins install/update/enable/disable/uninstall` 会写入该 include 文件,并保持 `openclaw.json` 不变。根级 include、include 数组以及带同级覆盖项的 include 会以失败关闭方式处理,而不是展开扁平化。受支持的形态请参阅[配置 include](/zh-CN/gateway/configuration)。 + + 如果你的 `plugins` 部分由单文件 `$include` 支持,`plugins install/update/enable/disable/uninstall` 会写入该 include 文件,并保持 `openclaw.json` 不变。根级 include、include 数组,以及带有同级覆盖项的 include 都会以失败关闭的方式处理,而不会被展开。参见[配置 include](/zh-CN/gateway/configuration) 了解支持的形态。 - 如果安装期间配置无效,`plugins install` 通常会失败关闭,并提示你先运行 `openclaw doctor --fix`。Gateway 网关启动期间,某个插件的无效配置会被隔离到该插件,以便其他渠道和插件可以继续运行;`openclaw doctor --fix` 可以隔离无效的插件条目。唯一记录在文档中的安装时例外,是一个狭窄的内置插件恢复路径,仅适用于显式选择加入 `openclaw.install.allowInvalidConfigRecovery` 的插件。 + 如果安装期间配置无效,`plugins install` 通常会失败关闭,并提示你先运行 `openclaw doctor --fix`。Gateway 网关启动期间,某个插件的无效配置会被隔离到该插件,以便其他渠道和插件继续运行;`openclaw doctor --fix` 可以隔离无效插件条目。唯一有文档说明的安装时例外,是一个狭窄的内置插件恢复路径,仅适用于显式选择加入 `openclaw.install.allowInvalidConfigRecovery` 的插件。 - - `--force` 会复用现有安装目标,并就地覆盖已安装的插件或钩子包。当你有意从新的本地路径、归档、ClawHub 包或 npm 构件重新安装同一 ID 时使用它。对于已跟踪 npm 插件的常规升级,请优先使用 `openclaw plugins update `。 + + `--force` 会复用现有安装目标,并就地覆盖已经安装的插件或钩子包。当你有意从新的本地路径、归档、ClawHub 包或 npm 构件重新安装同一 id 时使用它。对于已经跟踪的 npm 插件的常规升级,优先使用 `openclaw plugins update `。 - 如果你对已安装的插件 ID 运行 `plugins install`,OpenClaw 会停止,并提示你使用 `plugins update ` 进行正常升级,或在你确实想从不同来源覆盖当前安装时使用 `plugins install --force`。 + 如果你对已安装的插件 id 运行 `plugins install`,OpenClaw 会停止,并提示你使用 `plugins update ` 进行常规升级,或者在你确实想从不同来源覆盖当前安装时使用 `plugins install --force`。 - - `--pin` 仅适用于 npm 安装。它不支持 `git:` 安装;当你需要固定源码时,请使用显式 git ref,例如 `git:github.com/acme/plugin@v1.2.3`。它不支持与 `--marketplace` 一起使用,因为 marketplace 安装会持久化 marketplace 源元数据,而不是 npm spec。 + + `--pin` 仅适用于 npm 安装。它不支持 `git:` 安装;如果想固定来源,请使用显式 git ref,例如 `git:github.com/acme/plugin@v1.2.3`。它也不支持 `--marketplace`,因为 marketplace 安装会持久化 marketplace 来源元数据,而不是 npm spec。 - `--dangerously-force-unsafe-install` 是用于内置危险代码扫描器误报的应急选项。它允许在内置扫描器报告 `critical` 发现时继续安装,但它**不会**绕过插件 `before_install` 钩子策略阻断,也**不会**绕过扫描失败。 + `--dangerously-force-unsafe-install` 是用于处理内置危险代码扫描器误报的应急选项。即使内置扫描器报告 `critical` 发现,它也允许安装继续,但它**不会**绕过插件 `before_install` 钩子策略阻断,也**不会**绕过扫描失败。 - 此 CLI 标志适用于插件安装/更新流程。由 Gateway 网关支持的技能依赖安装使用对应的 `dangerouslyForceUnsafeInstall` 请求覆盖,而 `openclaw skills install` 仍然是单独的 ClawHub 技能下载/安装流程。 + 这个 CLI 标志适用于插件安装/更新流程。由 Gateway 网关支持的 skill 依赖安装使用匹配的 `dangerouslyForceUnsafeInstall` 请求覆盖,而 `openclaw skills install` 仍是单独的 ClawHub skill 下载/安装流程。 - 如果你发布到 ClawHub 的插件被注册表扫描阻止,请使用 [ClawHub](/zh-CN/tools/clawhub) 中的发布者步骤。 + 如果你发布到 ClawHub 的插件被注册表扫描阻断,请使用 [ClawHub](/zh-CN/tools/clawhub) 中的发布者步骤。 - `plugins install` 也是安装在 `package.json` 中暴露 `openclaw.hooks` 的钩子包的入口。请使用 `openclaw hooks` 查看过滤后的钩子可见性并逐个启用钩子,而不是用于包安装。 + `plugins install` 也是安装钩子包的入口,这些钩子包会在 `package.json` 中公开 `openclaw.hooks`。请使用 `openclaw hooks` 查看筛选后的钩子可见性和按钩子启用设置,而不是用于包安装。 - Npm specs **仅限注册表**(包名 + 可选的**精确版本**或 **dist-tag**)。Git/URL/file specs 和 semver 范围会被拒绝。依赖安装会以项目本地方式运行,并为安全起见使用 `--ignore-scripts`,即使你的 shell 配置了全局 npm 安装设置也是如此。 + Npm specs **仅限注册表**(包名 + 可选的**精确版本**或 **dist-tag**)。Git/URL/file specs 和 semver 范围会被拒绝。依赖安装会以项目本地方式运行,并出于安全考虑使用 `--ignore-scripts`,即使你的 shell 具有全局 npm 安装设置也是如此。 - 当你想跳过 ClawHub 查询并直接从 npm 安装时,请使用 `npm:`。裸包 specs 仍会优先使用 ClawHub,只有当 ClawHub 没有该包或版本时才回退到 npm。 + 当你想跳过 ClawHub 查找并直接从 npm 安装时,使用 `npm:`。裸包 spec 仍优先使用 ClawHub,只有当 ClawHub 没有该包或版本时才回退到 npm。 - 裸 specs 和 `@latest` 会停留在稳定轨道。如果 npm 将其中任一项解析为预发布版本,OpenClaw 会停止,并要求你使用预发布标签(例如 `@beta`/`@rc`)或精确预发布版本(例如 `@1.2.3-beta.4`)显式选择加入。 + 裸 spec 和 `@latest` 会停留在稳定轨道。如果 npm 将其中任一项解析为预发布版本,OpenClaw 会停止,并要求你使用预发布标签(例如 `@beta`/`@rc`)或精确预发布版本(例如 `@1.2.3-beta.4`)显式选择加入。 - 如果裸安装 spec 匹配官方插件 ID(例如 `diffs`),OpenClaw 会直接安装目录条目。要安装同名 npm 包,请使用显式 scoped spec(例如 `@scope/diffs`)。 + 如果裸安装 spec 匹配官方插件 id(例如 `diffs`),OpenClaw 会直接安装目录条目。要安装同名 npm 包,请使用显式带 scope 的 spec(例如 `@scope/diffs`)。 - 使用 `git:` 直接从 git 仓库安装。支持的形式包括 `git:github.com/owner/repo`、`git:owner/repo`、完整 `https://`、`ssh://`、`git://`、`file://`,以及 `git@host:owner/repo.git` 克隆 URL。在安装前添加 `@` 或 `#` 以检出分支、标签或提交。 + 使用 `git:` 直接从 git 仓库安装。支持的形式包括 `git:github.com/owner/repo`、`git:owner/repo`、完整 `https://`、`ssh://`、`git://`、`file://`,以及 `git@host:owner/repo.git` 克隆 URL。添加 `@` 或 `#` 可在安装前 checkout 分支、标签或提交。 - Git 安装会克隆到临时目录,在存在请求的 ref 时检出该 ref,然后使用常规插件目录安装器。这意味着清单验证、危险代码扫描、包管理器安装工作以及安装记录的行为都类似 npm 安装。记录的 git 安装包含源 URL/ref 以及解析出的提交,以便 `openclaw plugins update` 稍后可以重新解析该来源。 + Git 安装会克隆到临时目录,在存在请求的 ref 时 checkout 该 ref,然后使用正常的插件目录安装器。这意味着清单验证、危险代码扫描、包管理器安装工作和安装记录的行为都类似 npm 安装。记录的 git 安装包含源 URL/ref 以及解析后的提交,以便 `openclaw plugins update` 之后可以重新解析该来源。 - 从 git 安装后,使用 `openclaw plugins inspect --runtime --json` 验证运行时注册项,例如 gateway 方法和 CLI 命令。如果插件通过 `api.registerCli` 注册了 CLI 根命令,请直接通过 OpenClaw 根 CLI 执行该命令,例如 `openclaw demo-plugin ping`。 + 从 git 安装后,使用 `openclaw plugins inspect --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 写入安装记录前被拒绝。 + 支持的归档:`.zip`、`.tgz`、`.tar.gz`、`.tar`。原生 OpenClaw 插件归档必须在解压后的插件根目录包含有效的 `openclaw.plugin.json`;仅包含 `package.json` 的归档会在 OpenClaw 写入安装记录前被拒绝。 也支持 Claude marketplace 安装。 -ClawHub 安装使用显式 `clawhub:` 定位器: +ClawHub 安装使用显式的 `clawhub:` 定位符: ```bash openclaw plugins install clawhub:openclaw-codex-app-server openclaw plugins install clawhub:openclaw-codex-app-server@1.2.3 ``` -OpenClaw 现在也会优先对裸 npm 安全插件 specs 使用 ClawHub。只有当 ClawHub 没有该包或版本时,它才会回退到 npm: +现在,OpenClaw 也会优先使用 ClawHub 解析裸 npm-safe 插件 spec。只有当 ClawHub 没有该包或版本时,它才回退到 npm: ```bash openclaw plugins install openclaw-codex-app-server ``` -使用 `npm:` 强制仅从 npm 解析,例如当 ClawHub 不可访问,或你知道该包只存在于 npm 上时: +使用 `npm:` 强制仅通过 npm 解析,例如当 ClawHub 不可达,或你知道该包只存在于 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 digest header 和构件 digest,然后通过常规归档路径安装它。没有 ClawPack 元数据的旧 ClawHub 版本仍会通过旧版包归档验证路径安装。记录的安装会保留其 ClawHub 源元数据和 ClawPack digest 事实,以供后续更新使用。 -未带版本的 ClawHub 安装会保留未带版本的记录 spec,以便 `openclaw plugins update` 可以跟随后续的 ClawHub 版本;显式版本或标签选择器(例如 `clawhub:pkg@1.2.3` 和 `clawhub:pkg@beta`)仍会固定到该选择器。 +OpenClaw 会在安装前检查公布的插件 API / 最低 gateway 兼容性。当选中的 ClawHub 版本发布了 ClawPack 构件时,OpenClaw 会下载带版本的 npm-pack `.tgz`,验证 ClawHub digest 头和构件 digest,然后通过正常归档路径安装它。没有 ClawPack 元数据的旧版 ClawHub 版本仍会通过旧版包归档验证路径安装。记录的安装会保留其 ClawHub 来源元数据、构件类型、npm integrity、npm shasum、tarball 名称和 ClawPack digest 信息,以供后续更新使用。 +未指定版本的 ClawHub 安装会保留未指定版本的记录 spec,以便 `openclaw plugins update` 能跟随后续 ClawHub 版本;显式版本或标签选择器,例如 `clawhub:pkg@1.2.3` 和 `clawhub:pkg@beta`,会继续固定到该选择器。 #### Marketplace 简写 -当 marketplace 名称存在于 Claude 的本地注册表缓存 `~/.claude/plugins/known_marketplaces.json` 中时,使用 `plugin@marketplace` 简写: +当 marketplace 名称存在于 Claude 位于 `~/.claude/plugins/known_marketplaces.json` 的本地注册表缓存中时,使用 `plugin@marketplace` 简写: ```bash openclaw plugins marketplace list openclaw plugins install @ ``` -当你想显式传入 marketplace 来源时,请使用 `--marketplace`: +当你想显式传递 marketplace 来源时,使用 `--marketplace`: ```bash openclaw plugins install --marketplace @@ -192,7 +192,7 @@ openclaw plugins install --marketplace ./my-marketplace - - 来自 `~/.claude/plugins/known_marketplaces.json` 的 Claude 已知市场名称 + - `~/.claude/plugins/known_marketplaces.json` 中的 Claude 已知市场名称 - 本地市场根目录或 `marketplace.json` 路径 - GitHub 仓库简写,例如 `owner/repo` - GitHub 仓库 URL,例如 `https://github.com/owner/repo` @@ -212,7 +212,7 @@ openclaw plugins install --marketplace ./my-marketplace - Cursor 兼容包(`.cursor-plugin/plugin.json`) -兼容包会安装到常规插件根目录,并参与相同的列表/信息/启用/禁用流程。目前支持包 Skills、Claude 命令 Skills、Claude `settings.json` 默认值、Claude `.lsp.json` / 清单声明的 `lspServers` 默认值、Cursor 命令 Skills,以及兼容的 Codex 钩子目录;其他检测到的包能力会显示在诊断/信息中,但尚未接入运行时执行。 +兼容包会安装到普通插件根目录,并参与同一套列表/信息/启用/禁用流程。目前支持包 Skills、Claude 命令 Skills、Claude `settings.json` 默认值、Claude `.lsp.json` / 清单声明的 `lspServers` 默认值、Cursor 命令 Skills,以及兼容的 Codex 钩子目录;其他检测到的包能力会显示在诊断/信息中,但尚未接入运行时执行。 ### 列表 @@ -231,25 +231,25 @@ openclaw plugins search --json 仅显示已启用的插件。 - 从表格视图切换为逐插件详情行,包含来源/源头/版本/激活元数据。 + 从表格视图切换为每个插件一行的详细信息,包含来源/源头/版本/激活元数据。 - 机器可读的清单加注册表诊断。 + 机器可读的清单,以及注册表诊断信息。 -`plugins list` 会先读取持久化的本地插件注册表;当注册表缺失或无效时,会使用仅由清单派生的回退。它可用于检查插件是否已安装、已启用,并对冷启动规划可见,但它不是对已经运行的 Gateway 网关进程的实时运行时探测。更改插件代码、启用状态、钩子策略或 `plugins.load.paths` 后,请重启服务该渠道的 Gateway 网关,再期待新的 `register(api)` 代码或钩子运行。对于远程/容器部署,请确认你重启的是实际的 `openclaw gateway run` 子进程,而不只是包装器进程。 +`plugins list` 会先读取持久化的本地插件注册表;当注册表缺失或无效时,回退到仅由清单派生的结果。它适合检查某个插件是否已安装、已启用,并且对冷启动规划可见,但它不是对已运行 Gateway 网关进程的实时运行时探测。更改插件代码、启用状态、钩子策略或 `plugins.load.paths` 后,请先重启服务该渠道的 Gateway 网关,再期待新的 `register(api)` 代码或钩子运行。对于远程/容器部署,请确认你重启的是实际的 `openclaw gateway run` 子进程,而不只是包装器进程。 `plugins search` 是远程 ClawHub 目录查询。它不会检查本地状态、修改配置、安装包或加载插件运行时代码。搜索结果包含 ClawHub 包名、系列、渠道、版本、摘要,以及类似 `openclaw plugins install clawhub:` 的安装提示。 -对于打包 Docker 镜像内的内置插件工作,请将插件源目录绑定挂载到匹配的打包源路径上,例如 `/app/extensions/synology-chat`。OpenClaw 会先于 `/app/dist/extensions/synology-chat` 发现该挂载的源覆盖层;普通复制的源目录仍然不会生效,因此常规打包安装仍会使用编译后的 dist。 +对于打包 Docker 镜像内的内置插件工作,请将插件源目录绑定挂载到匹配的打包源路径上,例如 `/app/extensions/synology-chat`。OpenClaw 会先发现该挂载的源码覆盖层,再发现 `/app/dist/extensions/synology-chat`;普通复制的源目录仍保持惰性,因此正常打包安装仍使用已编译的 dist。 -用于运行时钩子调试: +对于运行时钩子调试: -- `openclaw plugins inspect --runtime --json` 会显示来自模块加载检查过程的已注册钩子和诊断。运行时检查永远不会安装依赖;使用 `openclaw doctor --fix` 清理旧依赖状态或安装缺失的已配置可下载插件。 -- `openclaw gateway status --deep --require-rpc` 会确认可达的 Gateway 网关、服务/进程提示、配置路径和 RPC 健康状态。 -- 非内置对话钩子(`llm_input`、`llm_output`、`before_agent_finalize`、`agent_end`)需要 `plugins.entries..hooks.allowConversationAccess=true`。 +- `openclaw plugins inspect --runtime --json` 会显示来自一次模块加载检查流程的已注册钩子和诊断信息。运行时检查从不安装依赖;使用 `openclaw doctor --fix` 清理旧依赖状态,或安装缺失的已配置可下载插件。 +- `openclaw gateway status --deep --require-rpc` 会确认可访问的 Gateway 网关、服务/进程提示、配置路径和 RPC 健康状态。 +- 非内置会话钩子(`llm_input`、`llm_output`、`before_agent_finalize`、`agent_end`)需要 `plugins.entries..hooks.allowConversationAccess=true`。 使用 `--link` 可避免复制本地目录(会添加到 `plugins.load.paths`): @@ -258,16 +258,16 @@ openclaw plugins install -l ./my-plugin ``` -`--force` 不支持与 `--link` 一起使用,因为链接安装会复用源路径,而不是覆盖托管安装目标。 +`--force` 不支持与 `--link` 一起使用,因为链接式安装会复用源路径,而不是覆盖托管安装目标。 -在 npm 安装上使用 `--pin`,可在托管插件索引中保存解析后的精确规格(`name@version`),同时保持默认行为不固定。 +在 npm 安装中使用 `--pin`,可在托管插件索引中保存解析后的精确规格(`name@version`),同时保持默认行为为非固定版本。 ### 插件索引 -插件安装元数据是机器管理的状态,不是用户配置。安装和更新会将它写入活动 OpenClaw 状态目录下的 `plugins/installs.json`。其顶层 `installRecords` 映射是安装元数据的持久来源,包括损坏或缺失插件清单的记录。`plugins` 数组是由清单派生的冷注册表缓存。该文件包含“请勿编辑”警告,并由 `openclaw plugins update`、卸载、诊断和冷插件注册表使用。 +插件安装元数据是机器管理的状态,不是用户配置。安装和更新会将其写入活动 OpenClaw 状态目录下的 `plugins/installs.json`。其顶层 `installRecords` 映射是安装元数据的持久来源,包括损坏或缺失插件清单的记录。`plugins` 数组是由清单派生的冷注册表缓存。该文件包含“请勿编辑”警告,并由 `openclaw plugins update`、卸载、诊断和冷插件注册表使用。 -当 OpenClaw 在配置中看到已发布的旧版 `plugins.installs` 记录时,会将它们移动到插件索引并移除该配置键;如果任一写入失败,则保留配置记录,确保安装元数据不会丢失。 +当 OpenClaw 在配置中看到已发布的旧版 `plugins.installs` 记录时,会将它们移动到插件索引并移除配置键;如果任一写入失败,配置记录会保留,以免安装元数据丢失。 ### 卸载 @@ -277,10 +277,10 @@ openclaw plugins uninstall --dry-run openclaw plugins uninstall --keep-files ``` -`uninstall` 会从 `plugins.entries`、持久化插件索引、插件允许/拒绝列表条目以及适用时的链接 `plugins.load.paths` 条目中移除插件记录。除非设置了 `--keep-files`,卸载还会移除跟踪的托管安装目录,前提是该目录位于 OpenClaw 的插件扩展根目录内。对于主动记忆插件,记忆槽会重置为 `memory-core`。 +`uninstall` 会从 `plugins.entries`、持久化插件索引、插件允许/拒绝列表条目,以及适用时链接的 `plugins.load.paths` 条目中移除插件记录。除非设置了 `--keep-files`,否则当被跟踪的托管安装目录位于 OpenClaw 插件扩展根目录内时,卸载也会移除该目录。对于主动记忆插件,记忆槽会重置为 `memory-core`。 -`--keep-config` 作为 `--keep-files` 的已弃用别名受到支持。 +`--keep-config` 仍作为 `--keep-files` 的已弃用别名受支持。 ### 更新 @@ -293,25 +293,25 @@ openclaw plugins update @openclaw/voice-call@beta openclaw plugins update openclaw-codex-app-server --dangerously-force-unsafe-install ``` -更新适用于托管插件索引中跟踪的插件安装,以及 `hooks.internal.installs` 中跟踪的钩子包安装。 +更新适用于托管插件索引中被跟踪的插件安装,以及 `hooks.internal.installs` 中被跟踪的钩子包安装。 - 当你传入插件 id 时,OpenClaw 会复用该插件记录的安装规格。这意味着之前存储的 dist-tag(例如 `@beta`)和精确固定版本,会在后续 `update ` 运行中继续使用。 + 当你传入插件 id 时,OpenClaw 会复用该插件已记录的安装规格。这意味着之前存储的 dist-tag(例如 `@beta`)以及固定的精确版本,会在后续 `update ` 运行中继续使用。 - 对于 npm 安装,你也可以传入带有 dist-tag 或精确版本的显式 npm 包规格。OpenClaw 会将该包名解析回跟踪的插件记录,更新该已安装插件,并记录新的 npm 规格以供未来基于 id 的更新使用。 + 对于 npm 安装,你也可以传入带有 dist-tag 或精确版本的显式 npm 包规格。OpenClaw 会将该包名解析回被跟踪的插件记录,更新该已安装插件,并记录新的 npm 规格以供后续基于 id 的更新使用。 - 传入不带版本或标签的 npm 包名,也会解析回跟踪的插件记录。当某个插件被固定到精确版本,而你想将它移回注册表的默认发布线时,请使用这种方式。 + 传入不带版本或标签的 npm 包名,也会解析回被跟踪的插件记录。当某个插件固定到了精确版本,而你想把它移回注册表的默认发布线时,请使用此方式。 - 在实时 npm 更新前,OpenClaw 会根据 npm 注册表元数据检查已安装包版本。如果已安装版本和记录的构件身份已经与解析目标匹配,则会跳过更新,不下载、不重新安装,也不重写 `openclaw.json`。 + 在实时 npm 更新前,OpenClaw 会根据 npm 注册表元数据检查已安装包版本。如果已安装版本和记录的制品身份已经与解析出的目标匹配,则会跳过更新,不会下载、重新安装或重写 `openclaw.json`。 - 当存在已存储的完整性哈希且获取到的构件哈希发生变化时,OpenClaw 会将其视为 npm 构件漂移。交互式 `openclaw plugins update` 命令会打印预期哈希和实际哈希,并在继续前请求确认。非交互式更新助手会默认失败关闭,除非调用方提供显式继续策略。 + 当存在已存储的完整性哈希且获取到的制品哈希发生变化时,OpenClaw 会将其视为 npm 制品漂移。交互式 `openclaw plugins update` 命令会打印预期哈希和实际哈希,并在继续前请求确认。非交互式更新辅助工具会默认失败关闭,除非调用方提供显式的继续策略。 - - `--dangerously-force-unsafe-install` 也可用于 `plugins update`,作为插件更新期间内置危险代码扫描误报的紧急覆盖。它仍不会绕过插件 `before_install` 策略阻断或扫描失败阻断,并且只适用于插件更新,不适用于钩子包更新。 + + `--dangerously-force-unsafe-install` 也可用于 `plugins update`,作为插件更新期间内置危险代码扫描误报的应急覆盖。它仍然不会绕过插件 `before_install` 策略阻止或扫描失败阻止,并且只适用于插件更新,不适用于钩子包更新。 @@ -323,21 +323,21 @@ openclaw plugins inspect --runtime openclaw plugins inspect --json ``` -默认情况下,检查会显示身份、加载状态、来源、清单能力、策略标志、诊断、安装元数据、包能力,以及任何检测到的 MCP 或 LSP 服务器支持,而不会导入插件运行时。添加 `--runtime` 可加载插件模块,并包含已注册的钩子、工具、命令、服务、Gateway 网关方法和 HTTP 路由。运行时检查会直接报告缺失的插件依赖;安装和修复仍由 `openclaw plugins install`、`openclaw plugins update` 和 `openclaw doctor --fix` 处理。 +Inspect 默认不导入插件运行时,会显示身份、加载状态、来源、清单能力、策略标志、诊断、安装元数据、包能力,以及任何检测到的 MCP 或 LSP 服务器支持。添加 `--runtime` 可加载插件模块,并包含已注册的钩子、工具、命令、服务、Gateway 网关方法和 HTTP 路由。运行时检查会直接报告缺失的插件依赖;安装和修复仍由 `openclaw plugins install`、`openclaw plugins update` 和 `openclaw doctor --fix` 负责。 -插件拥有的 CLI 命令会作为根 `openclaw` 命令组安装。`inspect --runtime` 在 `cliCommands` 下显示命令后,请以 `openclaw ...` 运行它;例如,注册了 `demo-git` 的插件可以用 `openclaw demo-git ping` 验证。 +插件自有 CLI 命令会安装为根级 `openclaw` 命令组。在 `inspect --runtime` 于 `cliCommands` 下显示命令后,请以 `openclaw ...` 运行它;例如,注册了 `demo-git` 的插件可以用 `openclaw demo-git ping` 验证。 -每个插件会按其在运行时实际注册的内容分类: +每个插件都会根据其运行时实际注册的内容分类: - **plain-capability** — 一种能力类型(例如仅提供商插件) - **hybrid-capability** — 多种能力类型(例如文本 + 语音 + 图像) -- **hook-only** — 只有钩子,没有能力或表面 -- **non-capability** — 有工具/命令/服务,但没有能力 +- **hook-only** — 仅钩子,没有能力或表面 +- **non-capability** — 工具/命令/服务,但没有能力 -请参阅[插件形态](/zh-CN/plugins/architecture#plugin-shapes),了解更多能力模型信息。 +参见[插件形态](/zh-CN/plugins/architecture#plugin-shapes),了解能力模型的更多信息。 -`--json` 标志会输出适合脚本和审计的机器可读报告。`inspect --all` 会渲染全局表格,包含形态、能力种类、兼容性通知、包能力和钩子摘要列。`info` 是 `inspect` 的别名。 +`--json` 标志会输出适合脚本和审计的机器可读报告。`inspect --all` 会渲染一个覆盖全部插件的表格,包含形态、能力种类、兼容性提示、包能力和钩子摘要列。`info` 是 `inspect` 的别名。 ### Doctor @@ -346,9 +346,9 @@ openclaw plugins inspect --json openclaw plugins doctor ``` -`doctor` 会报告插件加载错误、清单/设备发现诊断以及兼容性通知。一切正常时,它会打印 `No plugin issues detected.` +`doctor` 会报告插件加载错误、清单/设备发现诊断和兼容性提示。当一切正常时,它会打印 `No plugin issues detected.` -对于缺少 `register`/`activate` 导出等模块形态故障,请使用 `OPENCLAW_PLUGIN_LOAD_DEBUG=1` 重新运行,以在诊断输出中包含紧凑的导出形态摘要。 +对于缺少 `register`/`activate` 导出等模块形态故障,请设置 `OPENCLAW_PLUGIN_LOAD_DEBUG=1` 重新运行,以在诊断输出中包含紧凑的导出形态摘要。 ### 注册表 @@ -358,12 +358,12 @@ openclaw plugins registry --refresh openclaw plugins registry --json ``` -本地插件注册表是 OpenClaw 为已安装插件身份、启用状态、来源元数据和贡献归属持久化的冷读取模型。正常启动、提供商所有者查找、渠道设置分类和插件清单都可以读取它,而无需导入插件运行时模块。 +本地插件注册表是 OpenClaw 持久化的冷读取模型,用于已安装插件身份、启用状态、来源元数据和贡献归属。普通启动、提供商归属查找、渠道设置分类和插件清单都可以读取它,而无需导入插件运行时模块。 -使用 `plugins registry` 检查持久化注册表是否存在、最新或已过期。使用 `--refresh` 可从持久化插件索引、配置策略以及清单/包元数据重建它。这是修复路径,不是运行时激活路径。 +使用 `plugins registry` 检查持久化注册表是否存在、是否为当前版本或是否过期。使用 `--refresh` 可从持久化插件索引、配置策略和清单/包元数据重新构建它。这是一条修复路径,不是运行时激活路径。 -`OPENCLAW_DISABLE_PERSISTED_PLUGIN_REGISTRY=1` 是一个已弃用的注册表读取失败紧急兼容开关。优先使用 `plugins registry --refresh` 或 `openclaw doctor --fix`;环境变量回退仅用于迁移推出期间的紧急启动恢复。 +`OPENCLAW_DISABLE_PERSISTED_PLUGIN_REGISTRY=1` 是已弃用的注册表读取失败应急兼容开关。优先使用 `plugins registry --refresh` 或 `openclaw doctor --fix`;该环境变量回退仅用于迁移推出期间的紧急启动恢复。 ### 市场 @@ -373,7 +373,7 @@ openclaw plugins marketplace list openclaw plugins marketplace list --json ``` -市场列表接受本地市场路径、`marketplace.json` 路径、类似 `owner/repo` 的 GitHub 简写、GitHub 仓库 URL 或 git URL。`--json` 会打印解析后的来源标签,以及解析出的市场清单和插件条目。 +市场列表接受本地市场路径、`marketplace.json` 路径、类似 `owner/repo` 的 GitHub 简写、GitHub 仓库 URL 或 git URL。`--json` 会打印解析后的来源标签,以及已解析的市场清单和插件条目。 ## 相关 diff --git a/docs/zh-CN/tools/clawhub.md b/docs/zh-CN/tools/clawhub.md index bbac813d9..447cf9a55 100644 --- a/docs/zh-CN/tools/clawhub.md +++ b/docs/zh-CN/tools/clawhub.md @@ -4,21 +4,21 @@ read_when: - 将 Skills 或插件发布到注册表 - 配置 clawhub CLI 或其环境覆盖项 sidebarTitle: ClawHub -summary: ClawHub:OpenClaw Skills 和插件的公共注册表、原生安装流程,以及 clawhub CLI +summary: ClawHub:用于 OpenClaw Skills 和插件、原生安装流程以及 clawhub CLI 的公共注册表 title: ClawHub x-i18n: - generated_at: "2026-05-02T17:02:37Z" + generated_at: "2026-05-02T17:21:54Z" model: gpt-5.5 provider: openai - source_hash: a6c0e78a10439b11540cce03a86278f475c6bac81f1b8fbd53a6d6ad87b721f5 + source_hash: 830878acb8c280bdf3bae2f624a6aa1adf20a60c6ee602bf9159395fc1c8acd6 source_path: tools/clawhub.md workflow: 16 --- -ClawHub 是 **OpenClaw Skills 和插件**的公共注册表。 +ClawHub 是 **OpenClaw Skills 和插件** 的公共注册表。 - 使用原生 `openclaw` 命令搜索、安装和更新 Skills,并从 ClawHub 安装插件。 -- 使用单独的 `clawhub` CLI 处理注册表身份验证、发布、删除/取消删除和同步工作流。 +- 使用单独的 `clawhub` CLI 处理注册表认证、发布、删除/取消删除和同步工作流。 站点:[clawhub.ai](https://clawhub.ai) @@ -36,10 +36,10 @@ ClawHub 是 **OpenClaw Skills 和插件**的公共注册表。 ``` - 启动新的 OpenClaw 会话,它会加载新的 skill。 + 启动新的 OpenClaw 会话,它会加载新 Skill。 - 对于需要注册表身份验证的工作流(发布、同步、管理),请安装 + 对于需要注册表认证的工作流(发布、同步、管理),请安装 单独的 `clawhub` CLI: ```bash @@ -62,7 +62,7 @@ ClawHub 是 **OpenClaw Skills 和插件**的公共注册表。 ``` 原生 `openclaw` 命令会安装到你的活动工作区,并 - 持久保存来源元数据,这样之后的 `update` 调用可以继续使用 ClawHub。 + 持久化源元数据,这样后续 `update` 调用就能继续使用 ClawHub。 @@ -72,114 +72,117 @@ ClawHub 是 **OpenClaw Skills 和插件**的公共注册表。 openclaw plugins update --all ``` - `plugins search` 会查询 ClawHub 插件目录,并输出可直接安装的 - 软件包名称。不带前缀且符合 npm 安全命名的插件规格也会先尝试在 ClawHub - 中解析,然后再尝试 npm: + `plugins search` 会查询 ClawHub 插件目录,并打印可直接安装的 + 包名。裸的 npm 安全插件规范也会先尝试在 ClawHub 中解析, + 然后再尝试 npm: ```bash openclaw plugins install openclaw-codex-app-server ``` - 如果你只想使用 npm 解析而不进行 ClawHub 查询,请使用 `npm:`: + 如果你只想使用 npm 解析而不进行 + ClawHub 查找,请使用 `npm:`: ```bash openclaw plugins install npm:openclaw-codex-app-server ``` - 插件安装会在归档安装运行之前验证声明的 `pluginApi` 和 - `minGatewayVersion` 兼容性,因此不兼容的主机会尽早失败并关闭流程,而不是部分安装 - 该软件包。当某个软件包版本发布 ClawPack 工件时, - OpenClaw 会优先使用上传的精确 npm-pack `.tgz`,验证 ClawHub 摘要标头和 - 下载的字节,并记录 ClawPack 摘要元数据以供之后 - 更新使用。没有 ClawPack 元数据的旧软件包版本仍使用 - 旧版软件包归档验证路径。 + 插件安装会在归档安装运行前验证声明的 `pluginApi` 和 + `minGatewayVersion` 兼容性,因此不兼容的主机会提前失败关闭, + 而不是部分安装该包。当某个包版本发布了 ClawPack 工件时, + OpenClaw 会优先使用精确上传的 npm-pack `.tgz`,验证 ClawHub + 摘要标头和下载字节,并记录工件类型、npm + 完整性、npm shasum、tarball 名称和 ClawPack 摘要元数据,以供后续 + 更新使用。没有 ClawPack 元数据的旧包版本仍会使用 + 旧版包归档验证路径。 `openclaw plugins install clawhub:...` 只接受可安装的插件 -系列。如果某个 ClawHub 软件包实际上是一个 skill,OpenClaw 会停止并 +系列。如果 ClawHub 包实际上是 Skill,OpenClaw 会停止并 改为指向 `openclaw skills install `。 -匿名 ClawHub 插件安装也会对私有软件包失败并关闭流程。 +匿名 ClawHub 插件安装也会对私有包失败关闭。 社区或其他非官方渠道仍可安装,但 OpenClaw -会发出警告,以便操作员在启用前审查来源和验证结果。 +会发出警告,方便操作员在启用前审查来源和验证。 ## ClawHub 是什么 - OpenClaw Skills 和插件的公共注册表。 -- skill 包和元数据的版本化存储。 +- Skill 包及其元数据的版本化存储。 - 用于搜索、标签和使用信号的发现界面。 -典型的 skill 是一个包含以下内容的版本化文件包: +典型的 Skill 是一个包含以下内容的版本化文件包: -- 一个包含主要说明和用法的 `SKILL.md` 文件。 -- skill 使用的可选配置、脚本或支持文件。 +- 一个包含主要描述和用法的 `SKILL.md` 文件。 +- Skill 使用的可选配置、脚本或支持文件。 - 标签、摘要和安装要求等元数据。 -ClawHub 使用元数据来支持发现,并安全地公开 skill -能力。注册表会跟踪使用信号(star、下载量),以 -提升排序和可见性。每次发布都会创建一个新的 semver -版本,并且注册表会保留版本历史,便于用户审计 +ClawHub 使用元数据来支持发现,并安全公开 Skill +能力。注册表会跟踪使用信号(星标、下载量),以 +提升排名和可见性。每次发布都会创建一个新的 semver +版本,并且注册表会保留版本历史,以便用户审计 变更。 -## 工作区和 skill 加载 +## 工作区和 Skill 加载 单独的 `clawhub` CLI 也会把 Skills 安装到 当前工作目录下的 `./skills`。如果已配置 OpenClaw 工作区, `clawhub` 会回退到该工作区,除非你覆盖 `--workdir` (或 `CLAWHUB_WORKDIR`)。OpenClaw 会从 -`/skills` 加载工作区 Skills,并在**下一个**会话中加载它们。 +`/skills` 加载工作区 Skills,并在**下一个**会话中 +加载它们。 如果你已经使用 `~/.openclaw/skills` 或内置 Skills,工作区 -Skills 会优先。关于 Skills 如何加载、 -共享和受控的更多细节,请参阅 [Skills](/zh-CN/tools/skills)。 +Skills 优先。有关 Skills 如何加载、 +共享和受控的更多详情,请参阅 [Skills](/zh-CN/tools/skills)。 ## 服务功能 -| 功能 | 说明 | +| 功能 | 说明 | | ------------------------ | ------------------------------------------------------------------- | -| 公开浏览 | Skills 及其 `SKILL.md` 内容可公开查看。 | -| 搜索 | 由嵌入驱动(向量搜索),不只是关键词。 | -| 版本控制 | Semver、变更日志和标签(包括 `latest`)。 | -| 下载 | 每个版本一个 zip。 | -| Star 和评论 | 社区反馈。 | -| 安全扫描摘要 | 详情页会在安装或下载前显示最新扫描状态。 | -| 扫描器详情页 | VirusTotal、ClawScan 和静态分析结果都有深层链接。 | -| 所有者恢复仪表板 | 发布者可以在 `/dashboard` 查看因扫描而暂缓的自有内容。 | -| 所有者请求重新扫描 | 所有者可以为误报恢复请求有限次数的重新扫描。 | -| 审核 | 批准和审计。 | -| CLI 友好的 API | 适合自动化和脚本编写。 | +| 公开浏览 | Skills 及其 `SKILL.md` 内容可公开查看。 | +| 搜索 | 由嵌入驱动(向量搜索),不只是关键词。 | +| 版本控制 | Semver、变更日志和标签(包括 `latest`)。 | +| 下载 | 每个版本一个 Zip。 | +| 星标和评论 | 社区反馈。 | +| 安全扫描摘要 | 详情页会在安装或下载前显示最新扫描状态。 | +| 扫描器详情页 | VirusTotal、ClawScan 和静态分析结果有深层链接。 | +| 所有者恢复仪表板 | 发布者可以从 `/dashboard` 查看被扫描暂扣的自有内容。 | +| 所有者请求重新扫描 | 所有者可以请求有限的重新扫描,以处理误报恢复。 | +| 审核 | 审批和审计。 | +| CLI 友好 API | 适合自动化和脚本。 | ## 安全与审核 ClawHub 默认开放,任何人都可以上传 Skills,但 GitHub -账号必须**至少创建一周**才能发布。这可以减缓 +账号必须**至少创建一周**才能发布。这会减缓 滥用,同时不阻碍合法贡献者。 ClawHub 会对已发布的 Skills 和插件 - release 运行自动化安全检查。公开详情页会汇总当前结果,扫描器 + 发布版本运行自动化安全检查。公开详情页会总结当前结果,扫描器 行会链接到 VirusTotal、ClawScan 和静态 分析的专用详情页。 - 因扫描被暂缓或阻止的 release 可能不会出现在公共目录和 - 安装界面中,但其所有者仍可在 `/dashboard` 中看到。 + 被扫描暂扣或阻止的发布版本可能无法在公共目录和 + 安装界面中使用,但其所有者仍可在 `/dashboard` 中看到。 - - - 任何已登录用户都可以举报 skill。 - - 必须提供举报原因,并且会被记录。 - - 每个用户同一时间最多可以有 20 个活跃举报。 - - 默认情况下,超过 3 个唯一举报的 Skills 会被自动隐藏。 + + - 任何已登录用户都可以报告 Skill。 + - 必须填写报告原因,并会被记录。 + - 每个用户一次最多可以有 20 个活动报告。 + - 默认情况下,收到超过 3 个唯一报告的 Skills 会被自动隐藏。 - - 审核员可以查看隐藏的 Skills、取消隐藏、删除它们或封禁用户。 - - 滥用举报功能可能导致账号被封禁。 + - 审核员可以查看隐藏的 Skills、取消隐藏、删除它们,或封禁用户。 + - 滥用报告功能可能导致账号被封禁。 - 有兴趣成为审核员?请在 OpenClaw Discord 中询问,并联系审核员或维护者。 @@ -187,8 +190,8 @@ ClawHub 默认开放,任何人都可以上传 Skills,但 GitHub ## ClawHub CLI -只有在发布/同步等需要注册表身份验证的工作流中 -才需要它。 +只有在需要注册表认证的工作流(例如 +发布/同步)中,你才需要它。 ### 全局选项 @@ -214,7 +217,7 @@ ClawHub 默认开放,任何人都可以上传 Skills,但 GitHub ### 命令 - + ```bash clawhub login # browser flow clawhub login --token @@ -224,8 +227,8 @@ ClawHub 默认开放,任何人都可以上传 Skills,但 GitHub 登录选项: - - `--token ` — 粘贴 API token。 - - `--label @@ -234,7 +237,7 @@ ClawHub 默认开放,任何人都可以上传 Skills,但 GitHub clawhub search "query" ``` - 搜索 Skills。对于插件/软件包发现,请使用 `clawhub package explore`。 + 搜索 Skills。对于插件/包发现,请使用 `clawhub package explore`。 - `--limit ` — 最大结果数。 @@ -246,15 +249,15 @@ ClawHub 默认开放,任何人都可以上传 Skills,但 GitHub clawhub package inspect episodic-claw ``` - `package explore` 和 `package inspect` 是 ClawHub CLI 中用于插件/软件包发现和元数据检查的界面。原生 OpenClaw 安装仍使用 `openclaw plugins install clawhub:`。 + `package explore` 和 `package inspect` 是 ClawHub CLI 中用于插件/包发现和元数据检查的界面。原生 OpenClaw 安装仍使用 `openclaw plugins install clawhub:`。 选项: - - `--family skill|code-plugin|bundle-plugin` — 筛选软件包系列。 - - `--official` — 只显示官方软件包。 - - `--executes-code` — 只显示执行代码的软件包。 - - `--version ` / `--tag ` — 检查特定软件包版本。 - - `--versions`、`--files`、`--file ` — 检查软件包历史和文件。 + - `--family skill|code-plugin|bundle-plugin` — 筛选包系列。 + - `--official` — 只显示官方包。 + - `--executes-code` — 只显示执行代码的包。 + - `--version ` / `--tag ` — 检查特定包版本。 + - `--versions`, `--files`, `--file ` — 检查包历史和文件。 - `--json` — 机器可读输出。 @@ -268,9 +271,9 @@ ClawHub 默认开放,任何人都可以上传 Skills,但 GitHub 选项: - - `--version ` — 安装或更新到特定版本(`update` 上仅支持单个 slug)。 + - `--version ` — 安装或更新到特定版本(在 `update` 上仅限单个 slug)。 - `--force` — 如果文件夹已存在,或本地文件与任何已发布版本都不匹配,则覆盖。 - - `clawhub list` 会读取 `.clawhub/lock.json`。 + - `clawhub list` 读取 `.clawhub/lock.json`。 @@ -280,10 +283,10 @@ ClawHub 默认开放,任何人都可以上传 Skills,但 GitHub 选项: - - `--slug ` — skill slug。 + - `--slug ` — Skill slug。 - `--name ` — 显示名称。 - `--version ` — semver 版本。 - - `--changelog ` — 变更日志文本(可以为空)。 + - `--changelog ` — 变更日志文本(可为空)。 - `--tags ` — 逗号分隔的标签(默认:`latest`)。 @@ -292,14 +295,14 @@ ClawHub 默认开放,任何人都可以上传 Skills,但 GitHub clawhub package publish ``` - `` 可以是本地文件夹、`owner/repo`、`owner/repo@ref` 或 + `` 可以是本地文件夹、`owner/repo`、`owner/repo@ref`,或 GitHub URL。 选项: - `--dry-run` — 构建精确的发布计划,不上传任何内容。 - - `--json` — 为 CI 输出机器可读结果。 - - `--source-repo`、`--source-commit`、`--source-ref` — 自动检测不足时的可选覆盖项。 + - `--json` — 为 CI 输出机器可读内容。 + - `--source-repo`, `--source-commit`, `--source-ref` — 自动检测不足时的可选覆盖项。 @@ -311,12 +314,12 @@ ClawHub 默认开放,任何人都可以上传 Skills,但 GitHub clawhub package rescan --yes --json ``` - 重新扫描命令需要已登录的所有者 token,并以最新 - 发布的 skill 版本或插件 release 为目标。在非交互式运行中,请传入 + 重新扫描命令需要已登录的所有者令牌,并以最新 + 已发布的 Skill 版本或插件发布版本为目标。在非交互式运行中,传入 `--yes`。 JSON 响应包含目标类型、名称、版本、重新扫描状态,以及 - 该版本或 release 的剩余/最大请求次数。 + 该版本或发布版本的剩余/最大请求次数。 @@ -325,7 +328,7 @@ ClawHub 默认开放,任何人都可以上传 Skills,但 GitHub clawhub undelete --yes ``` - + ```bash clawhub sync ``` @@ -333,12 +336,12 @@ ClawHub 默认开放,任何人都可以上传 Skills,但 GitHub 选项: - `--root ` — 额外扫描根目录。 - - `--all` — 无需提示,上传所有内容。 - - `--dry-run` — 显示将会上传的内容。 + - `--all` — 不提示,上传所有内容。 + - `--dry-run` — 显示将上传的内容。 - `--bump ` — 用于更新的 `patch|minor|major`(默认:`patch`)。 - `--changelog ` — 非交互式更新的变更日志。 - `--tags ` — 逗号分隔的标签(默认:`latest`)。 - - `--concurrency ` — 注册表检查并发数(默认:`4`)。 + - `--concurrency ` — 注册表检查数(默认:`4`)。 @@ -390,7 +393,8 @@ ClawHub 默认开放,任何人都可以上传 Skills,但 GitHub ### 插件包元数据 -代码插件必须在 `package.json` 中包含必需的 OpenClaw 元数据: +代码插件必须在 +`package.json` 中包含必需的 OpenClaw 元数据: ```json { @@ -412,7 +416,8 @@ ClawHub 默认开放,任何人都可以上传 Skills,但 GitHub } ``` -已发布的包应附带**构建后的 JavaScript**,并让 `runtimeExtensions` 指向该输出。Git 检出安装在没有构建文件时仍可回退到 TypeScript 源码,但构建后的运行时入口可避免在启动、Doctor 和插件加载路径中进行运行时 TypeScript 编译。 +已发布的软件包应随附**构建后的 JavaScript**,并将 +`runtimeExtensions` 指向该输出。通过 Git checkout 安装时,如果不存在已构建文件,仍可回退到 TypeScript 源码,但构建后的运行时入口可避免在启动、Doctor 和插件加载路径中进行运行时 TypeScript 编译。 ## 版本控制、锁文件和遥测 @@ -420,22 +425,23 @@ ClawHub 默认开放,任何人都可以上传 Skills,但 GitHub - 每次发布都会创建一个新的 **semver** `SkillVersion`。 - 标签(如 `latest`)指向某个版本;移动标签可让你回滚。 - - 变更日志按版本附加,同步或发布更新时可以为空。 + - 变更日志按版本附加,在同步或发布更新时可以为空。 - 更新会使用内容哈希将本地 Skill 内容与注册表版本进行比较。如果本地文件不匹配任何已发布版本,CLI 会在覆盖前询问(或在非交互式运行中要求使用 `--force`)。 + 更新会使用内容哈希,将本地 Skill 内容与注册表版本进行比较。如果本地文件与任何已发布版本都不匹配,CLI 会在覆盖前询问(或在非交互式运行中要求使用 `--force`)。 - `clawhub sync` 会先扫描你的当前工作目录。如果未找到 Skills,它会回退到已知的旧位置(例如 `~/openclaw/skills` 和 `~/.openclaw/skills`)。这用于在没有额外标志的情况下找到较旧的 Skill 安装。 + `clawhub sync` 会先扫描你当前的工作目录。如果未找到 Skills,它会回退到已知的旧位置(例如 + `~/openclaw/skills` 和 `~/.openclaw/skills`)。这样设计是为了无需额外标志即可找到较早的 Skill 安装。 - - 已安装的 Skills 会记录在你的工作目录下的 `.clawhub/lock.json` 中。 + - 已安装的 Skills 会记录在你工作目录下的 `.clawhub/lock.json` 中。 - 身份验证令牌存储在 ClawHub CLI 配置文件中(可通过 `CLAWHUB_CONFIG_PATH` 覆盖)。 - 当你在已登录状态下运行 `clawhub sync` 时,CLI 会发送一个最小快照来计算安装计数。你可以完全禁用它: + 当你在已登录状态下运行 `clawhub sync` 时,CLI 会发送最小快照以计算安装计数。你可以完全禁用此功能: ```bash export CLAWHUB_DISABLE_TELEMETRY=1 @@ -452,7 +458,7 @@ ClawHub 默认开放,任何人都可以上传 Skills,但 GitHub | `CLAWHUB_REGISTRY` | 覆盖注册表 API URL。 | | `CLAWHUB_CONFIG_PATH` | 覆盖 CLI 存储令牌/配置的位置。 | | `CLAWHUB_WORKDIR` | 覆盖默认工作目录。 | -| `CLAWHUB_DISABLE_TELEMETRY=1` | 禁用 `sync` 上的遥测。 | +| `CLAWHUB_DISABLE_TELEMETRY=1` | 在 `sync` 时禁用遥测。 | ## 相关内容