发布
发布会把 Skills 文件夹或插件包发送到你选择的所有者名下的 ClawHub。ClawHub 会检查你的令牌是否可以代表该所有者发布,验证元数据、名称、版本、文件和来源信息,然后存储该版本并启动自动化安全检查。 如果验证失败,则不会发布任何内容。新版本也可能在审核完成前不会出现在常规安装和下载界面中。Skills
最简单的发布路径是 CLI。登录后,发布本地 Skills 文件夹:--owner <handle>。省略它则以已认证用户身份发布。发布会跳过未更改的内容。新的 Skills 从 1.0.0 开始,后续更改会自动发布下一个补丁版本。仅在需要显式版本时传入 --version。
对于目录仓库,请使用 ClawHub 的可复用 skill-publish.yml workflow。它会对 root 下的每个直接 Skills 文件夹(默认:skills)调用 skill publish,或仅对 skill_path 提供的文件夹调用。
dry_run: true 预览新增和已更改的 Skills,而不执行发布。
插件
插件使用 npm 风格的包名。带作用域的包名会在名称的第一部分包含所有者:@openclaw/dronzer,它只能作为 @openclaw 发布。如果你以 @vintageayu 发布,请将包重命名为 @vintageayu/dronzer。
这可以防止包声明发布者无法控制的组织命名空间。
如果你是某个已在 ClawHub 上被声明或保留的组织、品牌、包作用域、所有者 handle 或命名空间的合法所有者,请打开一个 组织 / 命名空间声明议题,并提供公开、非敏感的证明。请参阅组织和命名空间声明,了解应包含哪些内容以及哪些内容不应放入公开议题。
发布插件前
- 选择与包作用域匹配的所有者。
- 包含
openclaw.plugin.json。代码插件还需要包含带有openclaw.compat.pluginApi和openclaw.build.openclawVersion的package.json。 - 若要显示自定义插件卡片图标,请在
openclaw.plugin.json中添加icon,值为任意 HTTPS 图片 URL。 - 包含源代码仓库和精确提交元数据,或在 GitHub 支持的 checkout 中使用 CLI,以便它可以检测这些信息。
- 发布前运行
clawhub package validate <source>。对于包、清单、SDK 导入或构件相关发现,请参阅插件验证修复。 - 创建发布前运行
clawhub package publish <source> --dry-run。 - 预期新版本在自动化安全检查和验证完成前不会出现在公开安装界面中。
包的受信任发布
包的受信任发布需要两步设置:- 先通过常规手动或令牌认证的
clawhub package publish发布一次包。这会创建包记录,并确定可以更改其受信任发布者配置的包管理员。 - 包管理员设置 GitHub Actions 受信任发布者配置:
--environment <name>,GitHub Actions environment 声明也必须与该名称完全匹配。
设置受信任发布者配置时,ClawHub 会验证配置的 GitHub 仓库。公开仓库可以通过公开 GitHub 元数据验证。私有仓库要求 ClawHub 对该仓库拥有 GitHub 访问权限,例如通过未来的 ClawHub GitHub App 安装或其他已授权的 GitHub 集成。
当前可复用的包发布 workflow 支持在 id-token: write 可用时,为 workflow_dispatch 发布使用无密钥受信任发布。标签推送的真实发布仍然需要 clawhub_token,因此请为标签发布、首次发布、未受信任的包或紧急发布保留 CLAWHUB_TOKEN。
使用以下命令查看或删除配置:
常见问题
包作用域必须匹配所选所有者
如果包作用域与所选所有者不匹配,ClawHub 会拒绝发布:@openclaw/dronzer 的包声明了 @openclaw 命名空间,因此只有有权访问 @openclaw 所有者的发布者才能发布它。