字数 2600,阅读大约需 13 分钟
把自己的 Skill 发布到 ClawHub:从平台装回来才算闭环
AI 应用架构演进实践 · 第 08 集 · X-ray 三部曲(下)
GitHub 解决了“源码放在哪里”,但别人想安装你的 Skill 时,仍要先知道仓库地址、自己判断版本、再想办法放进正确目录。
这一集继续用 X-ray 作为示例,把最后一块拼图补上:将自己的 Skill 发布到 ClawHub,查看自动扫描结果,再从平台重新安装并完成最终验收。 名称、简介和版本号都可以换成你自己的内容。

下集主线:发布 ClawHub、核对扫描、重新安装并换项目复验
- 预计用时:25~35 分钟,安全扫描等待时间另算。
- 需要准备:Node.js/npm、GitHub 账号、已经发布好的 X-ray 文件夹。
- 成功标志:ClawHub 出现 「@ppshux/x-ray」 1.0.0;安装命令成功下载;新测试目录生成 「xray-data.json」 与 「xray-report.html」。
- 今天不做:不修改 X-ray 功能,不运行测试项目代码。
所谓“发布到云端”,不是让 X-ray 在云上偷偷加班,而是把它变成一个可发现、可下载、可版本化的包。真正分析仓库的动作,仍发生在本地 Agent。
1. 先分清 GitHub、ClawHub 和本地 Agent
ClawHub 负责版本分发,本地 Agent 负责真正运行 Skill
- • GitHub:保存源码、README、许可证和提交历史。
- • ClawHub:保存可安装版本、公开页面、分类信息和自动扫描结果。
- • OpenClaw / CodeBuddy:把 Skill 安装到自己能读取的位置,并在本地项目中真正执行。
ClawHub 官方把自己定义为 OpenClaw Skills 与 Plugins 的公共注册表。发布使用 「clawhub」 CLI;安装到 OpenClaw 则可以使用 「openclaw skills install」。完整说明可看ClawHub 官方概览与快速开始。
2. 安装 ClawHub CLI
CLI 是我们与 ClawHub 交互的命令行工具,后面的登录、发布、检查和安装都靠它完成。
ClawHub CLI 通过 npm 安装。没有 Node.js 时,先从 Node.js 官网安装 LTS 版本,再检查:
node --versionnpm --version
能看到两个版本号后,在 PowerShell 执行和截图一致的命令:
npm i -g clawhubclawhub --help

安装 ClawHub CLI 后用帮助命令确认可用
截图使用的 ClawHub CLI 是 v0.23.3。CLI 会继续更新,所以真正复现时,以你电脑上 「clawhub --help」 和官方 CLI 文档为准;但本篇实际用到的 「login」、「skill publish」、「inspect」 与安装路径参数都仍在官方文档中。
看到什么算成功: 终端出现 「ClawHub CLI」 和命令列表,而不是“无法识别 clawhub”。
3. 登录 ClawHub
执行:
clawhub login
运行 clawhub login 后终端给出设备授权入口
终端会给出设备授权网址和一次性验证码。截图中已把验证码遮住;你只需要打开自己终端显示的网址,不要把真实验证码发给别人。
浏览器会进入授权页面,登录 GitHub 后点击授权:
在 ClawHub 页面完成 GitHub 设备授权
回到终端,继续执行:
clawhub whoami
授权完成后用 clawhub whoami 验证当前账号
能看到自己的 ClawHub 用户名,登录就完成了。截图里是 「ppshux」;你看到的应该是自己的账号。
4. 先 dry-run:彩排一遍,不真正上传
在本地 「x-ray」 根目录执行和截图一致的命令:
clawhub skill publish . --slug x-ray --name "X-ray" --categories development --topics "codebase,analysis,onboarding" --dry-run
正式发布前用 --dry-run 预览 x-ray 1.0.0
几个参数只需要记住大白话版本:
- • 「.」:发布当前文件夹;
- • 「--slug x-ray」:公开地址里的名字;
- • 「--name "X-ray"」:页面显示名;
- • 「--categories」 与 「--topics」:帮助别人搜索和筛选;
- • 「--dry-run」:只预览,不上传。
终端出现 「Would publish x-ray@1.0.0」,说明包内容与元数据已经通过预检查。新 Skill 默认从 1.0.0 开始,后续内容变化通常自动增加补丁版本。
5. 正式发布
确认预览没问题后,删掉最后的 「--dry-run」:
clawhub skill publish . --slug x-ray --name "X-ray" --categories development --topics "codebase,analysis,onboarding"
正式提交后 ClawHub 返回待安全扫描的发布结果
截图返回:
Update submitted for x-ray@1.0.0; pending security scans before it becomes public.
这句话的意思是“已经提交,正在等自动扫描”,还不是“全网可见”。别在终点线前两米就开始放礼花。
6. 检查版本和自动扫描
过一会儿执行:
clawhub inspect @ppshux/x-ray --versions
跟做时把 「ppshux」 换成自己的 ClawHub 用户名。
inspect 显示自动扫描结果为 CLEAN
实验截图显示:
Moderate CLEANscanner.llm.cleanNo suspicious patterns detected.
准确说法是:ClawHub 对这个版本的自动扫描没有发现已知可疑模式。 它不是人工逐行审计,也不代表 Skill 永远绝对安全。安装陌生 Skill 前,仍然要看 「SKILL.md」、脚本、权限需求与来源。
还有一个许可证细节:我们的 GitHub 仓库选择了 MIT;ClawHub 官方文档说明,发布到 ClawHub 的 Skill 版本按 MIT-0 分发。两处页面显示不同并不是截图出错,但正式维护项目时最好在 README 中明确说明,避免读者猜。
7. 在 ClawHub 找到自己的 X-ray
打开 ClawHub,搜索 「x-ray」。

在 ClawHub 搜索 x-ray 并找到公开条目
进入详情页,应该能看到作者、版本、说明、扫描状态与安装命令。

X-ray 的 ClawHub 页面展示版本、说明和安装命令
到这里,“发布闭环”已经完成:X-ray 不只是一份 GitHub 源码,还拥有一个可以被搜索和安装的版本页。
8. 换一个项目,准备最终复验
接下来验证安装和复用。你可以使用自己的公开项目,或者任何确认允许当前模型读取的仓库;KOF 只是截图里的测试样例。
为了和截图一致,可以在桌面新建 「测试云端X-ray」 文件夹。
新建测试云端X-ray文件夹,准备第三次独立验收
进入文件夹,执行和截图一致的 SSH 命令:
git clone git@github.com:ppshux/kof.git
克隆一个新项目,作为 ClawHub 路线的最终测试对象
没有配置 SSH Key 时用 HTTPS:
git clone https://github.com/ppshuX/kof.git
本次截图使用公开的 KOF 仓库,只是为了方便对照;和前两次一样,我们只读文件,不安装依赖、不启动游戏。
9. 从 ClawHub 安装 x-ray 1.0.0
这一步要证明的是:别人不需要知道你的本地文件夹,只凭平台上的包名就能把 Skill 下载回来。
ClawHub 页面给出的 OpenClaw 安装命令是:
openclaw skills install @ppshux/x-ray
从 ClawHub 页面复制 OpenClaw 安装命令
如果终端提示找不到 「openclaw」,按截图中的路线先安装:
npm install -g openclaw@latestopenclaw skills install @ppshux/x-ray
OpenClaw 从 ClawHub 下载 x-ray 1.0.0 并写入工作区
截图里可以看到三个关键结果:
Downloading x-ray@1.0.0 from ClawHub...Installing to C:\Users\wenxiaolv\.openclaw\workspace\skills\x-ray...Installed x-ray@1.0.0
这证明 ClawHub 上的 1.0.0 已经成功下载到 OpenClaw 工作区。
用 CodeBuddy 复现时,多补一个“目标目录”动作
OpenClaw 与 CodeBuddy 默认读取的 Skill 目录不同。为了确保下一步 CodeBuddy 用到的就是 ClawHub 下载版本,可以再执行:
clawhub --workdir "$env:USERPROFILE" --dir ".codebuddy/skills" install @ppshux/x-ray
官方 CLI 的目录规则是 「/
/」,所以上面会安装到:
C:\Users\你的用户名\.codebuddy\skills\x-ray
如果该目录已有旧版,先备份或移走旧文件夹,再安装并重启 CodeBuddy。这样就不会出现“ClawHub 确实装了,但 CodeBuddy 其实还在调用旧副本”的证据空档。
10. 在 CodeBuddy 中再次调用 /x-ray
用 CodeBuddy 打开 「测试云端X-ray」,输入:
/x-ray
回到 CodeBuddy 再次执行 /x-ray
看到命令可用,只证明 CodeBuddy 已识别 X-ray;真正的验收仍然是新的 JSON 与 HTML。
等待扫描结束后,打开新项目的报告顶部:

新项目生成第三份 X-ray 分析报告
这次报告识别出 248 个文件、64 个目录、Python 与 JavaScript,并给出 4.5/10 的复杂度。
继续往下看项目结构和复杂度分布:

第三份报告展示项目结构与复杂度分布
最后检查关键文件、适合人群和推荐阅读顺序:
第三份报告给出关键文件、适合人群与推荐阅读顺序
下集通关: X-ray 已发布到 ClawHub,1.0.0 能被下载;在目标 Agent 的 Skill 目录安装后,新项目又生成了一份独立报告。
11. 三个常见问题
- • 「clawhub」 不是命令:重新执行 「npm i -g clawhub」,再运行 「clawhub --help」;如果仍失败,检查 npm 全局命令目录是否进入 PATH。
- • 发布后搜不到:先看终端是否还在 「pending security scans」,稍等后用 「clawhub inspect @你的用户名/x-ray --versions」 检查。
- • 安装成功但 CodeBuddy 没有 「/x-ray」:确认安装目标是 「%USERPROFILE%.codebuddy\skills\x-ray」,而不是只有 「.openclaw\workspace\skills\x-ray」,然后彻底重启 CodeBuddy。
12. 收尾:从一个想法,到可复用数字资产
三部曲通关:制作、GitHub 发布、ClawHub 分发全部闭环
三集下来,我们完成了三个闭环:
- 1. 本地闭环:制作 X-ray,装进 Agent 工具并跑通第一次调用;
- 2. GitHub 闭环:发布源码,从仓库重新安装并换项目复验;
- 3. ClawHub 闭环:发布版本、查看自动扫描、从平台重新安装并完成最终验收。
更重要的是,你已经完整“抄”过一遍 Skill 的制作与发布流程。下次只需要换掉 「SKILL.md」 的目标、脚本、参考规则和资产模板,就能开始做自己的 Skill。
X-ray 的口号可以很酷:Understand any codebase in 5 minutes. 但这三集真正想交付的,不是宣传某个 Skill,而是让你亲手走完“制作 → 本地调用 → GitHub 管理 → ClawHub 分发”的全流程。
现在把 X-ray 换成你的想法,这套路线仍然成立:先从一个小而明确的任务开始,让它真的被调用一次,再考虑发布给别人。
X-ray 三部曲完结:制作、GitHub 发布、ClawHub 分发全部跑通。