手把手教你上传Skill至ClawHub

什么是OpenClaw?

OpenClaw相当于装在你电脑/服务器上的"贾维斯"(钢铁侠管家)—— 不只会聊天,还能真正动手帮你干活。普通 AI(ChatGPT,豆包,DeepSeek网页版之类)像"参谋"——你问它,它只能给建议,但碰不了你的电脑。
OpenClaw 是"数字员工"——你跟它说帮我整理下载文件夹/查下竞品价格 / 发封邮件,它能打开浏览器、读写文件、通过跑脚本去完成。这些脚本主要是js、python、bash命令(Windows或Linux)开发的,这些通用的脚本封装成可以复用的形式就叫做skill。下表给出了OpenClaw与普通聊天机器人的区别。
|
对比 |
普通AI聊天机器人 |
OpenClaw |
|
聊天 |
会聊会答 |
也会聊 |
|
动手干活 |
只能给建议 |
读/写文件、开浏览器、跑代码、发邮件 |
|
数据隐私 |
传云端 |
本地部署,数据不外传 |
|
接入方式 |
网页 |
飞书/Telegram/终端等都能连 |
一句话总结就是,ChatGPT=脑,ChatGPT+OpenClaw=脑+手,OpenClaw安在你自己电脑上,开源不要钱。但是OpenClaw的大脑也就是AI大模型需要通过调用API的形式才能让openclaw像AI大模型那样具有聊天思考功能,而调用API这一步需要耗费Token花钱。
什么是Skill?
OpenClaw的出现带火了Skill这个概念,简单来说,Skill就是把完成具体任务的操作步骤封装好的可复用功能单元。OpenClaw通过调用不同的Skill来完成你下达的各类指令,你既可以直接使用社区分享好的现成Skill,快速实现整理文件、爬取网页信息、发送邮件这些常用功能,也可以根据自己的需求。用JavaScript、Python这些常用脚本语言编写自定义的Skill,实现个人专属的自动化任务。一言以蔽之,Skill就是代码+Markdown,Markdown是给AI看的代码文档。
Skill的基本结构和内容
Skill的基本结构如下:

openclaw适用的Skill结构
这是我本人正在开发的一个skill,主要用来微信自动化,让openclaw可以打开Windows桌面微信然后进行一些自动化操作。

项目结构

skill.md内容
Skill.md是必选内容,其本质是一个markdown文件,用来描述这个Skill能做什么、怎么使用,以及调用时需要传入的参数说明,帮助大模型和用户理解这个Skill的功能,方便OpenClaw在需要的时候准确调用它。除了功能说明之外,一般还需要写清楚使用这个Skill的前置条件、参数的类型和含义,确保调用过程不会出错。

scripts主要内容
scripts内主要是一些代码文件(.py,.js,.sh),OpenClaw运行时会根据调用指令,直接执行scripts目录下对应语言的脚本完成任务,你只需要按照规范把功能代码写对,就能让Skill正常生效。如果是依赖第三方库的脚本,还需要在项目根目录添加对应的requirements.txt或者package.json,记录好所需的依赖包信息,OpenClaw就能自动帮你安装好对应的依赖。

metadata.openclaw.yaml内容
根目录下还需要有一个名为metadata.openclaw.yaml的配置文件,它定义了Skill的基础信息,是OpenClaw识别这个Skill的关键入口。配置文件需要写明Skill的唯一标识名称、功能描述、开发者信息,同时指定每个可调用功能对应的脚本路径、依赖的环境类型、需要传入的参数信息。
上传Skill至ClawHub
上传skill至ClawHub主要分为这几步:
- 下载clawhub cli
- 登录认证
- 本地校验
- 发布到clawhub
下载clawhub cli
Cmd或Powershell中运行如下命令来下载clawhub这个package
npm install -g clawhub -verbose
当然,如果你已经安装了OpenClaw那肯定是有Node环境的,如果没有的话,可以参考我往期的这篇博客来安装NodeJS。

安装结果
clawhub login 登录认证
在cmd或powershell终端输入如下命令:
clawhub login
会出现登录网页并在浏览器中自动打开,如果没有自动打开,那么就Ctrl+鼠标左键手动点击。

在打开的网页中点击Sign in:

浏览器会弹出 ClawHub 登录页,用 GitHub 账号授权(注意,GitHub 账号需 ≥7 天)

点击Authorize steipete,然后clawhub便完成了登录认证

此时可以关掉浏览器,终端会输出已经登录的github账号(也是clawhub账号),后续使用clawhub-cli时,你的账号已经作为全局配置保存到本地,无需每次使用重新登录。

同时,还可以通过如下命令校验当前clawhub-cli已经登录的账号:
clawhub whoami
运行结果

clawhub publish 上传skill
进入到你当前Skill目录下的终端,文件资源管理器顶部输入cmd即可。

然后在终端中运行clawhub publish命令,clawhub publish命令的基本格式:
clawhub publish <path> [options]
其中,<path>为Skill项目的路径(注意所选文件夹必须包含SKILL.md),可以使用绝对路径或相对路径,options为相应的操作符,操作符主要包括:
|
参数 |
必填 |
说明 |
|
--slug <slug> |
✅首次发布 |
技能全局唯一标识符,只允许小写字母+数字+连字符,如 pyweixin-rpa。后续同 slug 发布即视为发新版本 |
|
--name <name> |
❌(推荐) |
展示名称,如 "PyWeixin RPA",可覆盖 SKILL.mdfrontmatter 中的 name |
|
--version <ver> |
❌(推荐) |
SemVer 版本号如 1.0.0,不传时 CLI 会提示或取 SKILL.md中 version字段 |
|
--owner <handle> |
❌ |
发布到组织/个人 publisher,如 @yourorg,不指定默认发到你登录的个人账号 |
|
--migrate-owner |
❌ |
配合 --owner使用,把已有 skill 的所有权转移到新 owner(需两边都有管理员权限) |
|
--changelog <text> |
❌ |
本次版本的更新说明,如 "新增微信多开支持" |
|
--fork-of <slug[@ver]> |
❌ |
标记本 skill 是某个已有 skill 的 fork |
|
--tags <tags> |
❌ |
逗号分隔标签,默认 latest,如 --tags latest,weixin,rpa |
|
--clawscan-note <text> |
❌ |
给 ClawScan 安全扫描器的说明(解释为何需要网络/原生命令访问等),减少误报 |
一个最基本的发布命令:
clawhub publish "D:\autowechat\skills\openclaw\pyweixin-rpa" --version 1.0.0 --slug pyweixin-rpa
其中--version为当前skill的版本号,--slug为你的skill项目名称,如果后续skill更新需要重新上传发布,那么只需在当前命令基础上更新版本号即可,如果需要额外的其他功能,增加其他操作符即可。
总结

以上便是本文所有内容,如果有用还请一键三连支持一下。
更多推荐



所有评论(0)