如果你刚上手OpenClaw,大概率会有这样的困惑:“为什么我的AI只会陪聊,却做不了实际任务?” 答案很简单——它缺了“手脚”,而 OpenClaw Agent Skills(智能体技能插件),就是给AI装上“手脚”的关键。
OpenClaw 作为2026年爆火的开源AI Agent框架,核心价值在于将大模型的“思考能力”转化为“执行能力”,而 Skills 正是实现这一转化的核心载体。简单来说,若把OpenClaw的核心模型比作“大脑”,Skills 就是它的“工具包”,每一个Skill对应一项具体能力,按需加载、即装即用,让AI从“只会说”变成“会做事”[2][4]。
一、先搞懂:OpenClaw Agent Skills 是什么?
Skill 本质是 OpenClaw 的可插拔能力单元,一个完整的Skill就是一个包含核心配置文件(SKILL.md)的独立文件夹,里面封装了AI执行某类任务所需的全部信息——包括功能描述、调用规则、执行脚本和配置参数[3]。
它有三个核心特点,决定了其灵活性和实用性:
- 模块化可复用:每个Skill专注于一项具体功能(如天气查询、网页抓取、文件管理),复制粘贴文件夹即可迁移,无需重复开发[3]。
- 多渠道加载:OpenClaw 会按优先级加载Skills,从高到低依次是:工作区专属Skills(/skills)、用户级共享Skills(~/.openclaw/skills)、OpenClaw内置Skills(开箱即用)[1][2]。
- 安全可控:加载时会通过多重门控检查(如二进制依赖、环境变量、权限控制),避免恶意技能带来的风险[1]。
截至2026年3月,ClawHub(OpenClaw官方Skill市场)已托管5700+社区技能,覆盖开发、办公、生活等多个场景,从简单的文本摘要到复杂的浏览器自动化,几乎能满足所有日常和工作需求[4]。
二、实操核心:Skill 的安装与基础使用
在自定义Skill之前,我们先从最基础的“安装官方Skill”入手,掌握核心流程。这里以最常用的 tavily-web-search(实时联网搜索Skill)为例,演示完整操作。
2.1 安装准备
确保你已安装 OpenClaw(版本≥1.8.0),检查方式:
openclaw --version
若未安装,先执行安装命令(国内用户建议切换镜像源加速):
# 切换国内镜像源
npm config set registry https://registry.npmmirror.com
# 安装OpenClaw
npm install -g openclaw
2.2 安装 Skill(两种常用方式)
OpenClaw 提供多种安装方式,最便捷的是通过 ClawHub 命令行安装:
方式1:ClawHub 命令行安装(推荐)
# 安装 tavily-web-search 技能
npx clawhub@latest install tavily-web-search
安装完成后,OpenClaw 会自动加载该Skill,无需重启。
方式2:手动安装(自定义Skill常用)
若需安装自定义Skill或GitHub上的社区Skill,可将Skill文件夹放入对应加载路径,示例:
# 创建共享Skill目录(若不存在)
mkdir -p ~/.openclaw/skills/
# 将自定义Skill文件夹复制到该目录
cp -r /path/to/your-skill ~/.openclaw/skills/
# 重启OpenClaw加载技能
openclaw restart
2.3 基础使用:调用 Skill 完成任务
安装完成后,无需手动配置,直接在与OpenClaw的对话中发出指令,AI会自动识别并调用对应Skill。
示例场景:查询“2026年OpenClaw最新版本更新内容”
用户指令:“使用 tavily-web-search 技能,查询2026年OpenClaw最新版本的更新内容,总结3个核心亮点。”
AI执行流程:
- 解析用户指令,识别到需要“实时联网搜索”,自动调用
tavily-web-searchSkill; - 通过Skill访问Tavily搜索API,获取OpenClaw最新版本信息;
- 解析搜索结果,提取核心更新亮点,以自然语言返回。
AI返回示例:
已调用 tavily-web-search 技能完成搜索,2026年OpenClaw最新版本(v2.1.0)核心更新亮点如下:
- Skill加载速度提升50%,支持实时热加载,无需重启即可生效;
- 新增Multi-Agent技能共享机制,多个Agent可共用同一套Skill,减少资源占用;
- 优化Skill安全门控,新增恶意脚本检测,提升使用安全性。
三、进阶实操:自定义一个 Skill(天气查询示例)
官方Skill虽多,但难免无法满足个性化需求。下面我们从零开始,自定义一个「天气查询Skill」,完整演示Skill的创建、编写和使用流程,小白也能轻松上手[3]。
3.1 第一步:创建 Skill 目录结构
一个标准的Skill需遵循固定目录结构,新建文件夹 weather-query-skill,并创建以下文件/目录:
weather-query-skill/
├── SKILL.md # 核心配置文件(AI的“使用说明书”)
└── scripts/ # 执行脚本目录
└── main.py # 天气查询核心脚本
3.2 第二步:编写 SKILL.md(核心配置)
SKILL.md 是AI识别和调用Skill的关键,需明确Skill的名称、功能、使用场景和脚本调用方式,格式如下(直接复制可用):
---
name: weather-query
description: 用于查询指定城市的当前天气、温度、湿度及未来1天预报。当用户询问“XX城市天气”“今天热不热”“明天要不要带伞”等天气相关问题时,自动调用此技能。
metadata:
openclaw:
emoji: 🌤️
requires:
bins: (curl) # 依赖的二进制工具
---
# 天气查询Skill(weather-query)
## 功能说明
查询指定城市的实时天气信息,包含当前温度、天气状况、湿度,以及明日简要预报。
## 使用方法
直接向AI发出天气查询指令,无需手动指定Skill,AI会自动匹配调用。
## 参数说明
| 参数 | 类型 | 说明 | 必选 |
|------|------|------|------|
| city | string | 城市名称(如“北京”“上海”) | 是 |
## 脚本调用方式
执行scripts目录下的main.py脚本,传入city参数,示例:
python scripts/main.py --city "北京"
## 输出格式
统一返回以下格式的文本:
📍 【城市名称】当前天气
🌡️ 温度:XX℃
☁️ 状况:XXX(如晴、多云)
💧 湿度:XX%
📅 明日预报:XX~XX℃,XXX
关键说明:description字段必须清晰具体,这是AI判断“何时调用该Skill”的核心依据[3]。
3.3 第三步:编写执行脚本(main.py)
使用Python编写核心逻辑,调用免费天气API(wttr.in,无需注册),实现天气查询功能,代码如下(可直接复制运行):
#!/usr/bin/env python3
import requests
import argparse
def get_weather(city: str) -> str:
"""获取指定城市的天气信息"""
# 调用免费天气API,返回JSON格式数据
url = f"https://wttr.in/{city}?format=j1"
try:
# 发送请求并设置超时时间
response = requests.get(url, timeout=10)
response.raise_for_status() # 抛出请求异常
data = response.json()
# 提取当前天气信息
current_weather = data["current_condition"][0]
temp_c = current_weather["temp_C"]
weather_desc = current_weather["weatherDesc"][0]["value"]
humidity = current_weather["humidity"]
# 提取明日预报信息
tomorrow_weather = data["weather"][1]
min_temp = tomorrow_weather["mintempC"]
max_temp = tomorrow_weather["maxtempC"]
tomorrow_desc = tomorrow_weather["weatherDesc"][0]["value"]
# 组装输出结果
result = (
f"📍 【{city}】当前天气\n"
f"🌡️ 温度:{temp_c}℃\n"
f"☁️ 状况:{weather_desc}\n"
f"💧 湿度:{humidity}%\n"
f"📅 明日预报:{min_temp}~{max_temp}℃,{tomorrow_desc}"
)
return result
except Exception as e:
return f"❌ 天气查询失败:{str(e)}(请检查城市名称是否正确)"
if __name__ == "__main__":
# 解析命令行参数
parser = argparse.ArgumentParser(description="OpenClaw 天气查询Skill")
parser.add_argument("--city", type=str, required=True, help="城市名称(如北京、上海)")
args = parser.parse_args()
# 执行查询并输出结果
print(get_weather(args.city))
3.4 第四步:安装并测试自定义 Skill
- 安装Skill:将
weather-query-skill文件夹复制到共享Skill目录:cp -r weather-query-skill ~/.openclaw/skills/ - 重启OpenClaw:
openclaw restart - 测试调用:向OpenClaw发送指令:“查询广州今天的天气”,AI会自动调用我们自定义的
weather-querySkill,返回如下结果: 📍 【广州】当前天气 🌡️ 温度:22℃ ☁️ 状况:多云 💧 湿度:75% 📅 明日预报:20~25℃,晴转多云
四、实用技巧与注意事项
- Skill 管理:可通过 ClawHub 命令更新、卸载Skill,示例:
# 更新所有已安装Skillnpx clawhub update --all# 卸载某个Skillnpx clawhub uninstall weather-query - 优先级管理:同名Skill中,工作区Skills(/skills)优先级最高,会覆盖共享Skill和内置Skill,适合项目专属定制[2]。
- 安全注意:手动安装社区Skill时,需检查脚本是否包含恶意代码,避免泄露隐私或损坏系统[1]。
- 国内适配:若遇到Skill下载慢或API无法访问,可切换国内镜像源,或替换脚本中的API为国内服务(如天气API可替换为高德天气API)[4]。
五、总结
OpenClaw Agent Skills 是让AI从“对话工具”升级为“实用助手”的核心,它的模块化设计让小白也能轻松上手——无论是安装官方Skill快速满足日常需求,还是自定义Skill适配个性化场景,都能通过简单的操作实现。
截至目前,OpenClaw的Skill生态还在快速壮大,从开发工具到生活服务,从单兵作战到多Agent协作,Skills正在不断拓展AI的能力边界[1]。如果你也想让自己的OpenClaw真正“会干活”,不妨从安装一个常用Skill开始,再尝试自定义属于自己的专属技能,解锁更多AI实操可能~
最后,附上核心资源:
- ClawHub 官方Skill市场:https://clawhub.com
- OpenClaw 官方文档(Skill部分):https://docs.openclaw.ai/skills