OpenClaw 技能系统详解:扩展 AI 能力的核心机制
买了 AI 助手却只能聊天?本文教你用技能系统把它变成真正的数字员工——搜索、创作、自动化、树洞记忆,插上技能就有超能力。
你能学到什么?
✅ 理解 OpenClaw 技能系统的架构原理 ✅ 从 ClawHub 安装需要的技能(5 分钟) ✅ 配置文件控制技能开关和参数 ✅ 编写自己的第一个自定义技能 ✅ 技能的安全注意事项
技能系统是什么?
OpenClaw 的技能(Skills)是一种模块化的能力扩展单元。每个技能是一个文件夹,里面有 SKILL.md 说明文件,告诉 AI 助手:
这个技能是做什么的 需要什么工具或 API 什么条件下应该激活 如何使用它
技能基于 AgentSkills[1] 标准,所以很多在其他 AI Agent 上开发的技能可以直接复用在 OpenClaw 上。
核心特点:
即装即用,无需重启网关 支持版本管理,可更新可回滚 技能之间相互隔离,不会互相干扰 可配置生效条件(环境变量、配置文件、操作系统等)
技能存在哪里?三层加载机制
OpenClaw 按优先级从高到低从三个位置加载技能:
| 优先级 | 位置 | 说明 |
|---|---|---|
| 🥇 最高 | <workspace>/skills |
工作区技能,只影响当前项目 |
| 🥈 | ~/.openclaw/skills |
托管技能,所有项目共享 |
| 🥉 最低 | OpenClaw 内置 | 系统自带的基础技能 |
当同一技能名出现在多个位置时,优先级高的覆盖优先级低的。
查看当前已安装的技能
openclaw skills list
输出示例:
✓ agent-reach ~/.openclaw/workspace/skills/agent-reach
✓ multi-search-engine ~/.openclaw/skills/multi-search-engine
✓ memory-setup ~/.openclaw/skills/memory-setup
✓ self-improving ~/.openclaw/skills/self-improving
查看技能详细信息
openclaw skills info <技能名>
检查技能是否满足运行条件
openclaw skills check
这个命令会告诉你:哪些技能可用、哪些因缺少依赖被禁用、以及具体缺什么。
ClawHub:技能的 App Store
ClawHub[2] 是 OpenClaw 官方技能市场,收录了 5400+ Skills,涵盖各领域。
安装 CLI
npm i -g clawhub
搜索技能
clawhub search "wechat" # 搜索微信相关
clawhub search "bilibili" # B站相关
clawhub search "memory" # 记忆系统
clawhub search "automation" # 自动化工作流
安装技能
clawhub install <skill-slug> # 安装到当前目录的 skills/
安装后,OpenClaw 会在下一个新会话自动加载。
更新所有技能
clawhub update --all
同步本地技能到 ClawHub(备份)
clawhub sync --all
精选技能推荐
根据路飞的使用场景,推荐以下技能:
1. 多平台搜索 — agent-reach
已安装 ⭐⭐⭐⭐⭐
全平台内容获取,支持:
微信公众号文章读取 小红书内容搜索 B站视频信息获取 Twitter/X 推文读取 GitHub 代码和 issues 搜索 等等 14 个平台
clawhub install agent-reach
2. 搜索增强 — multi-search-engine
已安装 ⭐⭐⭐⭐
整合 17 个搜索引擎(8 个中文 + 9 个英文),支持高级搜索指令、时间筛选、站点限制。
clawhub install multi-search-engine
3. 记忆系统 — memory-setup
已安装 ⭐⭐⭐⭐
配置向量搜索和长期记忆,让 AI 真正"记住"你是谁、你的偏好、你的项目背景。配合 self-improving 使用会持续进化。
clawhub install memory-setup
4. 自我改进 — self-improving
已安装 ⭐⭐⭐⭐⭐
记录使用中的修正和教训,形成自己的经验库。每次犯错都会被记住,下次不再犯。
clawhub install self-improving
5. 定时提醒(QQ)— qqbot-cron
如果接入了 QQ 机器人,这个技能让你创建定时提醒和周期性任务。
clawhub install qqbot-cron
6. 飞书文档 — feishu-doc / feishu-wiki
读写飞书云文档和知识库,适合企业内部场景。
clawhub install feishu-doc
clawhub install feishu-wiki
技能配置:精细化控制
所有技能配置都在 ~/.openclaw/openclaw.json 的 skills 节点下。
基本结构
{
skills: {
entries: {
"技能名": {
enabled: true, // 是否启用
apiKey: { source: "env", id: "API_KEY" }, // API 密钥来源
env: {
CUSTOM_VAR: "值" // 环境变量
},
config: {
// 技能自定义配置
}
}
},
load: {
watch: true, // 监听文件变化热更新
watchDebounceMs: 250, // 监听防抖(毫秒)
extraDirs: ["~/my-skills"] // 额外的技能目录
}
}
}
示例:配置 agent-reach
{
skills: {
entries: {
"agent-reach": {
enabled: true,
config: {
// agent-reach 特有的配置项
}
}
}
}
}
按条件加载(Gate)
技能可以通过 metadata 设置加载条件,不满足条件时自动跳过:
---
name: gemini
description: 使用 Gemini CLI 编程辅助
metadata:
{
"openclaw":
{
"requires": { "bins": ["gemini"] }, # 必须有 gemini 命令
"os": ["darwin", "linux"] # 只在 macOS 和 Linux
},
}
---
常见的条件类型:
bins:必须在 PATH 中的可执行文件env:必须设置的环境变量config:openclaw.json 中必须为真的配置项os:限定操作系统
编写自己的技能
当市面上的技能无法满足需求时,可以自己写。
技能目录结构
~/.openclaw/workspace/skills/my-skill/
├── SKILL.md # 必须:技能说明文件
├── script.sh # 可选:辅助脚本
└── README.md # 可选:详细文档
最简单的 SKILL.md
---
name: my_first_skill
description: 我的第一个技能,用来打招呼
---
# 我的第一个技能
当用户说"你好"或"打招呼"时,用 `echo` 工具输出一段问候语。
## 使用方法
直接告诉我"你好",我会用这个技能回复你。
带工具定义的 SKILL.md
---
name: file-reader
description: 读取本地文件内容
metadata:
{
"openclaw":
{
"requires": { "bins": ["cat"] },
},
}
---
# 文件读取技能
当用户要求读取某个文件时,使用 `read` 工具读取并返回内容。
## 使用限制
- 只能读取用户workspace下的文件
- 不允许读取系统敏感文件
带安装指引的 SKILL.md
---
name: weather
description: 查询天气预报
metadata:
{
"openclaw":
{
"requires": { "env": ["WEATHER_API_KEY"] },
"primaryEnv": "WEATHER_API_KEY",
"install": [
{
"id": "brew",
"kind": "brew",
"formula": "curl",
"label": "安装 curl (brew)"
}
]
},
}
---
# 天气查询技能
使用 wttr.in 查询天气预报,无需 API key。
## 安装要求
需要 `curl` 命令存在。Linux/macOS 通常自带。
技能的 Token 消耗
技能信息会注入到系统提示词中,每个技能大约增加 97 字符(约 24 tokens) 的额外消耗。
公式:
总开销 = 195(基础开销)+ Σ(97 + name长度 + description长度 + location长度)
技能越多,提示词越长,Token 消耗越高。如果在意成本,控制技能数量。
安全注意事项
⚠️ 重要提醒:
第三方技能请谨慎安装。技能本质上是在执行代码,安装前务必阅读
SKILL.md确认没有恶意操作。API 密钥保护。配置在
skills.entries中的密钥会被注入到进程环境变量,避免在日志中暴露。隔离运行。对于高风险技能,可以使用沙箱模式(sandbox)运行,限制其对系统资源的访问。
定期更新。使用
clawhub update --all保持技能版本最新,修复已知漏洞。
常见问题
技能安装后不生效
原因:OpenClaw 在新会话才加载技能。
解决:开启一个新对话,或者在当前对话输入"刷新技能"让 AI 重新扫描。
技能显示"缺少依赖"
原因:不满足 requires 条件(缺少命令、环境变量或配置)。
解决:运行 openclaw skills check 查看具体缺什么,然后安装对应依赖。
技能数量太多影响速度
解决:在 skills.entries 中将不需要的技能设为 enabled: false,或在 skills.allowBundled 中设置白名单。
引用链接
[1]AgentSkills: https://agentskills.io
[2]ClawHub: https://clawhub.com
夜雨聆风