为什么需要自定义技能
OpenClaw 自带的基础功能已经很强大,但有时候你想让它做点特定的事,比如:
- 自动回特定格式的邮件
- 按照你的模板生成内容
- 调用你自己的API
这时候就需要自己开发技能了。
技能是什么
Skill(技能)是包含 SKILL.md 文件的文件夹。一个技能就是一个独立的功能包。
官方有个技能市场叫 ClawHub,上面已经有很多现成的技能可以用。但有些需求总是现成没有的,这时候就得自己写。
准备工作
你需要:
- 一个代码编辑器(VS Code 推荐)
- 基础的 Markdown 语法知识
- 一点耐心
没了,真的就这么简单。技能开发不需要多高深的编程能力。
技能文件结构
一个最基本的技能只需要两个文件:
my-skill/
├── SKILL.md
└── skill.conf.yaml
SKILL.md
这是技能的核心文件,定义了技能的功能。
skill.conf.yaml
这是配置文件,定义技能的基本信息。
从零创建一个技能
假设我们要做一个”周报生成器”技能,帮我们自动生成周报。
1. 创建文件夹
mkdir weekly-report-skill
cd weekly-report-skill
2. 创建 skill.conf.yaml
name: weekly-report
version: 1.0.0
description: 自动生成每周工作报告
author: 你的名字
tools: []
3. 创建 SKILL.md
# 周报生成器
## 功能
根据输入的工作内容,自动生成格式规范的周报。
## 使用方法
对 OpenClaw 说:
– “帮我生成周报”
– “这周做了xxx“
## 执行
当用户请求生成周报时,我会:
- 询问本周工作内容
- 整理成周报格式
- 输出给用户
“`javascript
// 周报模板
const template = `
## 本周工作汇总
### 完成项
– ${tasks}
### 下周计划
– ${nextTasks}
### 问题与建议
– ${issues}
`;
“`
技能描述语法
SKILL.md 使用特殊语法,我来说几个最常用的:
1. 功能描述
## 功能
告诉用户这个技能能做什么。
2. 使用方法
## 使用方法
告诉用户怎么调用这个技能。
3. 执行逻辑
## 执行
当触发这个技能时,AI 会执行的逻辑。
4. 代码块
```语言
代码内容
```
可以嵌入JavaScript、Python等代码。
安装技能
写好了怎么安装?两种方式:
1. 本地安装
mkdir -p ~/.openclaw/skills/weekly-report
cp -r ./weekly-report-skill/* ~/.openclaw/skills/weekly-report/
2. 共享给他人
把技能文件夹发给别人,或者提交到 ClawHub。
测试技能
安装后重启 OpenClaw:
openclaw gateway restart
然后试试调用:
“帮我生成这周的周报”
进阶:添加工具
如果技能需要调用外部工具,可以在 skill.conf.yaml 里添加工具:
tools:
- name: browser
- name: exec
- name: memory
这样技能就可以使用浏览器、终端命令、记忆功能了。
总结
技能开发比想象中简单太多了。一个技能本质上就是一个 Markdown 文件,会写文档就能开发技能。
难的永远是需求分析——你要先想清楚让 AI 做什么。








暂无评论内容