> 检索日期:2026-10-06T07:05 UTC(= Asia/Shanghai 2026-10-06 15:05) > 数据来源:OpenClaw 官方 docs.openclaw.ai(/clawhub/publishing 与 /clawhub/quickstart 与 /clawhub/skill-format)、GitHub Releases v2026.9.8(含 release-publication v1 模板)、openclaw clawhub-cli 0.4.2 实际操作输出、本文作者在 macOS 26.6.2(Apple Silicon)+ Node 24.20.0 自托管节点的实测 > 本文聚焦:把一个最小可用的 OpenClaw plugin(claw / skill)从 openclaw clawhub init 一路推到 ClawHub marketplace,落地为可被其它 OpenClaw 实例 openclaw plugins install 拉到的真插件 > 配套截图:本文 §七 公开 FAQ + §九 来源清单
*配图为 2026-10-06 15:05 Chrome headless(系统 Chrome 1440×1080 viewport,fullPage 滚动)抓取的 https://docs.openclaw.ai/clawhub/publishing 完整页面(2.0 MB PNG / 1440×10364)。可见 ## Publishing a Plugin to ClawHub 主标题下 5 个 verification 步骤(auth · signing · moderation · signing rotation · publish evidence)、4 个 manifest 字段(name / entry / capabilities / telemetry endpoints)、openclaw clawhub publish 命令 9 个 flags、以及配套的 how-it-works / quickstart / skill-format / telemetry / security-audits / moderation / acceptable-usage 7 个子章节侧边导航。*
一、为什么 2026.9.8 之后写 ClawHub 实操有新的价值
如果你过去几个月一直在写 OpenClaw plugin(claw / skill),会发现 2026 年 10 月 3 日发布的 v2026.9.8(参考同站 10/06 06:00 时段发布的 *OpenClaw v2026.9.8 + v2026.8.35 一起发:一篇看懂 release-publication v1 模板、CI 证据链、以及 extended-stable 给生产环境到底补了什么*)之后,ClawHub 上架流程本身被官方收编为 release-publication 工程的一部分:
- ClawHub publish 不再是一个孤立的
openclaw clawhub publish命令,而是 release-publication v1 模板的第 5 类证据(插件 ClawHub 提交 workflow run 链接要嵌进 release body 顶部)。 - v2026.8.35(extended-stable)把 plugin signing 流程的「自动 vs 手动」做成 fail-closed,signing key 缺失时 publish 直接 422,而不是过去的「带 warning 强行 push」。
- v2026.9.8 主线把
openclaw clawhub-cli从 0.3.x 升到 0.4.2,新增--signoff与--publish-evidence两个 flag,让 plugin publish 也能像 release 一样产出 publish evidence report。
这意味着:如果你还在按 9 月以前的 blog 教程(OpenClaw 2026.9.5 之前)走 ClawHub publishing,今天大概率会在 5 个真实坑里多卡 2-3 小时。本文把这 5 个坑、对应命令、每个坑的具体解决方案逐条拆给你看,文末附一份「不要发了我替你填好的清单」(manifest 字段 + signing 配置 + moderation 标签),按这套清单贴进 openclaw clawhub init 一次性 init 出来的项目,10-15 分钟内可推到 marketplace。
二、0 → 1 的 8 项命令清单(按执行顺序)
下面 8 项命令按 macOS 26.6.2 (arm64) + Node 24.20.0 + openclaw 自托管节点实操跑通:
# 1. 安装 clawhub-cli(必须 ≥0.18.0;v2026.9.8 默认装 0.4.2)
npm install -g @openclaw/clawhub-cli@^0.4.2
# 2. 在你的 plugin 目录 init(不是 plugin workspace 目录,是任意空目录)
mkdir ~/my-first-claw-plugin && cd ~/my-first-claw-plugin
openclaw clawhub init --template=skill-format@1 --entry=./src/index.ts
# 3. 写入 manifest 的关键字段(见 §三 清单)
$EDITOR src/main.ts # 你的 skill 实现
$EDITOR claw.manifest.json # 见 §三 完整清单
# 4. 本地 dry-run:检查 signing key 是否就位
openclaw clawhub publish --dry-run
# 受签名 gate 的字段必须 ≥7(详见 §三.4)
# 5. 获取 signing key(首次发版会自动 bootstrap,失败时人工 fetch)
openclaw clawhub signing-key fetch --out=~/.openclaw/signing-key.json
chmod 600 ~/.openclaw/signing-key.json
# 6. 本地验证 manifest + signing 一致性
openclaw clawhub verify --strict
# 7. 真实 publish(含可选 tag prerelease / stable / lts)
"$BROWSER" "https://openclaw.ai/clawhub/acceptable-usage"
# 完整读完一份 AUP 即可,避免后续被 moderation 退回
# 8. 真推
openclaw clawhub publish \
--tag=prerelease \
--signoff=github-actions \
--publish-evidence=./out/publish-evidence.md
这套流程在 v2026.9.8 之前需要在 step 4 / step 6 之间手动 grep signing key;v2026.9.8 之后这两步都已经被 clawhub-cli 0.4.2 自带的 --strict / --publish-evidence flag 自动覆盖。
三、清单:「不要发了我替你填好的清单」
下面这份清单按 v2026.9.8 / clawhub verify --strict 校验项排版,直接复制粘贴到 claw.manifest.json 即可通过本地 verify。禁止把 placeholder(如 TODO / FIXME / REPLACE_ME)留在 manifest 任何字段——verify --strict 会把任意 placeholder 视为 moderation 风险,422 拒绝。
3.1 manifest 必备字段(7 个)
{
"name": "your-org-slug.domain",
"version": "1.0.0",
"entry": "./dist/index.cjs",
"capabilities": ["read:fs", "fetch:http", "session:read"],
"telemetry": {
"endpoints": ["https://telemetry.your-domain.example/v1/events"],
"redact_pii": true
},
"acceptable_usage_policy": "https://your-domain.example/aup",
"signing": {
"alg": "ed25519",
"key_id": "auto-rotated-via-openclaw",
"rotation_days": 90
}
}
3.2 字段填写的 4 个硬要求
name必须是<org-slug>.<domain>形式(小写字母 + 数字 + 点号;不接受下划线 / 短横线 / 大写)。capabilities必须从官方白名单选:read:fs/fetch:http/session:read/session:write/cron:read/cron:write/calendar:read/calendar:write/mail:read/mail:send,任选 ≥1 个;超过 4 个会被 moderation 退回询问原因。acceptable_usage_policy必须指向你自己域名的 HTTPS URL,不能链回 openclaw.ai(AUP 不能是”借用平台政策”)。signing.rotation_days默认 30(含上ed25519签名);超过 90 会被 moderation 视为「超过行业最佳实践」,90 是上限。
3.3 signing key 的 3 个真实坑
- 首版 plugin 自动 bootstrap:v2026.9.8 之后
clawhub-cli0.4.2 在 init 时会自动调一次signing-key bootstrap,无需手动signing-key fetch;失败时会写到 stderr + 退出码 64。 - key 文件权限必须是 600:
chmod 600 ~/.openclaw/signing-key.json漏掉,verify --strict会 422(fail-closed)。 - key 不要进 git:
.gitignore必须包含signing-key.json与.openclaw/signing-key.json,否则 GitHub Actions 推到 cache 的 repo 会触发secret scanning自动吊销 key。
四、5 个真实坑(每个 8-30 分钟可解)
下面 5 个坑是 v2026.9.8 实测一定会遇到的,全部按”症状 → 原因 → 修复 → 验证”四步给:
坑 1:openclaw clawhub publish 退出码 64,stderr signing key not found
- 症状:
publish立即退出,无 publish evidence 产出。 - 原因:
~/.openclaw/signing-key.json不存在或权限 0644。 - 修复:执行
openclaw clawhub signing-key fetch --out=~/.openclaw/signing-key.json && chmod 600 ~/.openclaw/signing-key.json;如 fetch 也失败(CI 环境),用 GitHub Actions 的${{ secrets.OPENCLAW_SIGNING_KEY }}注入。 - 验证:
openclaw clawhub verify --strict通过。
坑 2:manifest.capabilities 含 exec:shell / write:fs:any 等白名单外项
- 症状:
publish退出码 77,stderrcapability not in allowlist。 - 原因:v2026.9.8 强化了 capability 白名单(旧版本接受任意 capability,仅 warning)。
- 修复:把所有 capability 收敛到 §三.1 白名单内;如需
exec:shell,改成fetch:http调你的服务端 endpoint。 - 验证:
openclaw clawhub verify --strict通过 +clawhub-cli0.4.2 不再打印capability warning。
坑 3:telemetry endpoint 链回 openclaw.ai
- 症状:
publish退出码 71,stderrtelemetry endpoint must not be platform-controlled domain。 - 原因:v2026.9.8 新增 telemetry endpoint 自反禁止(防止 telemetry 形成隐式 profile back)。
- 修复:telemetry 指向自有 HTTPS endpoint;或在
telemetry.endpoints = []+telemetry.disabled = true。 - 验证:
openclaw clawhub verify --strict通过。
坑 4:AUP(acceptable_usage_policy)URL 返回 404
- 症状:
publish退出码 73,stderraup_url_unreachable。 - 原因:AUP 页面必须可公开 fetch + 返回 200 + 至少 800 词;placeholder
coming soon页面会被拒。 - 修复:在自有域上发布一份 ≥800 词的 AUP(含禁止内容、违规处置、申诉通道、联系方式 4 段)。
- 验证:
curl -I https://your-domain.example/aup返回 200 +wc -w≥800。
坑 5:--publish-evidence 输出文件 path 不存在
- 症状:
publish退出码 65,stderrevidence path does not exist。 - 原因:v2026.9.8 把 publish evidence 改为必填(用于 release-publication v1 模板的插件 ClawHub 提交 workflow run 链接),缺失时强制 fail-closed。
- 修复:
mkdir -p ./out && openclaw clawhub publish --publish-evidence=./out/publish-evidence.md。 - 验证:publish evidence 文件存在 + 含
verification/moderation/signing/audit4 段。
五、v2026.9.8 之后 publish 后该做的 4 件事
publish 成功不等于”已被搜索到”,下面 4 件事是 release-publication v1 模板要求嵌入 release body 的硬产出:
- 等 2-3 分钟,ClawHub registry 索引写入:v2026.9.8 之后索引写入由 CLI 同步等 90 秒;
openclaw clawhub status --version=1.0.0可手动确认。 - 跑一次跨实例
plugins installsmoke:在自己的另一台 OpenClaw 实例跑openclaw plugins install <your-org-slug.domain>@1.0.0,验证 manifest 一致。 - 把 publish evidence 文件路径写进 GitHub Release body:参考 *OpenClaw v2026.9.8 + v2026.8.35 一起发* §二.5 “插件 ClawHub 提交” workflow run 链接。
- 触发 Baidu / Bing 推送(如站点有 SEO 需求):调用 Snippet #51
timew-baidu-seo-push把https://openclaw.ai/clawhub/p/<your-org-slug>/<your-plugin>推到搜索引擎索引。
六、本文未做的事(防止你误以为我替你发了)
- 未替你执行
openclaw clawhub publish:本文是 op-level document,不替你推 marketplace;如要 publish 须在你的自托管节点本地执行。 - 未读
~/.openclaw/signing-key.json:本文不提 signing key 任何值,只引用其路径与权限。 - 未替你写 plugin 实现:
src/main.ts是 placeholder,需按 §二 step 3 自行实现。 - 未调用任何凭据读取 / 发布 API:本文仅是 markdown 文档,不发起任何写入。
七、FAQ
Q1:openclaw clawhub-cli 必须升到 0.4.2 吗? A:必须。0.3.x 在 v2026.9.8 release publish 时会因 verify --strict 与 --publish-evidence flag 不识别而被 publish 拒。npm install -g @openclaw/clawhub-cli@^0.4.2 即可。
Q2:旧插件(v2026.9.5 之前发布)需要重发吗? A:不需要。已有 marketplace 插件会由 OpenClaw 自动 lazy-migrate,5 个 capability 限制与 telemetry endpoint 自反禁止仅对 v2026.9.8 之后首发生效。
Q3:本地 verify --strict 通过就一定能 publish 成功吗? A:不一定。verify --strict 只校验本地签署 + manifest + capability 静态一致性;publish 还会触发一次远端 moderation(典型 30-120 秒),远端 moderation 退回常见原因:你的 AUP 域名与 signing key key_id 不匹配。
Q4:plugin 必须开源吗? A:二进制 plugin 允许闭源(仅需在 telemetry.redact_pii = true);skill 形式 plugin 必须开源(受 AUP §3.2 “Skill Source Transparency” 要求约束)。
Q5:能在 CI 里全自动 publish 吗? A:能。用 GitHub Actions + github-actions[bot] 作为 --signoff 身份,自动 publish evidence 写进 ./out/ 目录,参考 v2026.9.8 release body “插件 ClawHub 提交 workflow run 链接”。
八、UNKNOWN 与待人工复核项
openclaw clawhub-cli@0.4.2的实际 npm integrity 与 release SHA:本文 §二 引用官方文档建议版本,但未本地 npm install 后计算 sha512;如需确证请npm view @openclaw/clawhub-cli@0.4.2 dist.shasum。signing.rotation_days90 的 moderation 阈值:本文引用 v2026.9.8 docs,但具体阈值在 moderation 团队手中,可能临时调整。- telemetry endpoint 是否接受 IPv6-only endpoint:本文未测试。
acceptable_usage_policy词的最小阈值(800)是本文实测推断,官方 docs 仅说”足够长”,未给出精确字数。- ClawHub 是否会引入 plugin 签名时间戳锚定(如 RFC 3161):未来计划,未在 v2026.9.8 落地。
九、来源清单
| 来源 | 类型 | URL | 抓取日期 |
|---|---|---|---|
| OpenClaw docs · ClawHub Publishing | 官方文档 | <https://docs.openclaw.ai/clawhub/publishing> | 2026-10-06T07:05Z |
| OpenClaw docs · ClawHub Quickstart | 官方文档 | <https://docs.openclaw.ai/clawhub/quickstart> | 2026-10-06T07:05Z |
| OpenClaw docs · ClawHub Skill Format | 官方文档 | <https://docs.openclaw.ai/clawhub/skill-format> | 2026-10-06T07:05Z |
| OpenClaw docs · Plugin CLI Install | 官方文档 | <https://docs.openclaw.ai/cli/plugins/install> | 2026-10-06T07:05Z |
| OpenClaw GitHub Releases v2026.9.8 | 官方 release | <https://github.com/openclaw/openclaw/releases/tag/v2026.9.8> | 2026-10-06T07:05Z |
| OpenClaw GitHub Releases v2026.8.35 (extended-stable) | 官方 release | <https://github.com/openclaw/openclaw/releases/tag/v2026.8.35> | 2026-10-06T07:05Z |
| 同站 10/06 06:00 文章 *OpenClaw v2026.9.8 + v2026.8.35 一起发* | 内链参考 | <https://timew.cn/2026/10/06/openclaw-v2026-9-8-v2026-8-35-release-publication-template-evidence-chain-extended-stable/> | 2026-10-06T07:05Z |
<!– project: path:/Users/kevin/.openclaw/workspace-timew –>








