【保姆级教程】OpenClaw Skill 指南:从零开始打造你的专属 AI 助手

【保姆级教程】OpenClaw Skill 指南:从零开始打造你的专属 AI 助手
在这里插入图片描述


标签: OpenClaw | AI 助手 | 技能配置 | 保姆级教程教程
阅读时间: 15 分钟
难度: ⭐⭐(适合新手)

一. 📖 前言

你是否想过让你的 AI 助手更聪明、更专业?
OpenClaw 是一个开源的个人 AI 助手,它可以:
• 📧 清理收件箱、发送邮件、管理日历
• 📱 通过 WhatsApp、Telegram 等聊天应用使用
• 💻 拥有持久记忆、24/7 上下文保持
• 🔌 支持自定义扩展(Skill)
Skill(技能)系统就是让 OpenClaw 更强大的核心!通过 Skill,你可以:
• ✅ 扩展能力:让助手学会新工具和新技能
• ✅ 专业化定制:打造领域专精的助手(如代码助手、翻译助手)
• ✅ 社区共享:从 ClawHub 下载别人写好的技能
• ✅ 灵活配置:按需启用/禁用技能
本文将带你从零开始,一步步掌握 OpenClaw Skill 的配置和使用,打造属于你的专属 AI 助手!

二. 🎯 什么是 Skill?

Skill 是 OpenClaw 的核心扩展机制,它本质上是一个包含 SKILL.md 文件的文件夹。
Skill 的核心结构

my-skill/ ├── SKILL.md # 必需:技能说明文件 ├── scripts/# 可选:脚本文件 ├── config/# 可选:配置文件 └── README.md # 可选:详细文档

SKILL.md 的基本格式

--- name: my-skill description: 这是一个示例技能 ---# 技能说明 在这里描述技能的功能、使用方法和注意事项。 

三. 📍 Skill 的加载位置与优先级

OpenClaw 从三个位置加载 Skill,优先级从高到低:

| 位置 | 路径 | 说明 ||----------------|------------------|---------------------|| Workspace Skills |<workspace>/skills | 当前工作区的技能(优先级最高) || Managed Skills |~/.openclaw/skills | 本地管理的技能 || Bundled Skills | 安装包内置 | OpenClaw 自带的技能(优先级最低)|

冲突处理: 如果同名 Skill 存在,优先级高的会覆盖低的。
多 Agent 场景下的技能共享
Per-agent skills:/skills(仅该 Agent 可见)
Shared skills:~/.openclaw/skills(所有 Agent 共享)

🚀 第一步:创建你的第一个 Skill

让我们从零开始创建一个简单的 Skill!

  1. 创建技能目录
# 进入工作区的 skills 目录 cd ~/.openclaw/workspace/skills # 创建新技能文件夹 mkdir my-first-skill cd my-first-skill 
  1. 编写 SKILL.md
cat > SKILL.md <<'EOF'--- name: my-first-skill description: 我的第一个 OpenClaw 技能,用于演示 Skill 的基本结构 ---# 我的第一个 Skill## 功能介绍 这是一个示例技能,用于展示 OpenClaw Skill 的基本结构和使用方法。 ## 使用场景 当用户提到"我的第一个技能"或相关关键词时,激活此技能。 ## 使用方法1. 确认技能已正确加载 2. 根据用户需求执行相应操作 3. 返回结果给用户 ## 注意事项- 这是示例技能,实际使用时需要根据需求修改 - 确保文件编码为 UTF-8 EOF 
  1. 验证 Skill
    创建完成后,重启 OpenClaw 会话,技能会自动加载!

⚙️ 第二步:配置 Skill

Skill 的配置在 ~/.openclaw/openclaw.json 文件中。
基本配置结构

{ skills:{// 技能加载配置 load:{ watch: true,// 启用文件监听(自动重载) watchDebounceMs:250,// 防抖延迟(毫秒) extraDirs:[],// 额外的技能目录 },// 技能条目配置 entries:{"my-skill":{ enabled: true,// 是否启用 apiKey:{ source:"env", provider:"default",id:"MY_API_KEY"}, env:{ MY_API_KEY:"your-key-here",}, config:{// 技能自定义了配置 endpoint:"https://api.example.com",},},},// 允许的内置技能(白名单模式) allowBundud: null,// null=全部允许,数组=仅允许列表中的 },}

常用配置选项

| 选项 | 类型 | 说明 ||-------|-------------|--------|| enabled | boolean | 启用/禁用技能 || apiKey |object/string | API 密钥配置 || env |object| 环境变量注入 || config |object| 技能自定义配置 |

🔌 第三步:Skill 元数据与过滤

通过 metadata 字段,你可以控制 Skill 的加载条件和行为。
基本元数据

--- name: my-skill description: 示例技能 metadata:{"openclaw":{"emoji":"🚀","homepage":"https://example.com","requires":{"bins":["python","node"],"env":["MY_API_KEY"],"config":["browser.enabled"]},"primaryEnv":"MY_API_KEY","install":[{"id":"npm","kind":"node","package":"my-package","bins":["my-cli"],"label":"Install via npm",}],},}---

元数据字段说明

| 字段 | 说明 ||---------------|------------------------|| emoji | 技能图标(用于 UI 显示) || homepage | 技能主页 URL || requires.bins | 需要的系统命令 || requires.env | 需要的环境变量 || requires.config | 需要的配置项 || primaryEnv | 主要环境变量(用于 apiKey 配置)|| install | 安装说明(用于 macOS Skills UI)|

📦 第四步:使用 ClawHub 安装技能

ClawHub 是 OpenClaw 的公共技能仓库,可以轻松发现和安装社区技能。
安装 ClawHub CLI

# 使用 npm 安装 npm install -g clawhub # 或使用 pnpm pnpm add -g clawhub 

搜索技能

clawhub search "calendar"

安装技能

# 安装到当前目录 clawhub install skill-name # 安装指定版本 clawhub install skill-name --version 1.0.0# 强制覆盖 clawhub install skill-name --force 

更新技能

# 更新所有已安装的技能 clawhub update --all# 更新单个技能 clawhub update skill-name 

查看已安装技能

clawhub list

💡 第五步:实战案例

案例 1:创建一个代码生成技能

# 创建技能目录 mkdir ~/.openclaw/workspace/skills/code-generator cd ~/.openclaw/workspace/skills/code-generator # 编写 SKILL.md cat > SKILL.md <<'EOF'--- name: code-generator description: 生成各种编程语言的代码模板和示例 metadata:{"openclaw":{"emoji":"💻","requires":{"env":["OPENAI_API_KEY"]},"primaryEnv":"OPENAI_API_KEY",},}---# 代码生成器## 功能 根据用户需求生成不同编程语言的代码模板和示例。 ## 支持的语言- Python - JavaScript - Java - Go - Rust - C++## 使用方法1. 确认用户需要的编程语言 2. 生成对应的代码模板 3. 提供详细注释和使用说明 EOF 

案例 2:配置 API 密钥
编辑 ~/.openclaw/openclaw.json:

{ skills:{ entries:{"code-generator":{ enabled: true, apiKey:"sk-your-api-key-here",},},},}

🔧 第六步:高级技巧

  1. 技能热重载
    启用文件监听后,修改 Skill 文件会自动重载:
{ skills:{ load:{ watch: true, watchDebounceMs:250,},},}
  1. 插件技能
    插件可以自带 Skill,在 openclaw.plugin.json 中声明:
{"skills":["./skills/my-skill"]}
  1. 技能 Token 影响
    每个 Skill 会消耗约 24 tokens(基础开销 + 字段长度)。优化方法:
    • 保持 name 和 description 简洁
    • 使用 disable-model-invocation 减少不必要的技能加载

四. 🎨 最佳实践

✅ DO(推荐做法)

  1. 清晰的命名:使用描述性的 skill 名称
  2. 完整的文档:在 SKILL.md 中提供详细说明
  3. 合理过滤:使用 metadata.requires 避免不必要的加载
  4. 安全第一:不在 Skill 中硬编码密钥
  5. 版本管理:使用语义化版本号
    ❌ DON’T(避免做法)
  6. 硬编码密钥:使用 apiKey 或 env 配置
  7. 过度复杂:保持 Skill 简单专注
  8. 忽略错误:提供清晰的错误提示
  9. 重复造轮子:先搜索 ClawHub 是否有现成技能

📊 技能管理命令速查表

| 操作 | 命令 ||----|------------------------|| 搜索技能 | clawhub search "<query>"|| 安装技能 | clawhub install <slug>|| 更新技能 | clawhub update --all|| 列出技能 | clawhub list|| 发布技能 | clawhub publish <path>|| 同步技能 | clawhub sync --all|

🎉 总结

通过本文,你已经掌握了:

  1. ✅ Skill 的基本概念和结构
  2. ✅ 如何创建和配置自定义 Skill
  3. ✅ 使用 ClawHub 安装社区技能
  4. ✅ 高级技巧和最佳实践
    下一步
    • 访问 ClawHub 发现更多技能
    • 查看 OpenClaw 文档 了解更多细节
    • 创建你的第一个 Skill 并分享给社区!

🔗 相关资源

OpenClaw官网
OpenClaw官方文档-Skills
ClawHub技能仓库
OpenClaw GitHub
AgentSkill 规范

Read more

【沧海拾昧】绿联NAS配置WebDAV公网访问并使用RaiDrive挂载到本地

【沧海拾昧】绿联NAS配置WebDAV公网访问并使用RaiDrive挂载到本地

#C0601 沧海茫茫千钟粟,且拾吾昧一微尘 ——《沧海拾昧集》@CuPhoenix 【阅前敬告】沧海拾昧集仅做个人学习笔记之用,所述内容不专业不严谨不成体系【如有问题必是本集记录有谬,切勿深究】 目录 * 前言 * 一、配置步骤 * 1、确认网络设备支持 IPv6 * 2、购买域名 * 3、配置访问凭证 * 2、NAS 配置 WebDAV 服务 * 3、NAS 配置 DDNS 支持 * 4、配置反向代理 * 5、在 RaiDrive 中挂载 * 6、设置防火墙 * 二、最终结果 前言 将 NAS 的磁盘空间通过 RaiDrive 等软件挂载到本地使用是一种十分便捷的方法,但是 RaiDrive 中只有针对群晖(

Linux 下 Tomcat 结合内网穿透 实现 Web 应用公网访问

Linux 下 Tomcat 结合内网穿透 实现 Web 应用公网访问

前言 在日常的 Web 开发与测试中,常常会遇到这样的困扰:本地部署好的 Java Web 项目,只能在局域网内访问,想要让异地的同事协作调试、给客户演示功能,或是外出时远程查看项目运行状态,往往需要繁琐的公网 IP 配置、端口映射,甚至要依赖云服务器部署。 而有一种实用的内网穿透功能,能轻松打破这种网络限制 —— 它可以将本地运行的服务,无需复杂配置就能映射到公网,生成可全球访问的地址,让本地的 Tomcat 服务随时被外部设备访问。 今天我们要分享的,就是如何借助这一功能,搭配经典的 Tomcat 服务器,在 Linux 系统中快速实现 Web 应用的公网访问,整个过程简单易操作,几分钟就能完成配置,解决开发和演示中的网络访问难题。 1.在CentOs7上安装OpenJDK 在已安装套件中查找含有java字符串的文件: rpm-qa|grepjava 若没有安装则开始安装吧! 查询yum中存在的JDK版本: yum list |grep java-11

Flutter 三方库 shelf_web_socket 的鸿蒙化适配指南 - 实现具备高性能全双工长连接与协议协商能力的端侧服务端架构、支持分布式实时信令与多端协同实战

Flutter 三方库 shelf_web_socket 的鸿蒙化适配指南 - 实现具备高性能全双工长连接与协议协商能力的端侧服务端架构、支持分布式实时信令与多端协同实战

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 shelf_web_socket 的鸿蒙化适配指南 - 实现具备高性能全双工长连接与协议协商能力的端侧服务端架构、支持分布式实时信令与多端协同实战 前言 在进行 Flutter for OpenHarmony 开发时,当我们的鸿蒙应用需要充当“控制中心”角色(如控制智能家居、开启本地调试服务或实现 P2P 实时对抗脚本时),如何在端侧直接拉起一个支持 WebSocket 协议的高性能微服务端?shelf_web_socket 是针对 shelf 后端框架封装的一款官方级 WebSocket 处理器。本文将探讨如何在鸿蒙端构建极致、透明的长连接交互引擎。 一、原直观解析 / 概念介绍 1.1 基础原理 该库本质上是一个 shelf 处理函数(Handler)

前端WebSocket实时通信:别再用轮询了!

前端WebSocket实时通信:别再用轮询了! 毒舌时刻 WebSocket?听起来就像是前端工程师为了显得自己很专业而特意搞的一套复杂技术。你以为随便用个WebSocket就能实现实时通信?别做梦了!到时候你会发现,WebSocket连接断开的问题让你崩溃,重连机制让你晕头转向。 你以为WebSocket是万能的?别天真了!WebSocket在某些网络环境下会被防火墙拦截,而且服务器的负载也是个问题。还有那些所谓的WebSocket库,看起来高大上,用起来却各种问题。 为什么你需要这个 1. 实时性:WebSocket提供全双工通信,可以实现真正的实时通信,比轮询更高效。 2. 减少网络流量:WebSocket只需要建立一次连接,减少了HTTP请求的开销。 3. 服务器推送:服务器可以主动向客户端推送数据,而不需要客户端轮询。 4. 低延迟:WebSocket的延迟比轮询低,适合实时应用。 5. 更好的用户体验:实时通信可以提供更好的用户体验,比如实时聊天、实时数据更新等。 反面教材 // 1. 简单WebSocket连接 const socket =