OpenClaw Skills 怎么安装和排错:配置、权限与自定义技能
按任务查找 OpenClaw Skills,核对发布者和版本,检查加载、依赖与智能体可见性,并用一个技术文档翻译示例创建自己的 SKILL.md。
文章目录
装了 OpenClaw Skill,却看不到它,或者调用时提示缺程序、缺 API Key,先检查它有没有被发现、是否满足依赖、当前智能体是否能使用。继续安装同类技能,通常只会让问题更难定位。
Skills 的用途是把一项工作的操作方法写给智能体。一个 Skill 通常是包含 SKILL.md 的目录,里面可以附脚本和资料;它需要的命令、模型或业务接口仍要单独可用。下面按查找、安装、排错和自定义技能的顺序处理,命令以当前官方 CLI 文档为依据。
先列出当前技能,确认缺的是什么
在 OpenClaw 使用的环境中执行:
openclaw skills list
openclaw skills list --eligible
openclaw skills check
完整列表用于查看已发现的技能;--eligible 用于筛选满足加载条件的技能,check 帮助检查准备状态及当前智能体的可见性。找到目标名称后再查看详情:
openclaw skills info tech-doc-translator
这里的 tech-doc-translator 是下文自定义示例的名字,尚未创建时要换成列表中的真实名称。连接远程 Gateway 时,也要确认你检查的是该 Gateway 的技能,不能把客户端电脑上的安装目录当成远端已经加载的证据。
按任务找技能,先看来源再安装
可以从一个具体任务开始搜索,例如日历相关能力:
openclaw skills search "calendar"
不要仅凭标题里的“全能”“安全”或安装量做选择。检查发布者、版本、SKILL.md、附带脚本、依赖,以及它是否会向外部服务发送文件或调用凭据。官方市场里的条目仍需要结合实际任务检查。
从结果中选定发布者和技能后,安装命令采用下面的格式:
openclaw skills install @owner/<slug> --version <version>
@owner/<slug> 和 <version> 都是占位符,必须替换成所选条目的真实标识和版本。固定版本便于团队复现与回退,不代表该版本已经通过你的业务验证。
原生 CLI 默认安装到目标工作区的 skills/ 目录;需要多个本地智能体共享时,官方还提供 --global,但共享范围变大前应先确认哪些智能体需要它。Skills 指令文件与 plugin 软件包分属不同入口,插件包要按 openclaw plugins 文档处理。
已安装却不能用,按这几个位置检查
| 现象 | 先核对什么 | 下一步 |
|---|---|---|
| 列表里没有技能 | 安装工作区、目录里的 SKILL.md、名称和描述 |
确认目标 Gateway 与目录;修正文件后重新查看列表 |
| 已发现但不满足条件 | 需要的命令、环境变量、系统类型、配置项 | 按该技能的实际要求补齐依赖,不照抄另一技能的配置 |
| 满足条件但当前智能体看不到 | 智能体的 Skills 可见列表、当前会话是否已刷新 | 检查对应智能体设置;必要时开新会话再确认 |
| 已进入任务却提示接口错误 | Key 的配置位置、服务端点、账号授权和服务账单 | 用不含敏感信息的小样本定位服务问题 |
| 同名技能行为和预期不同 | 本地覆盖、副本来源和加载优先级 | 查清实际加载的是哪一份,保留修改前版本 |
技能发现、依赖就绪和实际任务完成是三个检查结果。即使列表正常,仍要用一个输入样本验证输出格式、文件位置和失败处理。
Skills 配置文档中的默认配置文件是 ~/.openclaw/openclaw.json。修改前先备份,并把需要的字段合并进现有配置;不要用教程片段替换包含其他设置的整个文件。若实例自定义了配置位置,以该实例实际路径为准。
写一个技术文档翻译 Skill
先创建一个只处理文本的技能,不添加外部翻译服务,也不让它修改文件。工作区采用默认位置时,目录可以这样创建;自定义工作区应替换路径:
mkdir -p ~/.openclaw/workspace/skills/tech-doc-translator
在目录中保存 SKILL.md:
---
name: tech-doc-translator
description: 翻译用户提供的技术文本,保留命令、路径、版本和链接目标,输出可对照检查的译文。
---
# 技术文档翻译
用户提供技术文本并要求翻译时,先确认目标语言。
保留代码块、行内命令、变量名、文件路径、版本号和链接目标。
保留否定、可选条件、兼容范围和未完成状态,不补写原文没有的结论。
代码注释是否翻译由用户指定;没有指定时保持原样。
遇到有歧义的术语,附上原词并列为待确认项。
只输出译文与必要的待确认项,不修改文件、不发送消息。
这是示例工作流,格式参考官方技能创建指南。保存后重新查看技能列表,在新会话中用 /skill tech-doc-translator 调用,并给它一段包含版本要求和否定句的短文本,逐句比较译文。
文件被加载不代表翻译已经准确。试做时重点检查“必须”和“可以”、支持与不支持的系统,以及代码块是否被改动。需要增加文件读取或保存能力时,再单独说明路径范围和覆盖规则。
控制加载范围与执行权限
Skills 的可见列表控制智能体能看到哪些技能指令。它不能代替操作系统、沙盒、工具策略或业务账号的权限控制,也不能因为 SKILL.md 写了“不要泄露”就认为文件和密钥已经隔离。
官方 Skills 文档建议把第三方技能作为不受信任的代码处理。审查时尤其注意下载后立即执行、读取凭据目录、请求额外权限,以及把文件上传到未知地址的步骤。测试目录里只放样本副本,输出先保存草稿;需要写入业务系统时,再确认范围、记录和恢复办法。
技能配置中的 enabled: false 可以用于禁用相应条目,字段应按真实技能名或其配置键填写。例如,禁用前面创建的示例时,可把下面片段合并进现有配置:
{
"skills": {
"entries": {
"tech-doc-translator": {
"enabled": false
}
}
}
}
停用技能不会撤回已经完成的文件修改或外部请求。需要回退时,要用之前保留的输入、输出和变更记录处理实际结果。
成本取决于任务调用的服务
Skill 文件本身不说明模型调用或其他接口一定免费。读长文档、调用搜索、运行浏览器和失败重试,都会改变资源或服务用量。先用同一批样本记录模型账单、接口费用、耗时和人工修改量,再决定是否长期运行。
运行时间短的文本任务可以先在已有环境试做。需要持续处理定时任务时,才考虑服务器在线时间、网络、备份和访问控制。如果选择雨云服务器,优惠码为 KuZhuJi;规格、价格与优惠条件以购买页面所选项目显示为准。服务器规格与本地模型推理需求应分别评估,不能仅按安装了多少 Skills 决定内存。
已经能正常调用技能后,可以挑一个办公任务试做;尚未部署的读者先看Linux 服务器部署步骤。每次增加一个能力,保存输入、输出和版本,再判断它是否值得保留。