第11章 使用现成Skills:从ClawHub安装
🎯 本章目标:学完这章,你能搜索、安装、验证、配置现成 Skills,并知道怎么安全上线
⏱️ 预计时间:20分钟
📋 前置要求:已完成第10章(Tools 全景)
本章你将学会什么
Section titled “本章你将学会什么”- ClawHub 的定位与基本工作流
search/install/update/sync的正确用法- Skills 加载优先级与覆盖规则
skills list --eligible(可用清单)怎么看skills.entries常用配置(环境变量 / Key / 热刷新 / 额外挂载目录)- Skills 的调用方式与安全治理
11.1 ClawHub 是什么(官方口径)
Section titled “11.1 ClawHub 是什么(官方口径)”11.1.1 一句话理解
Section titled “11.1.1 一句话理解”- ClawHub:OpenClaw 的公共 Skills 注册中心
- Skill:一个包含
SKILL.md的目录(可带辅助文件) - 你在做的事:把别人写好的“工作SOP”装到你的 OpenClaw 里
网站地址:https://clawhub.com
11.1.2 对新手最实用的价值
Section titled “11.1.2 对新手最实用的价值”- 先装能用的,不用从零写;
- 有版本记录,更新可控;
- 可以同步发布,顺便做备份。
11.2 搜索、安装、更新、同步(四个核心动作)
Section titled “11.2 搜索、安装、更新、同步(四个核心动作)”11.2.1 安装 CLI
Section titled “11.2.1 安装 CLI”小白先记一条:clawhub 是“技能商店命令”,openclaw 是“主程序命令”。
两个都需要能在终端里直接运行。
npm i -g clawhub或:
pnpm add -g clawhub首次使用建议先登录,避免后面 sync/publish 才发现权限问题:
clawhub loginclawhub whoami如果这里报 EACCES: permission denied,先不要硬怼:
- 优先用你系统推荐的无 sudo 安装方式处理 Node/npm;
- 再重新执行安装;
- 最后用
clawhub --version验证是否成功。
11.2.2 搜索与安装
Section titled “11.2.2 搜索与安装”clawhub search "daily report"clawhub install daily-report操作提醒:安装完成后,先开新会话再调用,不要在旧会话里直接测,能少踩很多“明明装了但没生效”的坑。
默认安装目标有个关键细节(官方口径):
- 默认装到当前目录的
./skills(也就是你当前所在目录) - 若当前目录不适合,会回退到已配置的 OpenClaw workspace
- 为了稳定生效,建议开一个新会话再调用
安装指定版本:
clawhub install daily-report --version 1.2.0目录已存在时覆盖:
clawhub install daily-report --force11.2.3 更新与清单
Section titled “11.2.3 更新与清单”# 更新单个clawhub update daily-report
# 更新全部clawhub update --all
# 看已安装清单(读取 .clawhub/lock.json)clawhub list如果你本地改过 Skill 文件,更新时遇到“与仓库版本不一致”的提示,确认后再用:
clawhub update daily-report --force11.2.4 同步发布(备份很有用)
Section titled “11.2.4 同步发布(备份很有用)”# 预演(不真正上传)clawhub sync --dry-run
# 扫描并发布所有变更clawhub sync --all你把它理解成“Skills 的发布同步按钮”(有点像内容版
git push)就行。
11.3 Skills 从哪里加载?谁覆盖谁?
Section titled “11.3 Skills 从哪里加载?谁覆盖谁?”官方优先级(高 → 低):
<workspace>/skills~/.openclaw/skills- 内置 bundled skills
skills.load.extraDirs(额外目录,最低)
这意味着同名 Skill 同时存在时,工作区版本优先。
11.3.1 单智能体 vs 共享 Skills
Section titled “11.3.1 单智能体 vs 共享 Skills”- 单智能体:放
<workspace>/skills(只影响当前工作区) - 共享给多个智能体:放
~/.openclaw/skills
如果你团队里有“公用技能包”,建议用 extraDirs 挂载统一目录。
11.3.2 插件自带 Skill 也走这套规则
Section titled “11.3.2 插件自带 Skill 也走这套规则”官方允许插件把 Skill 一起打包发布。
只要插件启用,这些 Skill 也会被加载,并参与同一套优先级覆盖逻辑。
11.4 可用性检查:为什么要先看“可用清单”(--eligible)
Section titled “11.4 可用性检查:为什么要先看“可用清单”(--eligible)”11.4.1 两条必跑命令
Section titled “11.4.1 两条必跑命令”openclaw skills listopenclaw skills list --eligible再补一条巡检命令(很多人会漏):
openclaw skills check操作提醒:上线前最少跑这两条——list --eligible + skills check;两条都过,再发布。
11.4.2 --eligible 到底在看什么
Section titled “11.4.2 --eligible 到底在看什么”- Skill 文件结构是否完整
- 依赖工具是否可用
metadata.openclaw.requires.*门控是否满足(比如 bin/env/config)
再看单个细节:
openclaw skills info daily-report把 --eligible 理解成“体检合格名单”就行。
在名单里 = 可以用;不在名单里 = 先修依赖再用。
新手实操口诀:先看可用清单,再调用。
否则你会陷入“明明装了但不能用”的循环排障。
11.5 运行期配置:skills.entries 是你的总开关
Section titled “11.5 运行期配置:skills.entries 是你的总开关”所有 Skills 配置都在 ~/.openclaw/openclaw.json 里。
你可以先用命令看看当前有没有这个节点:
openclaw config get skills.entries如果命令不可用(例如提示 unknown command 'config'),就直接手动打开:
~/.openclaw/openclaw.json。
11.5.1 常用配置模板
Section titled “11.5.1 常用配置模板”{ skills: { allowBundled: ["gemini", "peekaboo"], load: { extraDirs: ["~/Projects/team-skills"], watch: true, watchDebounceMs: 250 }, install: { preferBrew: true, nodeManager: "npm" }, entries: { "daily-report": { enabled: true, env: { REPORT_TZ: "Asia/Shanghai" } }, "private-skill": { enabled: true, apiKey: "YOUR_KEY" }, "old-skill": { enabled: false } } }}11.5.2 你最该记住的 5 条
Section titled “11.5.2 你最该记住的 5 条”enabled: false能立刻停用某个 Skill。env/apiKey只在智能体运行时注入,不是全局 shell 环境。watch: true开启后,Skill 改动会自动刷新到后续轮次。extraDirs适合团队共享技能目录。allowBundled只影响内置 Skills,不影响你本地安装的。
再补两条“容易误会”的官方细节:
install.nodeManager只影响 Skill 安装用什么包管理器(npm/pnpm/yarn/bun),不改变 Gateway 运行时(仍建议 Node)。skills.entries.<key>默认用 Skill 名;如果 Skill 定义了metadata.openclaw.skillKey,要用那个 key。
11.6 怎么调用 Skill 才靠谱?
Section titled “11.6 怎么调用 Skill 才靠谱?”11.6.1 对新手最稳:自然语言触发
Section titled “11.6.1 对新手最稳:自然语言触发”直接在 TUI/WebUI 里说:
请调用 daily-report,整理我今天的工作记录并输出成 Markdown这一步如果你不确定 Skill 是否已加载,先跑:
openclaw skills list --eligible看到 daily-report 再触发,成功率会高很多。
11.6.2 命令式触发
Section titled “11.6.2 命令式触发”如果你开启了 slash 命令体系,可用:
/skill daily-report11.6.3 进阶:command-dispatch(先知道即可)
Section titled “11.6.3 进阶:command-dispatch(先知道即可)”官方支持某些 Skill 用 command-dispatch: tool 直接调工具。
优点是确定性更强,适合“固定格式、固定动作”的场景。
小白阶段不用急着配它。
先把“自然语言触发 + 可用清单检查”跑稳,已经足够覆盖日常 80% 场景。
11.6.4 为什么“刚改完 Skill,感觉没生效”
Section titled “11.6.4 为什么“刚改完 Skill,感觉没生效””官方机制是“会话级快照”:
- 会话启动时会快照当时的可用 Skills;
- 中途改 Skill,最稳妥的做法是开新会话再测;
- 开了
watch会尝试热刷新,但排障时依然优先用“新会话复现”。
11.7 安全与治理:第三方 Skill 先审后用
Section titled “11.7 安全与治理:第三方 Skill 先审后用”这是本章最重要的一条:
- 把第三方 Skill 当作“不受信任输入”;
- 上线前先看
SKILL.md和依赖工具; - 高风险工具(尤其
exec)必须配审批; - 更新时保留版本记录,必要时可回退。
再强调一个安全边界(官方很明确):
skills.entries.*.env/apiKey注入的是主机进程环境,不是沙箱环境;- 你若在沙箱里跑 Skill,需要在 sandbox 配置里单独声明环境变量。
推荐流程:
clawhub install安装到测试 workspaceopenclaw skills list --eligible验证- 小流量试跑
- 再同步到正式环境
- ClawHub 负责“发现/安装/更新/同步”,OpenClaw 负责“加载/执行”。
- 先搞懂加载优先级,才能解释“为什么同名 Skill 行为不同”。
- “可用清单(
--eligible)”是日常健康检查入口,不是可选动作。 skills.entries是你最常改的配置区。- 第三方 Skill 上线前,先审再放量。
- 遇到“改了没生效”,优先新开会话再验证。
下一步:第12章,自己写一个可发布的 Skill。
- 搜索并安装一个你感兴趣的 Skill。
- 运行
openclaw skills list --eligible,确认它就绪。 - 在
skills.entries给它加一个自定义环境变量。 - 开一个新会话,调用它并观察效果。
- 最后执行一次
clawhub sync --dry-run看发布预览。