Appearance
第8章 Skills扩展:让AI从"能说"到"能做"
💡 本章目标:深入理解Skills本质,学会使用ClawHub技能市场,掌握必装Skills推荐,学习自定义Skills开发和管理技巧。
⚠️ 重要提示:没有Skills的OpenClaw只是1个聊天机器人,有了Skills才能真正成为你的AI助手!
📊 Skills 生态概览:OpenClaw 拥有庞大的 Skills 生态系统,包括内置49个、官方93个、社区1715+个,总计1800+个可用 Skills。详细分类和说明请参考 Skills 生态说明。
8.0 Skills本质:AI的"操作说明书"
8.0.1 什么是Skills?
简单理解:
Skills 本质上就是教 AI 按固定流程做事的操作说明书,一旦写好,就能像函数一样反复调用。
可以把 Skills 看成把"某类事情应该怎么专业做"这件事,封装成1个可复用、可自动触发的能力模块。
形象比喻:
把 AI 想象成1个刚毕业的聪明但没经验的实习生:
- 普通Prompt = 你每次都要从头教他怎么做事(今天教一遍,明天还得重新教)
- Rule / 记忆 = 你给他贴一张"公司行为守则"在工位上(一直生效,但只能管态度和格式)
- MCP / Tools = 你给他电脑装了一堆软件和API(他能调用外部工具,但不知道什么时候该用、怎么组合用)
- Skills = 你直接给他一整套**"岗位培训大礼包"**(PDF+流程图+SOP+话术模板+常用脚本),告诉他:"当老板让你做这类事情时,就按这个文件夹里的方法来做"
8.0.2 Skills vs 传统Prompt
核心区别:按需加载 + 渐进式披露(只在需要时才把厚厚的 SOP 塞进上下文,极大节省 token)
| 对比项 | 普通 Prompt | Skills 机制 |
|---|---|---|
| 每次都要重新描述 | 是 | 否(只描述一次) |
| 上下文长度占用 | 每次全量塞入 | 渐进式加载(只在触发时才读完整内容) |
| 一致性 | 依赖每次 prompt 质量 | 高(固定 SOP + 模板) |
| 复用性 | 手动复制粘贴 | 自动匹配 / slash 命令 / 项目共享 |
| 维护方式 | 改一次 prompt 就要重新发 | 修改 SKILL.md 文件,全局/项目生效 |
实际例子:
比如我们平时写文章,在没有 Skills 之前,每次都要按以下步骤重复说:
帮我总结文章 → 翻译 → 改成公众号风格 → 加标题 → 输出 Markdown有了 Skills 之后:
你只需要一句:使用「技术文章转公众号」Skill
AI 会自动按你设定的步骤执行。8.0.3 Skills vs MCP vs Tools
三者的区别:
| 特性 | Skills | MCP | Tools |
|---|---|---|---|
| 核心作用 | 知识复用 | 能力扩展 | 功能调用 |
| 实现方式 | Markdown文件 | 服务器端配置 | API接口 |
| 使用难度 | ⭐ 简单 | ⭐⭐⭐ 复杂 | ⭐⭐ 中等 |
| Token消耗 | 低(渐进式加载) | 高(启动时全量加载) | 中等 |
| 适用场景 | 经验、最佳实践、工作流程 | 连接API、数据库、外部工具 | 单一功能调用 |
| 创建门槛 | 任何人都可以创建 | 需要编码能力 | 需要API开发 |
| 部署要求 | 无需服务器 | 需要服务器端设置 | 需要后端支持 |
使用建议:
- ✅ Skills:用于知识分享、经验复用、工作流程
- ✅ MCP:用于连接外部系统、数据库、API
- ✅ Tools:用于单一功能调用、快速集成
8.0.4 Skills的工作原理
渐进式加载机制:
Skills用渐进式加载来高效管理上下文:
- 发现阶段:启动时,AI 只加载每个技能的名称和描述,只保留最基本的识别信息
- 激活阶段:当任务匹配某个技能的描述时,AI 才把完整的 SKILL.md 指令读入上下文
- 执行阶段:AI 按照指令执行,按需加载参考文件或运行代码
这种设计让 AI 保持快速,同时能按需获取更多信息。
Token消耗对比:
传统方式(全量加载):
- 10个Skills × 500字/个 = 5000字
- 约1250 tokens
Skills方式(渐进式加载):
- 发现阶段:10个Skills × 50字/个 = 500字(约125 tokens)
- 激活阶段:只加载需要的1个Skills = 500字(约125 tokens)
- 总计:约250 tokens
节省:80% tokens8.0.5 支持Skills的工具
目前能用 Skills 的主流客户端:
| 排序 | 工具名 | 是否免费使用Skills | 推荐人群 | 技能存放默认路径 | 备注 |
|---|---|---|---|---|---|
| 1 | Claude Code | 是(官方) | 所有人 | ~/.claude/skills | 标准制定者,生态最全 |
| 2 | Cursor | 是 | 写代码最常用 | ~/.cursor/skills | 几乎无缝兼容Claude Skills |
| 3 | Trae / OpenCode | 是 | 追求性价比 | 看工具设置 | 国内用户较多 |
| 4 | VS Code + 插件 | 部分支持 | 已经深度用vscode | 插件设置里配置 | 正在快速跟进 |
| 5 | 扣子/其他国内平台 | 部分支持 | 喜欢网页版 | 平台自带技能市场 | 有的要会员 |
OpenClaw的优势:
- ✅ 完全兼容Claude Skills格式
- ✅ 支持本地和云端部署
- ✅ 可以通过飞书、企微、钉钉使用
- ✅ 支持自定义Skills开发
- ✅ 社区生态丰富(1715+个Skills)
8.0.6 Skills核心结构
最小Skills结构:
1个 Skill 本质上就是1个 Markdown 文件(文件名固定为 SKILL.md)
my-skill/
└── SKILL.md (唯一必需)SKILL.md 基本模板:
markdown
---
name: pdf-processing
description: 从 PDF 中提取文本和表格,填写表单,并合并文档
---
# PDF 处理
## 使用场景
当需要对 PDF 文件进行操作时使用,例如:
- 提取 PDF 文本或表格数据
- 填写 PDF 表单
- 合并多个 PDF 文件
## 提取文本
- 使用 `pdfplumber` 提取文本型 PDF 内容
- 扫描版 PDF 需配合 OCR 工具
## 填写表单
- 读取 PDF 表单字段
- 按输入数据填充并生成新文件Skills核心结构示意图:

Frontmatter字段说明:
| 字段 | 必需 | 说明 |
|---|---|---|
| name | ✅ | Skill 名称,最长 64 字符,只能使用小写字母、数字和 -,且不能以 - 开头或结尾 |
| description | ✅ | 功能与使用场景说明,最长 1024 字符,不能为空 |
| license | ❌ | 许可证名称或指向随 Skill 附带的许可证文件 |
| compatibility | ❌ | 环境与依赖说明(产品、系统包、网络权限等),最长 500 字符 |
| metadata | ❌ | 自定义键值对,用于扩展元数据(如作者、版本号) |
| allowed-tools | ❌ | 允许使用的工具列表(空格分隔,实验性功能) |
完整Skills结构(包含资源文件):
如果你需要一些参考资料、参考实例、执行脚本,可以使用更复杂的 Skill 目录结构:
my-skill/
├── SKILL.md # 必需:指令 + 元数据
├── scripts/ # 可选:可执行代码
├── references/ # 可选:文档资料
└── assets/ # 可选:模板、资源
🎯 Skills生态概览
最新数据(2026年2月):
- 📊 总技能数:1715+个技能
- 📁 主要分类:31个分类
- 🌟 活跃贡献者:数百位开发者
- 📈 增长速度:每月新增50+个技能
主要分类及技能数量:
- 🌐 Web前端开发:46个
- 💻 编程代理和IDE:55个
- 🔧 Git和GitHub:34个
- ☁️ DevOps和云服务:144个
- 🌐 浏览器和自动化:69个
- 🎨 图像和视频生成:41个
- 🤖 AI和LLMs:159个
- 📊 数据和分析:18个
- ✅ 生产力和任务管理:93个
💡 Skills是什么? Skills是OpenClaw的插件系统,是让AI助手从"能说"到"能做"的关键转变。安装了Skills之后,你的AI助手可以自动浏览网页、收发邮件、操作GitHub、控制智能家居、生成图片、管理任务,甚至控制你的Tesla汽车!
🔧 本章内容
- 8.1 ClawHub技能市场
- 8.2 核心Skills推荐
- 8.3 Skills 安装方法
- 8.4 实战应用案例
- 8.5 安全使用指南
- 8.6 Skills开发指南
- 8.7 Skills管理技巧
8.1 ClawHub技能市场
8.1.1 什么是ClawHub
定义: ClawHub是OpenClaw的官方技能市场(https://clawhub.ai),类似于App Store,提供各种扩展功能。
核心价值:
- 🎯 扩展能力:让OpenClaw能做更多事情
- 🚀 快速部署:一键安装,即刻使用
- 🌍 社区驱动:开发者共享优质Skills
- 🔄 持续更新:Skills不断优化升级
- 📦 统一管理:安装、更新、备份一站式
与其他AI的区别:
| 特性 | OpenClaw + Skills | ChatGPT Plugins | Claude |
|---|---|---|---|
| 本地执行 | ✅ | ❌ | ❌ |
| 系统操作 | ✅ | ❌ | ❌ |
| 自定义开发 | ✅ | ❌ | ❌ |
| 社区生态 | ✅ | ✅ | ❌ |
| 免费使用 | ✅ | 部分付费 | ❌ |
8.1.2 Skills加载机制
Skills加载位置:
OpenClaw从3个位置加载Skills,优先级从高到低:
1. 工作区Skills:<workspace>/skills(最高优先级)
- 单智能体专用
- 项目特定的Skills
2. 托管/本地Skills:~/.openclaw/skills
- 所有智能体共享
- 用户自定义Skills
3. 内置Skills:随安装包发布(最低优先级)
- OpenClaw官方Skills
- 基础功能Skills优先级规则:
如果同名Skills存在于多个位置:
工作区Skills > 托管/本地Skills > 内置Skills
示例:
- 内置Skills:file-search v1.0
- 本地Skills:file-search v1.2(自定义版本)
- 工作区Skills:file-search v2.0(项目专用)
最终加载:工作区的 v2.0 版本额外Skills目录:
可以通过配置添加额外的Skills文件夹:
json
{
"skills": {
"load": {
"extraDirs": [
"/path/to/shared-skills",
"/path/to/team-skills"
]
}
}
}8.1.3 ClawHub使用指南
访问方式:
bash
# 方式1:网页访问(推荐)
https://clawhub.ai
# 方式2:命令行工具
clawhub --help
# 方式3:OpenClaw内访问
你:打开ClawHub常用命令:
bash
# 搜索Skills
clawhub search <关键词>
# 查看Skills详情
clawhub info <skill-slug>
# 安装Skills到工作区
clawhub install <skill-slug>
# 安装到指定目录
clawhub install <skill-slug> --dir /path/to/skills
# 更新单个Skills
clawhub update <skill-slug>
# 更新所有Skills
clawhub update --all
# 同步(扫描+发布更新)
clawhub sync --all
# 列出已安装的Skills
clawhub list
# 卸载Skills
clawhub uninstall <skill-slug>安装位置说明:
bash
# 默认安装到当前工作目录
clawhub install nano-banana-pro
# 安装到:./skills/nano-banana-pro/
# 如果不在工作目录,回退到配置的工作区
# 安装到:<workspace>/skills/nano-banana-pro/ClawHub界面布局:

8.1.3 技能分类和搜索
主要分类:
1. 文件管理类
- 文件搜索
- 文件整理
- 批量处理
- 格式转换
2. 知识管理类
- 网页剪藏
- 笔记同步
- 文献管理
- 知识图谱
3. 日程管理类
- 日历同步
- 提醒设置
- 任务管理
- 时间追踪
4. 自动化类
- 定时任务
- 网站监控
- 数据采集
- 流程自动化
5. 工具类
- 截图工具
- 翻译助手
- 计算器
- 单位转换
6. 娱乐休闲类
- 音乐播放
- 天气查询
- 新闻阅读
- 游戏娱乐
搜索技巧:
# 按名称搜索
搜索:file-search
# 按功能搜索
搜索:文件搜索
# 按标签搜索
搜索:#文件管理 #效率工具
# 按作者搜索
搜索:@作者名
# 组合搜索
搜索:文件 #管理 @官方8.1.4 技能评价体系
评价维度:
| 维度 | 说明 | 权重 |
|---|---|---|
| ⭐ 评分 | 用户评分(1-5星) | 30% |
| 📥 下载量 | 安装次数 | 20% |
| 🔄 更新频率 | 维护活跃度 | 20% |
| 📝 文档质量 | 说明完善度 | 15% |
| 🐛 Bug数量 | 稳定性 | 15% |
评分标准:
⭐⭐⭐⭐⭐ (5.0) - 完美
- 功能完善
- 文档详细
- 无明显Bug
- 持续更新
⭐⭐⭐⭐ (4.0-4.9) - 优秀
- 功能完整
- 文档清晰
- 偶尔小Bug
- 定期更新
⭐⭐⭐ (3.0-3.9) - 良好
- 基本功能可用
- 文档一般
- 有些Bug
- 更新较慢
⭐⭐ (2.0-2.9) - 一般
- 功能不完整
- 文档缺失
- Bug较多
- 很少更新
⭐ (1.0-1.9) - 较差
- 功能有问题
- 无文档
- Bug很多
- 不再维护如何选择Skills:
✅ 推荐安装:
- 评分 ≥ 4.0
- 下载量 > 1000
- 最近3个月有更新
- 文档完善
⚠️ 谨慎安装:
- 评分 3.0-3.9
- 下载量 < 1000
- 更新不频繁
- 文档不全
❌ 不推荐:
- 评分 < 3.0
- 长期不更新
- 无文档
- Bug多8.1.5 Skills 安装和管理
安装方式:
方式1:通过ClawHub安装
1. 打开ClawHub
2. 搜索Skills
3. 点击"安装"按钮
4. 等待安装完成方式2:通过命令行安装
bash
# 安装单个Skill
openclaw skill install file-search
# 安装多个Skills
openclaw skill install file-search note-sync calendar-sync
# 从URL安装
openclaw skill install https://github.com/user/skill-name方式3:通过OpenClaw对话安装
你:帮我安装file-search这个Skill
OpenClaw:好的,我来帮你安装!
正在安装 file-search...
- 下载中... ✅
- 解压中... ✅
- 配置中... ✅
- 测试中... ✅
安装成功!✅
Skill信息:
- 名称:File Search
- 版本:v1.2.0
- 作者:OpenClaw官方
- 功能:智能文件搜索
现在你可以使用文件搜索功能了!查看已安装Skills:
bash
# 列出所有已安装的Skills
openclaw skill list
# 输出示例:
已安装Skills(12个):
文件管理类(3个):
✅ file-search v1.2.0
✅ file-organizer v2.0.1
✅ batch-processor v1.5.0
知识管理类(4个):
✅ web-clipper v1.8.0
✅ note-sync v2.1.0
✅ github-manager v1.3.0
✅ paper-reader v1.0.5
日程管理类(2个):
✅ calendar-sync v3.0.0
✅ reminder v1.4.0
工具类(3个):
✅ screenshot v2.2.0
✅ translator v1.6.0
✅ calculator v1.1.0更新Skills:
bash
# 检查更新
openclaw skill update --check
# 更新所有Skills
openclaw skill update --all
# 更新指定Skill
openclaw skill update file-search
# 输出示例:
检查更新中...
发现3个可更新的Skills:
1. file-search: v1.2.0 → v1.3.0
2. note-sync: v2.1.0 → v2.2.0
3. calendar-sync: v3.0.0 → v3.1.0
是否更新?[Y/n]卸载Skills:
bash
# 卸载单个Skill
openclaw skill uninstall file-search
# 卸载多个Skills
openclaw skill uninstall file-search note-sync
# 输出示例:
正在卸载 file-search...
- 停止服务... ✅
- 清理配置... ✅
- 删除文件... ✅
卸载成功!✅8.2 必装Skills推荐
8.2.1 文件管理类Skills
1. file-search(智能文件搜索)
⭐ 评分:5.0/5.0
📥 下载量:50,000+
👤 作者:OpenClaw官方
功能:
- 基于内容的智能搜索
- 支持多种文件格式
- 快速索引和检索
- 模糊匹配
使用示例:
你:搜索包含"发票"的PDF文件
OpenClaw:找到3个匹配文件:
1. 2026年1月发票.pdf
2. 跑步机购买发票.pdf
3. 办公用品发票.pdf2. file-organizer(文件自动整理)
⭐ 评分:4.8/5.0
📥 下载量:35,000+
👤 作者:OpenClaw官方
功能:
- 智能分类文件
- 批量重命名
- 重复文件检测
- 自动归档
使用示例:
你:整理下载文件夹
OpenClaw:正在整理...
- 图片 → Pictures/Downloads/
- 文档 → Documents/Downloads/
- 视频 → Videos/Downloads/
- 其他 → Others/Downloads/
整理完成!共处理156个文件 ✅3. batch-processor(批量文件处理)
⭐ 评分:4.7/5.0
📥 下载量:28,000+
👤 作者:社区开发者
功能:
- 批量格式转换
- 批量压缩
- 批量提取信息
- 批量重命名
使用示例:
你:把这个文件夹里的所有PNG转成JPG
OpenClaw:正在转换...
- image1.png → image1.jpg ✅
- image2.png → image2.jpg ✅
- image3.png → image3.jpg ✅
...
共转换25个文件 ✅8.2.2 知识管理类Skills
4. web-clipper(网页剪藏)
⭐ 评分:4.9/5.0
📥 下载量:45,000+
👤 作者:OpenClaw官方
功能:
- 网页内容抓取
- 智能摘要生成
- 多平台保存(备忘录/Notion/Obsidian)
- 标签管理
使用示例:
你:保存这篇文章到备忘录
https://example.com/article
OpenClaw:已保存!
标题:AI技术发展趋势
摘要:[自动生成的摘要]
标签:#AI #技术 #趋势
位置:备忘录 > AI学习 ✅5. note-sync(笔记同步)
⭐ 评分:4.8/5.0
📥 下载量:32,000+
👤 作者:OpenClaw官方
功能:
- 多平台笔记同步
- 实时备份
- 版本控制
- 冲突解决
支持平台:
- Mac备忘录
- Notion
- Obsidian
- Evernote6. github-manager(GitHub项目管理)
⭐ 评分:4.6/5.0
📥 下载量:25,000+
👤 作者:社区开发者
功能:
- 项目信息分析
- README总结
- 代码结构理解
- Star/Fork追踪
使用示例:
你:分析这个GitHub项目
https://github.com/user/project
OpenClaw:分析完成!
项目:Awesome Project
Stars:15.3k
语言:TypeScript
核心功能:[详细分析]
推荐指数:⭐⭐⭐⭐⭐8.2.3 日程管理类Skills
7. calendar-sync(日历同步)
⭐ 评分:5.0/5.0
📥 下载量:60,000+
👤 作者:OpenClaw官方
功能:
- Mac日历集成
- 自动创建事件
- 智能提醒
- 跨设备同步
使用示例:
你:明天下午3点,会议室A开会
OpenClaw:已创建日历事件!
标题:会议
时间:2026-02-12 15:00-16:00
地点:会议室A
提醒:提前15分钟 ✅8. reminder(智能提醒)
⭐ 评分:4.7/5.0
📥 下载量:38,000+
👤 作者:OpenClaw官方
功能:
- 多级提醒设置
- 智能提醒策略
- 位置提醒
- 重复提醒
使用示例:
你:每天早上8点提醒我喝水
OpenClaw:已设置提醒!
内容:该喝水了💧
时间:每天 08:00
方式:飞书消息 ✅8.2.4 自动化类Skills
9. scheduler(任务调度)
⭐ 评分:4.9/5.0
📥 下载量:42,000+
👤 作者:OpenClaw官方
功能:
- 定时任务设置
- Cron表达式支持
- 任务依赖管理
- 错误重试
使用示例:
你:每天早上8点推送AI日报
OpenClaw:已设置定时任务!
任务:AI日报推送
时间:每天 08:00
Cron:0 8 * * *
状态:已启用 ✅10. monitor(网站监控)
⭐ 评分:4.6/5.0
📥 下载量:28,000+
👤 作者:社区开发者
功能:
- 网站变化检测
- 价格监控
- 内容更新提醒
- RSS订阅
使用示例:
你:监控这个博客的更新
https://example-blog.com
OpenClaw:已设置监控!
网站:Example Blog
频率:每天2次
通知:飞书消息 ✅8.2.5 工具类Skills
11. screenshot(截图工具)
⭐ 评分:4.8/5.0
📥 下载量:35,000+
👤 作者:OpenClaw官方
功能:
- 全屏截图
- 窗口截图
- 区域截图
- OCR识别
使用示例:
你:截图当前屏幕
OpenClaw:已截图!
[发送截图]
是否需要OCR识别文字?
12. translator(翻译助手)
⭐ 评分:4.7/5.0
📥 下载量:30,000+
👤 作者:社区开发者
功能:
- 多语言翻译
- 实时翻译
- 文档翻译
- 术语库管理
使用示例:
你:把这段话翻译成英文
"人工智能正在改变世界"
OpenClaw:翻译结果:
"Artificial Intelligence is changing the world"8.2.6 Skills推荐总结
必装Top 10:
| 排名 | Skill | 分类 | 评分 | 推荐理由 |
|---|---|---|---|---|
| 1 | calendar-sync | 日程管理 | 5.0 | 日历集成必备 |
| 2 | file-search | 文件管理 | 5.0 | 文件搜索神器 |
| 3 | web-clipper | 知识管理 | 4.9 | 知识收集利器 |
| 4 | scheduler | 自动化 | 4.9 | 定时任务必备 |
| 5 | note-sync | 知识管理 | 4.8 | 笔记同步工具 |
| 6 | file-organizer | 文件管理 | 4.8 | 文件整理助手 |
| 7 | screenshot | 工具 | 4.8 | 截图OCR工具 |
| 8 | reminder | 日程管理 | 4.7 | 智能提醒系统 |
| 9 | batch-processor | 文件管理 | 4.7 | 批量处理工具 |
| 10 | translator | 工具 | 4.7 | 翻译助手 |
安装建议:
bash
# 基础套装(必装)
openclaw skill install calendar-sync file-search web-clipper
# 进阶套装(推荐)
openclaw skill install scheduler note-sync file-organizer
# 完整套装(全能)
openclaw skill install calendar-sync file-search web-clipper \
scheduler note-sync file-organizer screenshot reminder \
batch-processor translator8.2.7 核心Skills详解(2026年必备)
💡 新增内容:基于1715+个技能生态,精选7大核心技能,每个都经过实战验证。
1. McPorter——跨平台连接基石 🏗️
核心作用: 让OpenClaw支持MCP(Model Context Protocol)协议,无需编写胶水代码,直接连接成千上万个现成的MCP Server。
支持平台:
- PostgreSQL数据库
- GitHub
- Slack
- Notion
- 其他主流平台
安装命令:
bash
npx clawhub@latest install mcporter配置示例:
bash
# 配置MCP服务器(以连接本地文件为例)
openclaw mcp add --transport stdio local-files npx -y @modelcontextprotocol/server-filesystem /root/Documents使用场景:
- "读取Notion中的项目文档,整理成Markdown"
- "把GitHub上的最新代码提交记录同步到本地"
真实效果:某开发团队使用McPorter技能,将日常协作效率提升了3倍。
2. Brave Search——实时信息检索 🔍
核心作用: 解决传统AI Agent"数据过时"的问题,让OpenClaw能进行实时全网搜索,获取最新的GitHub Issue、StackOverflow解答、行业资讯。
安装命令:
bash
npx clawhub@latest install brave-search使用场景:
- 代码报错排查:"帮我排查这个Python报错的原因,找最新的解决方案"
- 竞品调研:"查一下某产品最新功能的实现方式,附代码片段"
效果:2分钟即可得到带参考链接的详细报告,告别"凭训练数据瞎猜"的时代。
3. TranscriptAPI——视频知识提取 🎥
核心作用: 稳定抓取YouTube视频字幕,带精确时间戳,将视频中的知识转化为可编辑的文本。
安装命令:
bash
npx clawhub@latest install transcript-api使用场景: "提取这个2小时Next.js教程视频的核心代码逻辑,按章节整理成学习笔记"
价值:无需手动拉进度条,AI直接将知识"喂到嘴边",学习效率提升3倍以上。
4. File System Manager——本地文件处理 💾
核心作用: 赋予OpenClaw本地文件的读写、修改、重构权限,支持批量修改代码、修复语法错误、自动提交Git。
安装命令:
bash
npx clawhub@latest install file-system-manager
重要安全配置:
bash
# 配置授权目录(仅开放工作目录,避免全硬盘访问)
openclaw config set fs.allow-path /root/Projects使用场景:
- "帮我重构这个React组件,优化代码结构并修复ESLint报错"
- "将本地Markdown文件转为PDF,保存到指定目录"
注意:该技能是双刃剑,需严格控制访问目录,避免误操作。
5. Headless Browser (Playwright)——浏览器自动化 🤖
核心作用: 模拟真实人类的浏览器操作,支持点击、输入、截图、表单提交,针对无API的老旧网站实现自动化操作。
安装命令:
bash
npx clawhub@latest install playwright-headless使用场景:
- "每天早上8点自动登录公司抢票系统,帮我预约车票"
- "定时截图某政府网站的公告,有更新就保存并提醒"
注意:该功能过于强大,需合规使用,避免违反平台规则。
6. Design-Doc-Mermaid——图表自动生成 📊
核心作用: 通过自然语言指令生成Mermaid代码,自动渲染架构图、时序图、流程图。
安装命令:
bash
npx clawhub@latest install design-doc-mermaid使用场景: "帮我画1个用户注册的时序图,包含前端、后端、数据库交互"
效果:AI直接生成Mermaid代码并渲染成图,告别用画图工具手动拖拽的时代。
7. Google Workspace集成——办公自动化 📧
核心作用: 无缝连接Gmail、Google Calendar、Google Docs,实现邮件整理、日程同步、文档自动生成。
安装命令:
bash
npx clawhub@latest install google-workspace授权配置:
bash
# 授权Google账号(按终端提示完成浏览器认证)
openclaw auth google使用场景:
- "查一下我这周的Gmail邮件和Calendar日程,生成一份简洁的周报,发给老板"
- "根据会议纪要,自动创建Google Calendar日程,邀请参会人员"
8. find-skills + ProactiveAgent——Skills双幻神 🌟🌟
核心作用:
- find-skills:智能发现Skills,OpenClaw遇到问题时自动寻找合适的Skills
- ProactiveAgent:主动预测需求,观察使用习惯后主动提出自动化建议
安装命令:
bash
# 安装Skills双幻神
npx clawhub@latest install find-skills
npx clawhub@latest install proactive-agent使用场景:
- find-skills:当OpenClaw无法完成某个任务时,自动搜索并推荐合适的Skills
- ProactiveAgent:做了几次日报转HTML后,主动问"要不要我帮你自动化这个流程?"
GitHub链接:
- find-skills: https://github.com/vercel-labs/skills/tree/main/skills/find-skills
- ProactiveAgent: https://github.com/leomariga/ProactiveAgent
⚠️ 安全提示:ProactiveAgent安装时可能显示VirusTotal警告(因包含外部API调用),这是正常的,可以安全使用。
核心Skills 安装命令汇总:
bash
# 一键安装9大核心Skills(包含Skills双幻神)
npx clawhub@latest install mcporter brave-search transcript-api \
file-system-manager playwright-headless design-doc-mermaid google-workspace \
find-skills proactive-agent8.3 Skills 安装方法详解
💡 三种安装方式:ClawHub CLI(推荐)、对话式安装(最简单)、手动安装(高级用户)
8.3.1 方法一:ClawHub CLI一键安装(推荐)⭐
特点:
- ✅ 最简单、最快捷
- ✅ 自动处理依赖
- ✅ 支持版本管理
安装命令:
bash
npx clawhub@latest install <技能名称>实际示例:
bash
# 安装网页搜索技能
npx clawhub@latest install brave-search
# 安装多个技能
npx clawhub@latest install brave-search transcript-api file-system-manager常用管理命令:
bash
# 查看已安装技能
npx clawhub@latest list
# 更新技能
npx clawhub@latest update <skill-slug>
# 卸载技能
npx clawhub@latest uninstall <skill-slug>
# 更新所有技能
npx clawhub@latest update --all8.3.2 方法二:对话式安装(最懒人方式)
特点:
- ✅ 无需命令行
- ✅ 适合新手
- ✅ AI自动配置
使用方法:
直接在聊天界面中输入:
请安装这个技能:https://github.com/openclaw/skills/tree/main/skills/steipete/brave-searchAI会自动帮你下载和配置,完全不需要手动操作!
适用场景:
- 不熟悉命令行的用户
- 快速测试某个技能
- 临时安装单个技能
8.3.3 方法三:手动安装(高级用户)
特点:
- ✅ 完全掌控
- ✅ 可自定义配置
- ✅ 适合开发调试
安装步骤:
bash
# 1. 克隆技能仓库
git clone https://github.com/openclaw/skills
# 2. 复制到全局技能目录
cp -r skills/skills/<作者>/<技能名> ~/.openclaw/skills/
# 3. 重启OpenClaw
openclaw gateway restart8.4 实战应用案例
💡 三大场景完整案例:内容创作、团队协作、智能家居,都有真实数据支撑。
8.4.1 场景一:自动化内容创作流程 ✍️
需求背景: 自媒体博主每天需要发布3篇公众号文章,包括搜索资料、撰写内容、配图、排版,传统方式需要6小时/天。
使用的Skills组合:
brave-search- 搜索最新资讯deep-research- 深度研究主题fal-ai- 生成配图notion- 保存草稿markdown-formatter- 格式化文章
效果对比:
| 指标 | 传统方式 | 使用 OpenClaw Skills |
|---|---|---|
| ⏰ 时间消耗 | 6小时/天 | 2小时/天 |
| 📈 文章产量 | 3篇/天 | 5篇/天 |
| 💰 配图成本 | 300元/天 | 0元/天 |
具体操作流程:
- 信息收集:使用brave-search搜索当日热点话题
- 深度研究:通过deep-research对选定话题进行深入分析
- 内容生成:AI根据研究成果自动撰写文章草稿
- 配图生成:使用fal-ai生成原创配图,避免版权问题
- 格式排版:自动格式化为公众号要求的样式
8.4.2 场景二:开发团队协作自动化 💻
需求背景: 10人开发团队需要管理日常协作,包括代码审查、任务分配、进度跟踪等。
使用的Skills组合:
github- 代码仓库管理linear- 任务分配slack- 团队通知google-calendar- 会议安排
效果提升:
- 📊 PR审查时间:从2天降到4小时
- 🎯 任务分配效率:提升80%
- 💬 沟通成本:减少50%
- 📅 会议安排:自动化100%
安装命令:
bash
npx clawhub@latest install github linear-integration slack-bot google-workspace自动化工作流:
- 自动代码审查:每次PR提交自动进行基础代码检查
- 任务自动分配:根据团队成员工作量和专长智能分配任务
- 进度自动同步:每日自动生成项目进度报告并发送到Slack
- 会议自动安排:根据团队成员日历自动安排最佳会议时间
8.4.3 场景三:智能家居全自动化 🏠
需求背景: 根据天气、时间、位置自动控制家中所有设备,提升生活品质。
使用的Skills组合:
home-assistant- 智能家居控制weather-api- 天气查询location-tracker- 位置追踪automation-scheduler- 自动化调度
实现的智能场景:
- 🌅 早晨唤醒:早上7点自动打开窗帘、启动咖啡机
- 🌧️ 天气适应:下雨时自动关闭窗户
- 🚗 离家模式:离家10分钟自动关闭所有灯光和空调
- 🏠 回家预热:到家前5分钟自动打开空调和灯光
安装命令:
bash
npx clawhub@latest install home-assistant weather-api location-tracker automation-scheduler8.5 安全使用指南
⚠️ 重要:Skills虽然强大,但也存在安全风险。必须严格遵循安全原则。
8.5.1 核心安全原则
- 隔离运行环境:重要的OpenClaw实例建议运行在Docker或专用虚拟机中
- 严控权限范围:对高危Skill仅开放必要的工作目录/操作权限
- 优先官方认证:安装带"官方认证""高星标"的技能
- 安装前检查代码:查看技能代码确认无恶意逻辑
8.5.2 安全配置命令
权限控制:
bash
# 查看Skill的核心代码,确认无恶意逻辑
clawhub view file-system-manager
# 限制OpenClaw的系统资源使用
docker update --cpus=1 --memory=2g openclaw-2026
# 备份OpenClaw 配置,防止恶意修改
docker cp openclaw-2026:/root/.openclaw /root/openclaw-backup安全检查清单:
- ✅ 查看技能的GitHub仓库
- ✅ 检查技能的依赖项
- ✅ 阅读技能的权限要求
- ✅ 使用skill-scanner扫描恶意代码
- ✅ 在测试环境中先试用
8.5.3 故障排查
问题一:技能安装失败
bash
# 网络超时问题:检查服务器网络连接
ping github.com
# 配置国内镜像源(如遇网络问题)
npm config set registry https://registry.npmmirror.com问题二:技能加载失败
bash
# 查看技能加载状态
openclaw plugins list
# 重新加载技能
openclaw plugins load <skill-name>
# 更新所有技能
clawhub update --all
openclaw gateway restart问题三:技能执行无响应
bash
# 查看技能执行日志
openclaw logs --skill <skill-name>
# 检查权限配置
openclaw config get fs.allow-path8.6 Skills开发指南
💡 创建自定义Skills:如果现有的1715+个技能无法满足你的特殊需求,可以创建自己的技能。
8.6.1 创建自定义Skills
创建步骤:
- 创建技能文件夹:在
~/.openclaw/skills/中创建新文件夹 - 编写描述文件:创建
SKILL.md描述文件 - 添加脚本配置:编写必要的脚本和配置文件
- 测试技能功能:在本地测试技能是否正常工作
- 分享到社区:将技能贡献给社区
技能目录结构:
my-custom-skill/
├── SKILL.md # 技能描述文档
├── config.json # 配置文件
├── scripts/ # 执行脚本
│ └── main.js
└── README.md # 使用说明项目文件结构示例:

你的项目现在看起来应该是这样的:
my-project/
├─ src/
│ └─ test.py # 项目源码
├─ .claude/
│ ├─ skills/
│ │ └─ hello-world/
│ │ ├─ SKILL.md # Skill 定义(YAML + Instructions,机器可执行)
│ │ └─ README.md # Skill 说明(人类阅读,可选)
│ └─ config.yml # Claude 项目级配置(可选)
├─ .gitignore
└─ README.md # 项目整体说明Claude Code执行效果:
接下来我们在终端执行以下命令启动 Claude Code:
bash
claude输入任务:
帮我写1个计算用户折扣的函数Claude 会扫描已安装的 Skills,发现你的请求涉及 "Python 代码编写",匹配了 python-naming-standard。

它会根据 SKILL.md 中的要求,生成如下代码:
python
def _internal_get_discount(user_score):
# 计算逻辑...
return discount8.6.2 技能开发最佳实践
设计原则:
- 单一职责:每个技能只解决1个特定问题
- 接口简单:提供清晰简单的使用接口
- 错误处理:完善的错误处理和用户提示
- 文档完整:提供详细的使用文档和示例
示例技能模板:
javascript
// 简单技能示例
module.exports = {
name: "my-custom-skill",
description: "这是我的自定义技能",
version: "1.0.0",
async execute(params, context) {
try {
// 技能核心逻辑
const result = await doSomething(params);
return { success: true, data: result };
} catch (error) {
return { success: false, error: error.message };
}
}
};8.7 自定义Skills开发(原8.3节)
8.3.1 Skills开发基础
为什么要开发Skills:
满足个性化需求
- 官方Skills无法满足
- 特定业务场景
- 企业内部工具
学习和成长
- 深入理解OpenClaw
- 提升编程能力
- 贡献开源社区
商业价值
- 开发付费Skills
- 提供定制服务
- 建立个人品牌
开发前准备:
bash
# 1. 安装开发工具
npm install -g openclaw
# 2. 创建开发环境
openclaw dev init
# 3. 学习文档
openclaw docs
# 4. 查看示例
openclaw examples8.3.2 Skills文件格式(AgentSkills兼容)
基本格式:
OpenClaw使用兼容AgentSkills的Skills文件夹。每个Skills是1个包含SKILL.md的目录。
最小示例:
markdown
---
name: nano-banana-pro
description: Generate or edit images via Gemini 3 Pro Image
---
# Nano Banana Pro
这个Skills可以生成和编辑图片。
## 使用方法
发送:画一只可爱的猫完整示例:
markdown
---
name: gemini
description: Use Gemini CLI for coding assistance and Google search lookups.
homepage: https://github.com/example/gemini-skill
user-invocable: true
disable-model-invocation: false
metadata: {
"openclaw": {
"emoji": "♊️",
"requires": {
"bins": ["gemini"],
"env": ["GEMINI_API_KEY"]
},
"primaryEnv": "GEMINI_API_KEY",
"install": [
{
"id": "brew",
"kind": "brew",
"formula": "gemini-cli",
"bins": ["gemini"],
"label": "Install Gemini CLI (brew)"
}
]
}
}
---
# Gemini Skills
使用Gemini CLI进行编程辅助和Google搜索。
## 功能
- 代码生成
- 问题解答
- 网络搜索
## 使用方法
发送:用Gemini搜索最新的AI新闻Frontmatter字段说明:
| 字段 | 必填 | 说明 |
|---|---|---|
name | ✅ | Skills名称(唯一标识) |
description | ✅ | Skills描述 |
homepage | ❌ | 项目主页URL |
user-invocable | ❌ | 是否作为斜杠命令暴露(默认true) |
disable-model-invocation | ❌ | 是否从模型提示词中排除(默认false) |
command-dispatch | ❌ | 命令调度模式(tool=直接调度到工具) |
command-tool | ❌ | 要调用的工具名称 |
command-arg-mode | ❌ | 参数模式(raw=原始字符串) |
metadata | ❌ | 元数据(单行JSON对象) |
注意事项:
⚠️ 重要:
1. 内嵌智能体的解析器仅支持单行frontmatter键
2. metadata必须是单行JSON对象
3. 在说明中使用{baseDir}引用Skills文件夹路径8.3.3 Skills门控(加载时过滤)
什么是门控:
门控是指在加载时根据条件过滤Skills,只加载满足条件的Skills。
门控配置:
通过metadata.openclaw配置门控条件:
markdown
---
name: nano-banana-pro
description: Generate or edit images
metadata: {
"openclaw": {
"requires": {
"bins": ["uv"],
"env": ["GEMINI_API_KEY"],
"config": ["browser.enabled"]
},
"primaryEnv": "GEMINI_API_KEY",
"os": ["darwin", "linux"]
}
}
---门控字段说明:
| 字段 | 说明 | 示例 |
|---|---|---|
always | 始终包含(跳过其他门控) | "always": true |
os | 限制操作系统 | "os": ["darwin", "linux"] |
requires.bins | 必需的二进制文件(全部) | "bins": ["uv", "python"] |
requires.anyBins | 必需的二进制文件(任一) | "anyBins": ["npm", "yarn"] |
requires.env | 必需的环境变量 | "env": ["API_KEY"] |
requires.config | 必需的配置项 | "config": ["browser.enabled"] |
primaryEnv | 主要环境变量名 | "primaryEnv": "GEMINI_API_KEY" |
门控示例:
markdown
# 示例1:仅macOS可用
metadata: {
"openclaw": {
"os": ["darwin"]
}
}
# 示例2:需要特定工具
metadata: {
"openclaw": {
"requires": {
"bins": ["ffmpeg", "imagemagick"]
}
}
}
# 示例3:需要API 密钥
metadata: {
"openclaw": {
"requires": {
"env": ["OPENAI_API_KEY"]
},
"primaryEnv": "OPENAI_API_KEY"
}
}
# 示例4:需要配置启用
metadata: {
"openclaw": {
"requires": {
"config": ["features.experimental"]
}
}
}8.3.4 Skills 安装器配置
什么是安装器:
安装器定义了如何安装Skills所需的依赖(二进制文件、包等)。
支持的安装器类型:
- Homebrew(macOS/Linux)
- Node包管理器(npm/pnpm/yarn/bun)
- Go
- UV(Python)
- Download(直接下载)
安装器示例:
markdown
---
name: gemini
metadata: {
"openclaw": {
"install": [
{
"id": "brew",
"kind": "brew",
"formula": "gemini-cli",
"bins": ["gemini"],
"label": "Install Gemini CLI (brew)",
"os": ["darwin", "linux"]
},
{
"id": "npm",
"kind": "node",
"package": "gemini-cli",
"bins": ["gemini"],
"label": "Install Gemini CLI (npm)",
"global": true
}
]
}
}
---安装器字段说明:
| 字段 | 说明 |
|---|---|
id | 安装器唯一标识 |
kind | 安装器类型(brew/node/go/uv/download) |
formula | Homebrew formula名称 |
package | npm包名称 |
bins | 安装后的二进制文件列表 |
label | 显示给用户的标签 |
os | 支持的操作系统 |
global | 是否全局安装(Node) |
Download安装器:
markdown
metadata: {
"openclaw": {
"install": [
{
"id": "download-mac",
"kind": "download",
"url": "https://example.com/tool-mac.tar.gz",
"archive": "tar.gz",
"extract": true,
"stripComponents": 1,
"targetDir": "~/.openclaw/tools/my-tool",
"bins": ["my-tool"],
"label": "Download for macOS",
"os": ["darwin"]
}
]
}
}安装器选择逻辑:
1. 如果列出多个安装器,Gateway会选择首选选项:
- 优先选择brew(如果可用)
- 其次选择node
- 最后选择其他
2. 如果所有安装器都是download类型:
- OpenClaw会列出每个条目
- 让用户选择适合的构件
3. Node安装遵循配置:
- skills.install.nodeManager(默认npm)
- 选项:npm/pnpm/yarn/bun8.3.5 项目结构
标准Skills目录结构:
my-skill/
├── SKILL.md # Skills定义(必需)
├── README.md # 说明文档
├── tools/ # 工具脚本
│ ├── setup.sh # 安装脚本
│ └── cleanup.sh # 清理脚本
├── examples/ # 示例
│ └── example.md
└── assets/ # 资源文件
└── icon.pngSKILL.md引用文件:
在SKILL.md中可以使用{baseDir}引用Skills文件夹路径:
markdown
---
name: my-skill
description: My custom skill
---
# My Skill
## 安装
运行安装脚本:
```bash
bash {baseDir}/tools/setup.sh示例
查看示例:{baseDir}/examples/example.md
实战案例1:开发1个简单的Skills
typescript
// src/index.ts
import { Skill, SkillConfig } from '@openclaw/sdk';
export default class HelloSkill extends Skill {
config: SkillConfig = {
name: 'hello-skill',
version: '1.0.0',
description: '1个简单的问候Skills',
author: '你的名字',
keywords: ['问候', '示例'],
permissions: []
};
async onMessage(message: string) {
// 检测是否包含"你好"
if (message.includes('你好')) {
return '你好!我是Hello Skill,很高兴认识你!😊';
}
// 检测是否包含"再见"
if (message.includes('再见')) {
return '再见!期待下次见面!👋';
}
return null; // 不处理其他消息
}
}测试Skills:
bash
# 启动开发服务器
npm run dev
# 在OpenClaw中测试
你:你好
OpenClaw:你好!我是Hello Skill,很高兴认识你!😊实战案例2:封装第三方API
typescript
// src/index.ts
import { Skill, SkillConfig } from '@openclaw/sdk';
import axios from 'axios';
export default class WeatherSkill extends Skill {
config: SkillConfig = {
name: 'weather-skill',
version: '1.0.0',
description: '天气查询Skills',
author: '你的名字',
keywords: ['天气', 'API'],
permissions: ['network']
};
private apiKey = 'your-api-key';
private apiUrl = 'https://api.weather.com';
async onMessage(message: string) {
// 检测是否是天气查询
const match = message.match(/(.+)的天气/);
if (!match) return null;
const city = match[1];
try {
// 调用天气API
const response = await axios.get(`${this.apiUrl}/weather`, {
params: {
city: city,
key: this.apiKey
}
});
const weather = response.data;
return `${city}的天气:
🌡️ 温度:${weather.temp}°C
☁️ 天气:${weather.condition}
💨 风力:${weather.wind}
💧 湿度:${weather.humidity}%`;
} catch (error) {
return `抱歉,查询${city}的天气失败了。`;
}
}
}实战案例3:复杂Skills开发
typescript
// src/index.ts
import { Skill, SkillConfig } from '@openclaw/sdk';
import { FileManager } from './utils/file';
import { NotionAPI } from './utils/notion';
export default class NoteSkill extends Skill {
config: SkillConfig = {
name: 'note-skill',
version: '1.0.0',
description: '笔记管理Skills',
author: '你的名字',
keywords: ['笔记', 'Notion'],
permissions: ['file:read', 'file:write', 'network']
};
private fileManager: FileManager;
private notionAPI: NotionAPI;
async onInit() {
// 初始化文件管理器
this.fileManager = new FileManager();
// 初始化Notion API
this.notionAPI = new NotionAPI({
token: process.env.NOTION_TOKEN
});
}
async onMessage(message: string) {
// 保存笔记
if (message.startsWith('保存笔记:')) {
const content = message.replace('保存笔记:', '');
return await this.saveNote(content);
}
// 搜索笔记
if (message.startsWith('搜索笔记:')) {
const keyword = message.replace('搜索笔记:', '');
return await this.searchNote(keyword);
}
// 同步到Notion
if (message === '同步到Notion') {
return await this.syncToNotion();
}
return null;
}
private async saveNote(content: string) {
try {
// 保存到本地
await this.fileManager.save('notes.md', content);
return '笔记已保存到本地 ✅';
} catch (error) {
return '保存失败 ❌';
}
}
private async searchNote(keyword: string) {
try {
// 搜索本地笔记
const results = await this.fileManager.search(keyword);
return `找到${results.length}条笔记:\n${results.join('\n')}`;
} catch (error) {
return '搜索失败 ❌';
}
}
private async syncToNotion() {
try {
// 读取本地笔记
const notes = await this.fileManager.readAll();
// 同步到Notion
for (const note of notes) {
await this.notionAPI.createPage({
title: note.title,
content: note.content
});
}
return `已同步${notes.length}条笔记到Notion ✅`;
} catch (error) {
return '同步失败 ❌';
}
}
}8.3.4 调试和测试技巧
调试方法:
1. 使用console.log
typescript
async onMessage(message: string) {
console.log('收到消息:', message);
// 你的逻辑
const result = await this.process(message);
console.log('处理结果:', result);
return result;
}2. 使用调试器
bash
# 启动调试模式
npm run dev:debug
# 在VSCode中设置断点
# 按F5开始调试3. 单元测试
typescript
// tests/index.test.ts
import { describe, it, expect } from 'vitest';
import HelloSkill from '../src/index';
describe('HelloSkill', () => {
it('should respond to hello', async () => {
const skill = new HelloSkill();
const response = await skill.onMessage('你好');
expect(response).toContain('你好');
});
it('should respond to goodbye', async () => {
const skill = new HelloSkill();
const response = await skill.onMessage('再见');
expect(response).toContain('再见');
});
});运行测试:
bash
# 运行所有测试
npm test
# 运行单个测试
npm test -- index.test.ts
# 查看测试覆盖率
npm run test:coverage8.3.5 发布到ClawHub
发布前检查:
bash
# 1. 运行测试
npm test
# 2. 检查代码规范
npm run lint
# 3. 构建生产版本
npm run build
# 4. 检查包大小
npm run size发布步骤:
bash
# 1. 登录ClawHub
openclaw login
# 2. 发布Skills
openclaw skill publish
# 输出示例:
正在发布 hello-skill...
- 检查配置... ✅
- 运行测试... ✅
- 构建代码... ✅
- 上传文件... ✅
- 生成文档... ✅
发布成功!✅
Skill信息:
- 名称:hello-skill
- 版本:v1.0.0
- 链接:https://clawhub.ai/skills/hello-skill
现在其他用户可以安装你的Skill了!发布后维护:
bash
# 更新Skills
openclaw skill update
# 查看下载统计
openclaw skill stats
# 查看用户反馈
openclaw skill feedback8.4 Skills管理技巧
8.4.1 配置覆盖(~/.openclaw/openclaw.json)
配置Skills:
内置/托管Skills可以通过配置文件进行切换和配置:
json
{
"skills": {
"entries": {
"nano-banana-pro": {
"enabled": true,
"apiKey": "GEMINI_KEY_HERE",
"env": {
"GEMINI_API_KEY": "GEMINI_KEY_HERE"
},
"config": {
"endpoint": "https://example.invalid",
"model": "nano-pro"
}
},
"peekaboo": {
"enabled": true
},
"sag": {
"enabled": false
}
}
}
}配置规则:
1. 配置键默认匹配Skills名称
2. 如果Skills名称包含连字符,用引号括起键名
3. 如果Skills定义了metadata.openclaw.skillKey,使用该键
示例:
- Skills名称:file-search
- 配置键:"file-search"(需要引号)配置字段说明:
| 字段 | 说明 | 示例 |
|---|---|---|
enabled | 启用/禁用Skills | true / false |
apiKey | API 密钥(便捷字段) | "your-api-key" |
env | 环境变量 | {"KEY": "value"} |
config | 自定义配置 | {"model": "gpt-4"} |
环境变量注入规则:
1. env中的变量仅在进程中尚未设置时注入
2. apiKey为声明primaryEnv的Skills提供便捷配置
3. config用于自定义单Skills字段
4. 环境变量在智能体运行时注入,运行结束后恢复示例配置:
json
{
"skills": {
"entries": {
// 配置Gemini Skills
"gemini": {
"enabled": true,
"apiKey": "your-gemini-key",
"config": {
"model": "gemini-pro",
"temperature": 0.7
}
},
// 配置Banana绘图
"nano-banana-pro": {
"enabled": true,
"env": {
"GEMINI_API_KEY": "your-key",
"BANANA_ENDPOINT": "https://api.banana.dev"
}
},
// 禁用某个Skills
"unwanted-skill": {
"enabled": false
}
},
// 仅允许特定内置Skills(可选)
"allowBundled": [
"file-search",
"calendar-sync",
"web-clipper"
]
}
}allowBundled白名单:
json
{
"skills": {
"allowBundled": [
"file-search",
"note-sync"
]
}
}说明:
- 如果设置了
allowBundled,只有列表中的内置Skills才有资格 - 托管/工作区Skills不受影响
- 用于限制内置Skills的加载
8.4.2 Skills监视器(自动刷新)
什么是Skills监视器:
Skills监视器会监视Skills文件夹,当SKILL.md文件更改时自动更新Skills快照。
配置监视器:
json
{
"skills": {
"load": {
"watch": true, // 启用监视器(默认true)
"watchDebounceMs": 250 // 防抖延迟(毫秒)
}
}
}工作原理:
1. OpenClaw在会话开始时对有资格的Skills进行快照
2. 监视器监视Skills文件夹的变化
3. 当SKILL.md更改时,刷新Skills列表
4. 刷新后的列表在下1个智能体轮次生效使用场景:
✅ 开发Skills时实时测试
✅ 修改Skills 配置后立即生效
✅ 添加新Skills后自动加载8.4.3 安全注意事项
⚠️ 重要安全提醒:
1. 将第三方Skills视为不受信任的代码
2. 启用前请仔细阅读Skills内容
3. 对于不受信任的输入和高风险工具,使用沙箱隔离
4. 保护API 密钥,不要泄露到日志中安全最佳实践:
1. 审查Skills代码
bash
# 安装前查看Skills内容
cat ~/.openclaw/skills/my-skill/SKILL.md
# 检查Skills权限要求
grep "requires" ~/.openclaw/skills/my-skill/SKILL.md2. 使用沙箱隔离
json
{
"agents": {
"defaults": {
"sandbox": {
"enabled": true,
"docker": {
"image": "openclaw/sandbox:latest"
}
}
}
}
}3. 保护API 密钥
json
{
"skills": {
"entries": {
"my-skill": {
"apiKey": "your-secret-key", // ✅ 通过配置文件
"env": {
"API_KEY": "your-key" // ✅ 通过环境变量
}
}
}
}
}❌ 不要:
markdown
---
name: my-skill
description: My skill with API key: sk-xxx7890 # ❌ 不要在SKILL.md中暴露密钥
---4. 限制Skills权限
json
{
"skills": {
"entries": {
"untrusted-skill": {
"enabled": true,
"config": {
"allowedPaths": ["/safe/path"], // 限制文件访问
"allowedCommands": ["ls", "cat"] // 限制命令执行
}
}
}
}
}5. 定期审计
bash
# 列出所有已安装的Skills
openclaw skill list
# 检查Skills 配置
cat ~/.openclaw/openclaw.json | grep -A 10 "skills"
# 查看Skills日志
openclaw logs --skill my-skill8.4.4 性能优化
Token影响(Skills列表):
当Skills有资格时,OpenClaw将可用Skills的紧凑XML列表注入到系统提示词中。
成本计算:
基础开销(仅当≥1个Skills时):195字符
每个Skills:97字符 + XML转义的字段长度
- name(转义后)
- description(转义后)
- location(转义后)
公式:
total = 195 + Σ (97 + len(name) + len(description) + len(location))
Token估算(OpenAI风格):
~4字符/token,所以每个Skills ≈ 24 token + 字段长度优化建议:
1. 保持Skills描述简洁
❌ 差:This is a very detailed and comprehensive skill that can do many things including...
✅ 好:Generate images via Gemini API
2. 使用简短的Skills名称
❌ 差:super-advanced-image-generation-tool
✅ 好:nano-banana-pro
3. 禁用不需要的Skills
{
"skills": {
"entries": {
"unused-skill": { "enabled": false }
}
}
}
4. 使用allowBundled限制内置Skills
{
"skills": {
"allowBundled": ["file-search", "calendar-sync"]
}
}
**性能监控**:
```bash
# 查看Skills加载时间
openclaw skill perf
# 输出示例:
Skills加载统计:
- 总Skills数:15
- 加载时间:120ms
- Token消耗:约450 tokens
- 内存占用:2.3MB8.4.5 多智能体Skills管理
单智能体 vs 共享Skills:
单智能体Skills:
- 位置:<workspace>/skills
- 作用域:仅该智能体可用
- 用途:项目特定功能
共享Skills:
- 位置:~/.openclaw/skills
- 作用域:所有智能体可见
- 用途:通用功能多智能体配置示例:
json
{
"agents": {
"list": [
{
"id": "main",
"workspace": "/home/user/main-agent",
"skills": {
"entries": {
"file-search": { "enabled": true }
}
}
},
{
"id": "assistant",
"workspace": "/home/user/assistant-agent",
"skills": {
"entries": {
"calendar-sync": { "enabled": true }
}
}
}
]
}
}共享Skills文件夹:
json
{
"skills": {
"load": {
"extraDirs": [
"/shared/team-skills", // 团队共享
"/shared/company-skills" // 公司共享
]
}
}
}8.4.6 远程macOS节点(Linux Gateway)
跨平台Skills支持:
如果Gateway运行在Linux上但连接了macOS节点,OpenClaw可以将仅限macOS的Skills视为有资格。
配置示例:
json
{
"nodes": {
"macos-node": {
"host": "192.168.1.100",
"platform": "darwin",
"allowSystemRun": true
}
}
}工作原理:
1. Linux Gateway检测到macOS节点
2. 检查节点上的二进制文件
3. 将macOS专用Skills标记为可用
4. 通过nodes工具执行Skills注意事项:
⚠️ 如果macOS节点离线:
- Skills仍然可见
- 调用可能失败
- 直到节点重新连接8.4.7 Skills备份和恢复
备份Skills:
bash
# 备份所有Skills
openclaw skill backup
# 备份到指定位置
openclaw skill backup --output ~/backups/skills.zip
# 输出示例:
正在备份Skills...
- file-search ✅
- note-sync ✅
- calendar-sync ✅
备份完成!
文件:~/backups/skills-2026-02-11.zip
大小:15.3MB恢复Skills:
bash
# 从备份恢复
openclaw skill restore ~/backups/skills-2026-02-11.zip
# 输出示例:
正在恢复Skills...
- file-search ✅
- note-sync ✅
- calendar-sync ✅
恢复完成!
共恢复3个Skills手动备份:
bash
# 备份Skills文件夹
cp -r ~/.openclaw/skills ~/backups/skills-$(date +%Y%m%d)
# 备份配置文件
cp ~/.openclaw/openclaw.json ~/backups/openclaw-$(date +%Y%m%d).json8.4.8 常见问题排查
问题1:Skill无法加载
症状:Skill安装成功但无法使用
排查步骤:
1. 检查Skill是否启用
openclaw skill status file-search
2. 查看错误日志
openclaw skill logs file-search
3. 检查门控条件
cat ~/.openclaw/skills/file-search/SKILL.md | grep "requires"
4. 重新安装
openclaw skill reinstall file-search问题2:Skill响应慢
症状:Skill执行时间过长
排查步骤:
1. 查看性能报告
openclaw skill perf file-search
2. 检查网络连接
ping api.example.com
3. 清理缓存
openclaw skill cache clear file-search
4. 检查依赖
which uv python问题3:Skill配置错误
症状:Skill功能异常
排查步骤:
1. 检查配置文件
openclaw skill config show file-search
2. 验证环境变量
echo $GEMINI_API_KEY
3. 重置配置
openclaw skill config reset file-search
4. 查看文档
openclaw skill docs file-search问题4:Skills冲突
症状:多个Skills响应同一命令
排查步骤:
1. 检测冲突
openclaw skill check
2. 查看优先级
openclaw skill priority
3. 禁用冲突的Skills
openclaw config set skills.entries.conflicting-skill.enabled false
4. 修改命令关键词
编辑SKILL.md,修改触发词📝 本章小结
本章学习了OpenClaw的Skills扩展功能:
核心内容
ClawHub技能市场
- ClawHub介绍
- 技能分类和搜索
- 技能评价体系
- Skills 安装和管理
必装Skills推荐
- 文件管理类(3个)
- 知识管理类(3个)
- 日程管理类(2个)
- 自动化类(2个)
- 工具类(2个)
自定义Skills开发
- Skills开发基础
- 开发环境搭建
- Skills结构详解
- API接口设计
- 调试和测试
- 发布到ClawHub
Skills管理技巧
- 安装和卸载
- 配置管理
- 冲突解决
- 性能优化
- 备份和恢复
- 问题排查
实战技巧
- ✅ 选择高质量Skills
- ✅ 合理配置Skills
- ✅ 定期更新Skills
- ✅ 监控Skills性能
- ✅ 及时备份配置
下一步
- 学习第9章:多平台集成
- 掌握飞书、企微、钉钉、QQ接入
- 构建多平台AI助手
🎯 实战练习
练习1:安装必备Skills
- 安装file-search、calendar-sync、web-clipper
- 配置Skills参数
- 测试Skills功能
练习2:开发简单Skills
- 创建1个问候Skills
- 实现基本功能
- 测试和调试
练习3:Skills性能优化
- 监控Skills性能
- 找出性能瓶颈
- 优化和改进
💡 常见问题
Q1:如何选择合适的Skills? A:看评分、下载量、更新频率和文档质量。
Q2:Skills冲突怎么办? A:使用openclaw skill check检测并自动修复。
Q3:如何开发自己的Skills? A:参考官方文档和示例代码,从简单开始。
Q4:Skills性能差怎么办? A:查看性能报告,优化代码,清理缓存。
Q5:Skills数据如何备份? A:使用openclaw skill backup定期备份。
下一章预告:第9章将学习多平台集成,包括飞书、企业微信、钉钉、QQ Bot配置等内容。飞书作为最现代化的平台,支持WebSocket长连接、流式输出等高级功能。
8.8 百度千帆Skills生态
8.8.1 为什么选择百度千帆Skills?
核心优势:
✅ 官方支持:百度官方维护,稳定可靠
✅ 中文优化:针对中文场景深度优化
✅ 免费使用:大部分Skills免费
✅ 易于集成:一键安装,无需复杂配置
✅ 生态完善:覆盖搜索、学术、办公等场景与其他Skills对比:
| 特性 | 百度千帆Skills | 国际Skills | 社区Skills |
|---|---|---|---|
| 中文支持 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| 稳定性 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
| 免费程度 | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐ |
| 文档质量 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
| 更新频率 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
8.8.2 百度搜索系列Skills
1. 百度搜索(Baidu Search)
功能介绍:
- 实时网络搜索
- 智能结果筛选
- 自动摘要生成
- 支持多种搜索类型
安装方法:
bash
# 云端部署自带,无需安装
# 本地部署需要安装
clawhub install baidu-search适用场景:
- 实时信息查询
- 行业动态追踪
- 竞品分析
- 内容创作素材收集
2. 百度百科(Baidu Baike)
功能介绍:
- 权威知识查询
- 概念解释
- 历史背景
- 相关词条推荐
适用场景:
- 学习新概念
- 写作背景调研
- 知识科普
- 术语解释
3. 百度学术(Baidu Scholar)
功能介绍:
- 学术论文搜索
- 引用分析
- 作者查询
- 期刊信息
适用场景:
- 文献调研
- 论文阅读
- 学术研究
- 毕业论文写作
8.8.3 百度办公系列Skills
4. 百度智能PPT(Baidu Smart PPT)
功能介绍:
- 自动生成PPT
- 智能排版
- 配图推荐
- 模板选择
适用场景:
- 产品介绍
- 工作汇报
- 培训教材
- 商业提案
8.8.4 获取百度API Key
步骤1:注册百度智能云账号
- 访问:https://cloud.baidu.com
- 点击"注册"
- 填写手机号和验证码
- 完成实名认证
步骤2:开通千帆大模型服务
- 进入控制台
- 搜索"千帆大模型"
- 点击"立即开通"
- 同意服务协议
步骤3:获取API Key
- 进入"访问管理"
- 点击"安全认证"
- 选择"Access Key"
- 点击"创建Access Key"
- 保存Access Key ID和Secret Access Key

8.8.5 百度千帆MCP广场
什么是MCP广场?
MCP(Model Context Protocol)广场是百度千帆推出的应用连接平台,提供丰富的MCP Server,让OpenClaw可以连接各种应用和服务。
访问地址:https://cloud.baidu.com/product/qianfan_mcp.html
支持的应用:
- 办公协作:飞书、钉钉、企业微信
- 知识管理:Notion、语雀、印象笔记
- 开发工具:GitHub、GitLab、Jenkins
- 数据分析:Tableau、Power BI
8.8.6 效率提升数据
使用百度Skills前后对比:
| 任务类型 | 使用前 | 使用后 | 节省时间 | 提升比例 |
|---|---|---|---|---|
| 信息搜索 | 30分钟 | 2分钟 | 28分钟 | 93.3% |
| 概念查询 | 15分钟 | 1分钟 | 14分钟 | 93.3% |
| 论文检索 | 60分钟 | 5分钟 | 55分钟 | 91.7% |
| PPT制作 | 120分钟 | 10分钟 | 110分钟 | 91.7% |
| 平均 | 225分钟 | 18分钟 | 207分钟 | 92% |
相关资源
- 百度千帆官网:https://cloud.baidu.com/product/qianfan.html
- 百度千帆Skills文档:https://cloud.baidu.com/doc/qianfan/s/Mmlda41a2
- 百度千帆MCP广场:https://cloud.baidu.com/product/qianfan_mcp.html
- API Key获取:https://console.bce.baidu.com/iam/#/iam/apikey/list
8.9 API服务Skills
💡 本节目标:学会将第三方API服务封装为Skills,实现AI绘图、数据同步、视频生成、语音合成等功能。
8.9.1 为什么需要API服务Skills
使用场景:
- 🎨 AI绘图:Banana、Midjourney、DALL-E
- 📝 数据同步:Notion、Airtable、语雀
- 🎬 视频生成:SeeDream、可灵(Kling)
- 🔊 语音合成:海螺TTS、MiniMax Music
- 🌐 Web服务:各类API接口
优势:
- 统一管理:所有API都是Skills
- 易于使用:一条命令安装
- 自动更新:跟随Skills更新
- 社区共享:开发者贡献
8.9.2 AI绘图Skills:Banana
什么是Banana
Banana介绍:
- Nano Banana Pro是一款AI绘图工具
- 支持文生图、图生图、图片编辑
- 质量高、速度快、价格便宜
为什么选择Banana:
- ✅ 质量优秀:媲美Midjourney
- ✅ 速度快:10秒出图
- ✅ 价格低:$0.02/张
- ✅ 易集成:API简单易用
安装和配置
bash
# 安装Banana Skills
openclaw skill install banana-draw
# 配置API Key
openclaw config set banana.apiKey "your-api-key"
# 测试
你:用Banana画一只可爱的猫
OpenClaw:正在生成图片...
[图片]实战案例
案例1:手机上画图
场景:在飞书上用OpenClaw画图
步骤:
1. 打开飞书
2. 找到OpenClaw
3. 发送:画1个赛博朋克风格的城市
4. 等待10秒
5. 收到图片
优势:
- 无需打开电脑
- 随时随地画图
- 自动保存到相册案例2:批量生成图片
你:帮我生成3张图片:
1. 科技感的办公室
2. 未来城市
3. AI机器人
OpenClaw:正在生成...
[图片1]
[图片2]
[图片3]
全部完成 ✅提示词优化技巧
基本原则:
- 描述清晰具体
- 包含风格关键词
- 指定画面元素
- 控制画面比例
优秀提示词示例:
❌ 差:画一只猫
✅ 好:一只可爱的橘猫,坐在窗台上,阳光洒在身上,温暖的色调,高清摄影,景深效果
❌ 差:画个城市
✅ 好:赛博朋克风格的未来城市,霓虹灯闪烁,高楼林立,夜景,雨后街道,电影级画质,广角镜头
风格关键词:
- 写实风格:photorealistic, 4K, detailed
- 卡通风格:cartoon, cute, colorful
- 赛博朋克:cyberpunk, neon, futuristic
- 水彩画:watercolor, soft, artistic
- 油画:oil painting, classical, textured
8.9.3 数据同步Skills:Notion
Notion介绍
Notion的优势:
- ✅ 功能强大:笔记、数据库、项目管理
- ✅ 跨平台:Web、Mac、Windows、iOS、Android
- ✅ 协作友好:团队共享、权限管理
- ✅ API完善:易于集成
安装和配置
bash
# 安装Notion Skills
openclaw skill install notion-sync
# 配置Token
openclaw config set notion.token "your-notion-token"
# 配置Database ID
openclaw config set notion.databaseId "your-database-id"
# 测试
你:把这段内容保存到Notion
OpenClaw:已保存到Notion ✅实战案例
案例1:笔记同步
你:保存这段笔记到Notion:
[笔记内容]
OpenClaw:已保存 ✅
标题:[自动生成]
标签:#笔记
链接:https://notion.so/...案例2:任务管理
你:添加任务:完成项目报告
截止日期:明天
优先级:高
OpenClaw:任务已添加 ✅案例3:知识库构建
你:把这篇文章保存到知识库
[文章链接]
OpenClaw:正在处理...
- 提取内容 ✅
- 生成摘要 ✅
- 添加标签 ✅
- 保存到Notion ✅
完成!8.9.4 视频生成Skills
视频生成工具介绍
SeeDream:
- 文生视频
- 图生视频
- 视频编辑
- 价格:$0.1/秒
可灵(Kling):
- 国产视频生成
- 质量优秀
- 价格实惠
- 支持中文
安装和配置
bash
# 安装视频生成Skills
openclaw skill install video-gen
# 配置SeeDream
openclaw config set seedream.apiKey "your-api-key"
# 配置可灵
openclaw config set kling.apiKey "your-api-key"实战案例
你:生成1个5秒的视频:
海浪拍打沙滩,日落时分
OpenClaw:正在生成...
预计时间:2分钟
[视频生成完成]
时长:5秒
分辨率:1080p
大小:15MB8.9.5 语音合成Skills
语音合成工具
海螺TTS:
- 多种音色
- 自然流畅
- 支持中英文
- 价格:$0.01/千字
MiniMax Music:
- AI音乐生成
- 多种风格
- 高质量输出
安装和配置
bash
# 安装TTS Skills
openclaw skill install tts
# 配置海螺TTS
openclaw config set heluo.apiKey "your-api-key"
# 测试
你:把这段文字转成语音:
[文字内容]
OpenClaw:正在生成...
[语音文件]8.9.6 自定义API封装
如果ClawHub上没有你需要的API Skills,可以自己封装:
typescript
// src/custom-api-skill.ts
import { Skill } from '@openclaw/sdk';
import axios from 'axios';
export default class CustomAPISkill extends Skill {
private apiKey = process.env.CUSTOM_API_KEY;
private apiUrl = 'https://api.example.com/v1';
async onMessage(message: string) {
// 检测API请求
const match = message.match(/调用API:(.+)/);
if (!match) return null;
const params = match[1];
try {
// 调用API
const response = await axios.post(
`${this.apiUrl}/endpoint`,
{ params },
{
headers: {
'Authorization': `Bearer ${this.apiKey}`
}
}
);
return `API调用成功:${response.data}`;
} catch (error) {
return '调用失败,请稍后重试';
}
}
}8.9.7 成本对比
AI绘图成本对比:
| 工具 | 价格 | 质量 | 速度 |
|---|---|---|---|
| Banana | $0.02 | ⭐⭐⭐⭐ | 10秒 |
| Midjourney | $0.08 | ⭐⭐⭐⭐⭐ | 30秒 |
| DALL-E | $0.04 | ⭐⭐⭐⭐ | 15秒 |
| Stable Diffusion | 免费 | ⭐⭐⭐ | 20秒 |
语音合成成本对比:
| 工具 | 价格 | 质量 | 语言支持 |
|---|---|---|---|
| 海螺TTS | $0.01/千字 | ⭐⭐⭐⭐ | 中英文 |
| Azure TTS | $0.016/千字 | ⭐⭐⭐⭐⭐ | 多语言 |
| Google TTS | $0.016/千字 | ⭐⭐⭐⭐ | 多语言 |
8.9.8 最佳实践
1. API Key管理
bash
# 使用环境变量
export BANANA_API_KEY="your-key"
export NOTION_TOKEN="your-token"
# 或使用配置文件
openclaw config set api.keys '{
"banana": "your-key",
"notion": "your-token"
}'2. 错误处理
typescript
try {
const result = await callAPI();
return result;
} catch (error) {
if (error.code === 'RATE_LIMIT') {
return '请求过于频繁,请稍后重试';
}
return '调用失败,请检查配置';
}3. 成本控制
- 设置每日调用上限
- 使用缓存减少重复调用
- 选择性价比高的服务
- 监控API使用量
4. 安全建议
- 不要在代码中硬编码API Key
- 定期更换API Key
- 使用环境变量或配置文件
- 限制API权限范围
8.10 常用工具安装案例
💡 实战指南:OpenClaw的Skills系统依赖一些外部工具,本节介绍两个常用工具的完整安装过程。
8.10.1 1Password CLI安装(密码管理)
工具简介: 1Password CLI (op) 是1Password的命令行工具,让OpenClaw能够安全地访问和管理你的密码库中的凭证、API 密钥等敏感信息。
使用场景:
- 安全存储API 密钥
- 自动填充登录信息
- 团队密码共享
- CI/CD流程中的密钥管理
安装步骤:
bash
# macOS安装(推荐使用Homebrew)
brew install --cask 1password-cli
# 验证安装
which op
# 输出:/usr/local/bin/op
op --version
# 输出:2.32.1配置使用:
启用桌面应用集成:
- 打开1Password桌面应用
- 进入设置 → 开发者
- 启用"与1Password CLI集成"
登录账户:
bash
# 登录1Password账户
op signin
# 或指定账户域名
op signin my.1password.com- 在OpenClaw中使用:
bash
# 获取密码
op item get "GitHub" --fields password
# 获取API 密钥
op item get "OpenAI API" --fields credential
# 列出所有项目
op item listOpenClaw集成示例:
你:从1Password获取GitHub的API 密钥
OpenClaw:正在获取...
✅ 已获取GitHub API 密钥:ghp_xxxxxxxxxxxx
你:用这个密钥创建一个新的GitHub仓库
OpenClaw:好的,正在创建...
✅ 仓库创建成功!安全提示:
- ⚠️ 不要在代码中硬编码密码
- ✅ 使用1Password CLI安全管理所有凭证
- ✅ 定期更换API 密钥
- ✅ 为不同项目使用不同的凭证
8.10.2 camsnap安装(摄像头捕获)
工具简介: camsnap是一个用于捕获RTSP/ONVIF摄像头画面的命令行工具,让OpenClaw能够获取网络摄像头的实时画面或录制视频片段。
使用场景:
- 智能家居监控
- 安防系统集成
- 自动化截图和录像
- 视频分析和处理
系统要求:
- macOS(Apple Silicon或Intel)
- Homebrew包管理器
- 网络摄像头(支持RTSP/ONVIF协议)
安装步骤:
步骤1:检查系统架构
bash
# 检查CPU架构
uname -m
# 输出:arm64(Apple Silicon)或 x86_64(Intel)步骤2:确保使用ARM64版本的Homebrew(Apple Silicon Mac)
如果你的Mac是Apple Silicon(M1/M2/M3芯片),需要确保安装了ARM64版本的Homebrew:
bash
# 检查当前brew位置
which brew
# 应该输出:/opt/homebrew/bin/brew(ARM64版本)
# 如果输出:/usr/local/bin/brew(Intel版本),需要安装ARM64版本
# 安装ARM64版本的Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 配置shell环境(zsh)
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
eval "$(/opt/homebrew/bin/brew shellenv)"
# 验证brew版本
brew --version
which brew
# 应该输出:/opt/homebrew/bin/brew步骤3:安装camsnap
bash
# 添加tap源
brew tap steipete/tap
# 安装camsnap
brew install camsnap
# 验证安装
which camsnap
# 输出:/opt/homebrew/bin/camsnap
camsnap --version
# 输出:0.2.0步骤4:创建符号链接(可选,解决兼容性问题)
如果OpenClaw无法找到camsnap,可以创建符号链接:
bash
# 创建符号链接到/usr/local/bin
sudo ln -sf /opt/homebrew/bin/camsnap /usr/local/bin/camsnap
# 验证符号链接
ls -la /usr/local/bin/camsnap
# 输出:lrwxr-xr-x@ 1 root wheel 25 Feb 13 14:47 /usr/local/bin/camsnap -> /opt/homebrew/bin/camsnap
# 测试
/usr/local/bin/camsnap --version
# 输出:0.2.0使用示例:
bash
# 捕获单帧画面
camsnap --url rtsp://192.168.1.100:554/stream --output snapshot.jpg
# 录制视频片段(10秒)
camsnap --url rtsp://192.168.1.100:554/stream --duration 10 --output video.mp4
# 指定分辨率
camsnap --url rtsp://192.168.1.100:554/stream --width 1920 --height 1080 --output hd.jpgOpenClaw集成示例:
你:拍一张客厅摄像头的照片
OpenClaw:正在捕获画面...
✅ 已保存到:~/Pictures/living-room-2026-02-13-14-30.jpg
[发送图片]
你:录制10秒的门口监控视频
OpenClaw:正在录制...
⏱️ 录制中... 10秒
✅ 已保存到:~/Videos/door-monitor-2026-02-13-14-31.mp4故障排查:
问题1:安装失败,提示"arm64 architecture is required"
bash
# 原因:使用了Intel版本的brew
# 解决:安装ARM64版本的Homebrew(见步骤2)
# 检查当前brew架构
brew config | grep -E "CPU|Homebrew"
# 应该显示:CPU: octa-core 64-bit arm_*问题2:OpenClaw提示"Missing: bin:camsnap"
bash
# 原因:OpenClaw无法找到camsnap
# 解决:创建符号链接(见步骤4)
# 或者重启OpenClaw Gateway
openclaw gateway restart问题3:摄像头连接失败
bash
# 检查摄像头URL是否正确
# RTSP URL格式:rtsp://用户名:密码@IP地址:端口/路径
# 测试摄像头连接
camsnap --url rtsp://admin:password@192.168.1.100:554/stream --test
# 查看详细错误信息
camsnap --url rtsp://192.168.1.100:554/stream --verbose安全提示:
- ⚠️ 不要在公网暴露摄像头RTSP端口
- ✅ 使用强密码保护摄像头
- ✅ 定期更新摄像头固件
- ✅ 限制OpenClaw对摄像头的访问权限
8.10.3 工具安装最佳实践
通用安装流程:
检查系统要求
bash# 检查操作系统 uname -s # 检查CPU架构 uname -m # 检查可用空间 df -h选择合适的安装方式
- Homebrew(推荐,适合macOS/Linux)
- npm/yarn(适合Node.js工具)
- pip/uv(适合Python工具)
- 直接下载二进制文件
验证安装
bash# 检查工具是否在PATH中 which <tool-name> # 检查版本 <tool-name> --version # 测试基本功能 <tool-name> --help配置环境变量
bash# 添加到~/.zshrc或~/.bashrc export TOOL_API_KEY="your-key" export TOOL_CONFIG_PATH="~/.config/tool" # 重新加载配置 source ~/.zshrc集成到OpenClaw
bash# 重启OpenClaw Gateway openclaw gateway restart # 验证工具可用性 openclaw tools list
常见问题排查:
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 找不到命令 | 未添加到PATH | 检查安装路径,添加到PATH |
| 权限不足 | 需要管理员权限 | 使用sudo或管理员身份运行 |
| 依赖缺失 | 缺少必需的库 | 安装依赖包 |
| 版本不兼容 | 工具版本过旧 | 更新到最新版本 |
| 架构不匹配 | ARM/Intel不兼容 | 安装对应架构的版本 |
推荐工具列表:
| 工具 | 用途 | 安装命令 |
|---|---|---|
| 1Password CLI | 密码管理 | brew install --cask 1password-cli |
| camsnap | 摄像头捕获 | brew install steipete/tap/camsnap |
| ffmpeg | 视频处理 | brew install ffmpeg |
| imagemagick | 图片处理 | brew install imagemagick |
| jq | JSON处理 | brew install jq |
| gh | GitHub CLI | brew install gh |
| uv | Python包管理 | brew install uv |
📝 本章小结
通过本章学习,你已经掌握:
- Skills生态:了解1715+个技能的庞大生态
- ClawHub市场:学会搜索、安装、管理Skills
- 核心Skills:掌握必装的5个核心技能
- 安装方法:三种安装方式灵活选择
- 实战应用:三大场景的完整应用
- 安全使用:权限管理和安全防护
- Skills开发:从零开发自己的Skills
- 管理技巧:更新、备份、故障排查
- API服务:封装第三方API为Skills
- 工具安装:1Password CLI和camsnap完整安装流程
🎯 实战练习
- 安装5个核心Skills并测试
- 尝试开发1个简单的Skills
- 封装一个你常用的API服务
- 构建一个完整的自动化工作流
💡 进阶建议
- 探索ClawHub上的更多Skills
- 参与Skills社区贡献
- 开发并分享你的Skills
- 优化Skills性能和体验
下一章预告:第9章将学习多平台集成,包括飞书、企业微信、钉钉、QQ等平台的Bot配置,实现随时随地使用 OpenClaw。飞书作为最现代化的平台将优先介绍。
返回目录:README