💡 本章目标:深入理解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个刚毕业的聪明但没经验的实习生

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开发
部署要求 无需服务器 需要服务器端设置 需要后端支持

使用建议

8.0.4 Skills的工作原理

渐进式加载机制

Skills用渐进式加载来高效管理上下文:

  1. 发现阶段:启动时,AI 只加载每个技能的名称和描述,只保留最基本的识别信息
  2. 激活阶段:当任务匹配某个技能的描述时,AI 才把完整的 SKILL.md 指令读入上下文
  3. 执行阶段:AI 按照指令执行,按需加载参考文件或运行代码

这种设计让 AI 保持快速,同时能按需获取更多信息。

Token消耗对比

传统方式(全量加载):
- 10个Skills × 500字/个 = 5000字
- 约1250 tokens

Skills方式(渐进式加载):
- 发现阶段:10个Skills × 50字/个 = 500字(约125 tokens)
- 激活阶段:只加载需要的1个Skills = 500字(约125 tokens)
- 总计:约250 tokens

节省:80% tokens

8.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的优势

8.0.6 Skills核心结构

最小Skills结构

1个 Skill 本质上就是1个 Markdown 文件(文件名固定为 SKILL.md)

my-skill/
└── SKILL.md   (唯一必需)

SKILL.md 基本模板

---
name: pdf-processing
description: 从 PDF 中提取文本和表格,填写表单,并合并文档
---

# PDF 处理

## 使用场景

当需要对 PDF 文件进行操作时使用,例如:
- 提取 PDF 文本或表格数据
- 填写 PDF 表单
- 合并多个 PDF 文件

## 提取文本

- 使用 `pdfplumber` 提取文本型 PDF 内容
- 扫描版 PDF 需配合 OCR 工具

## 填写表单

- 读取 PDF 表单字段
- 按输入数据填充并生成新文件
```text
**Skills核心结构示意图**:

![Skills核心结构图 - SKILL.md定义技能能力](https://upload.maynor1024.live/file/1770813820310_image1.png)

**Frontmatter字段说明**:

| 字段 | 必需 | 说明 |
|------|------|------|
| name | ✅ | Skill 名称,最长 64 字符,只能使用小写字母、数字和 `-`,且不能以 `-` 开头或结尾 |
| description | ✅ | 功能与使用场景说明,最长 1024 字符,不能为空 |
| license | ❌ | 许可证名称或指向随 Skill 附带的许可证文件 |
| compatibility | ❌ | 环境与依赖说明(产品、系统包、网络权限等),最长 500 字符 |
| metadata | ❌ | 自定义键值对,用于扩展元数据(如作者、版本号) |
| allowed-tools | ❌ | 允许使用的工具列表(空格分隔,实验性功能) |

**完整Skills结构**(包含资源文件):

如果你需要一些参考资料、参考实例、执行脚本,可以使用更复杂的 Skill 目录结构:

my-skill/ ├── SKILL.md # 必需:指令 + 元数据 ├── scripts/ # 可选:可执行代码 ├── references/ # 可选:文档资料 └── assets/ # 可选:模板、资源

![复杂Skills目录结构 - 包含脚本和依赖](https://upload.maynor1024.live/file/1770813829999_image2.png)

---

## 🎯 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.com),类似于App Store,提供各种扩展功能。

**核心价值**:
- 🎯 **扩展能力**:让OpenClaw能做更多事情
- 🚀 **快速部署**:一键安装,即刻使用
- 🌍 **社区驱动**:开发者共享优质Skills
- 🔄 **持续更新**:Skills不断优化升级
- 📦 **统一管理**:安装、更新、备份一站式

**与其他AI的区别**:

| 特性 | OpenClaw + Skills | ChatGPT Plugins | Claude |
|------|------------------|-----------------|--------|
| 本地执行 | ✅ | ❌ | ❌ |
| 系统操作 | ✅ | ❌ | ❌ |
| 自定义开发 | ✅ | ❌ | ❌ |
| 社区生态 | ✅ | ✅ | ❌ |
| 免费使用 | ✅ | 部分付费 | ❌ |

### 8.1.2 Skills加载机制

**Skills加载位置**:

OpenClaw从3个位置加载Skills,优先级从高到低:

  1. 工作区Skills:/skills(最高优先级)
    • 单智能体专用
    • 项目特定的Skills
  2. 托管/本地Skills:~/.openclaw/skills
    • 所有智能体共享
    • 用户自定义Skills
  3. 内置Skills:随安装包发布(最低优先级)
    • OpenClaw官方Skills
    • 基础功能Skills ```text 优先级规则
如果同名Skills存在于多个位置:
工作区Skills > 托管/本地Skills > 内置Skills

示例:
- 内置Skills:file-search v1.0
- 本地Skills:file-search v1.2(自定义版本)
- 工作区Skills:file-search v2.0(项目专用)

最终加载:工作区的 v2.0 版本
```text
**额外Skills目录**:

可以通过配置添加额外的Skills文件夹:

```json
{
  "skills": {
    "load": {
      "extraDirs": [
        "/path/to/shared-skills",
        "/path/to/team-skills"
      ]
    }
  }
}
```text
### 8.1.3 ClawHub使用指南

**访问方式**:

```bash
# 方式1:网页访问(推荐)
https://clawhub.com

# 方式2:命令行工具
clawhub --help

# 方式3:OpenClaw内访问
你:打开ClawHub
```text
**常用命令**:

```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>
```text
**安装位置说明**:

```bash
# 默认安装到当前工作目录
clawhub install nano-banana-pro
# 安装到:./skills/nano-banana-pro/

# 如果不在工作目录,回退到配置的工作区
# 安装到:<workspace>/skills/nano-banana-pro/
```text
**ClawHub界面布局**:


![ClawHub技能市场 - 浏览和安装技能](https://upload.maynor1024.live/file/1770738350555_image-20260210234513022.png)

### 8.1.3 技能分类和搜索

**主要分类**:

**1. 文件管理类**
- 文件搜索
- 文件整理
- 批量处理
- 格式转换

**2. 知识管理类**
- 网页剪藏
- 笔记同步
- 文献管理
- 知识图谱

**3. 日程管理类**
- 日历同步
- 提醒设置
- 任务管理
- 时间追踪

**4. 自动化类**
- 定时任务
- 网站监控
- 数据采集
- 流程自动化

**5. 工具类**
- 截图工具
- 翻译助手
- 计算器
- 单位转换

**6. 娱乐休闲类**
- 音乐播放
- 天气查询
- 新闻阅读
- 游戏娱乐

**搜索技巧**:

按名称搜索

搜索:file-search

按功能搜索

搜索:文件搜索

按标签搜索

搜索:#文件管理 #效率工具

按作者搜索

搜索:@作者名

组合搜索

搜索:文件 #管理 @官方

### 8.1.4 技能评价体系

**评价维度**:

| 维度 | 说明 | 权重 |
|------|------|------|
| ⭐ 评分 | 用户评分(1-5星) | 30% |
| 📥 下载量 | 安装次数 | 20% |
| 🔄 更新频率 | 维护活跃度 | 20% |
| 📝 文档质量 | 说明完善度 | 15% |
| 🐛 Bug数量 | 稳定性 | 15% |

**评分标准**:

⭐⭐⭐⭐⭐ (5.0) - 完美

⭐⭐⭐⭐ (4.0-4.9) - 优秀

⭐⭐⭐ (3.0-3.9) - 良好

⭐⭐ (2.0-2.9) - 一般

⭐ (1.0-1.9) - 较差

✅ 推荐安装:
- 评分 ≥ 4.0
- 下载量 > 1000
- 最近3个月有更新
- 文档完善

⚠️ 谨慎安装:
- 评分 3.0-3.9
- 下载量 < 1000
- 更新不频繁
- 文档不全

❌ 不推荐:
- 评分 < 3.0
- 长期不更新
- 无文档
- Bug多
```text
### 8.1.5 Skills 安装和管理

**安装方式**:

**方式1:通过ClawHub安装**
  1. 打开ClawHub
  2. 搜索Skills
  3. 点击”安装”按钮
  4. 等待安装完成 text **方式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信息:

现在你可以使用文件搜索功能了!

**查看已安装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
```text
**更新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]
```text
**卸载Skills**:

```bash
# 卸载单个Skill
openclaw skill uninstall file-search

# 卸载多个Skills
openclaw skill uninstall file-search note-sync

# 输出示例:
正在卸载 file-search...
- 停止服务... ✅
- 清理配置... ✅
- 删除文件... ✅

卸载成功!✅
```text
---

## 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. 办公用品发票.pdf ```text 2. file-organizer(文件自动整理)
⭐ 评分:4.8/5.0
📥 下载量:35,000+
👤 作者:OpenClaw官方

功能:
- 智能分类文件
- 批量重命名
- 重复文件检测
- 自动归档

使用示例:
你:整理下载文件夹

OpenClaw:正在整理...
- 图片 → Pictures/Downloads/
- 文档 → Documents/Downloads/
- 视频 → Videos/Downloads/
- 其他 → Others/Downloads/

整理完成!共处理156个文件 ✅
```text
**3. batch-processor(批量文件处理)**

⭐ 评分:4.7/5.0 📥 下载量:28,000+ 👤 作者:社区开发者

功能:

使用示例: 你:把这个文件夹里的所有PNG转成JPG

OpenClaw:正在转换…

4. web-clipper(网页剪藏)

⭐ 评分:4.9/5.0
📥 下载量:45,000+
👤 作者:OpenClaw官方

功能:
- 网页内容抓取
- 智能摘要生成
- 多平台保存(备忘录/Notion/Obsidian)
- 标签管理

使用示例:
你:保存这篇文章到备忘录
https://example.com/article

OpenClaw:已保存!
标题:AI技术发展趋势
摘要:[自动生成的摘要]
标签:#AI #技术 #趋势
位置:备忘录 > AI学习 ✅
```text
**5. note-sync(笔记同步)**

⭐ 评分:4.8/5.0 📥 下载量:32,000+ 👤 作者:OpenClaw官方

功能:

支持平台:

⭐ 评分:4.6/5.0
📥 下载量:25,000+
👤 作者:社区开发者

功能:
- 项目信息分析
- README总结
- 代码结构理解
- Star/Fork追踪

使用示例:
你:分析这个GitHub项目
https://github.com/user/project

OpenClaw:分析完成!
项目:Awesome Project
Stars:15.3k
语言:TypeScript
核心功能:[详细分析]
推荐指数:⭐⭐⭐⭐⭐
```text
### 8.2.3 日程管理类Skills

**7. calendar-sync(日历同步)**

⭐ 评分:5.0/5.0 📥 下载量:60,000+ 👤 作者:OpenClaw官方

功能:

使用示例: 你:明天下午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官方

功能:

使用示例: 你:每天早上8点推送AI日报

OpenClaw:已设置定时任务! 任务:AI日报推送 时间:每天 08:00 Cron:0 8 * * * 状态:已启用 ✅

**10. monitor(网站监控)**

⭐ 评分:4.6/5.0 📥 下载量:28,000+ 👤 作者:社区开发者

功能:

使用示例: 你:监控这个博客的更新 https://example-blog.com

OpenClaw:已设置监控! 网站:Example Blog 频率:每天2次 通知:飞书消息 ✅

### 8.2.5 工具类Skills

**11. screenshot(截图工具)**

⭐ 评分:4.8/5.0 📥 下载量:35,000+ 👤 作者:OpenClaw官方

功能:

使用示例: 你:截图当前屏幕

OpenClaw:已截图! [发送截图] 是否需要OCR识别文字?

![截图技能演示 - 自动捕获屏幕内容](https://upload.maynor1024.live/file/1770176353570_image_35.jpg)

**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 translator
```text
### 8.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
```text
**配置示例**:
```bash
# 配置MCP服务器(以连接本地文件为例)
openclaw mcp add --transport stdio local-files npx -y @modelcontextprotocol/server-filesystem /root/Documents
```text
**使用场景**:
- "读取Notion中的项目文档,整理成Markdown"
- "把GitHub上的最新代码提交记录同步到本地"

**真实效果**:某开发团队使用McPorter技能,将日常协作效率提升了3倍。

#### 2. Brave Search——实时信息检索 🔍

**核心作用**:
解决传统AI Agent"数据过时"的问题,让OpenClaw能进行实时全网搜索,获取最新的GitHub Issue、StackOverflow解答、行业资讯。

**安装命令**:
```bash
npx clawhub@latest install brave-search
```text
**使用场景**:
- **代码报错排查**:"帮我排查这个Python报错的原因,找最新的解决方案"
- **竞品调研**:"查一下某产品最新功能的实现方式,附代码片段"

**效果**:2分钟即可得到带参考链接的详细报告,告别"凭训练数据瞎猜"的时代。

#### 3. TranscriptAPI——视频知识提取 🎥

**核心作用**:
稳定抓取YouTube视频字幕,带精确时间戳,将视频中的知识转化为可编辑的文本。

**安装命令**:
```bash
npx clawhub@latest install transcript-api
```text
**使用场景**:
"提取这个2小时Next.js教程视频的核心代码逻辑,按章节整理成学习笔记"

**价值**:无需手动拉进度条,AI直接将知识"喂到嘴边",学习效率提升3倍以上。

#### 4. File System Manager——本地文件处理 💾

**核心作用**:
赋予OpenClaw本地文件的读写、修改、重构权限,支持批量修改代码、修复语法错误、自动提交Git。

**安装命令**:
```bash
npx clawhub@latest install file-system-manager
```text
![1Password CLI集成 - 安全管理密码凭证](https://upload.maynor1024.live/file/1770778507814_image-20260211105458447.png)



**重要安全配置**:

```bash
# 配置授权目录(仅开放工作目录,避免全硬盘访问)
openclaw config set fs.allow-path /root/Projects
```text
**使用场景**:
- "帮我重构这个React组件,优化代码结构并修复ESLint报错"
- "将本地Markdown文件转为PDF,保存到指定目录"

**注意**:该技能是双刃剑,需严格控制访问目录,避免误操作。

#### 5. Headless Browser (Playwright)——浏览器自动化 🤖

**核心作用**:
模拟真实人类的浏览器操作,支持点击、输入、截图、表单提交,针对无API的老旧网站实现自动化操作。

**安装命令**:
```bash
npx clawhub@latest install playwright-headless
```text
**使用场景**:
- "每天早上8点自动登录公司抢票系统,帮我预约车票"
- "定时截图某政府网站的公告,有更新就保存并提醒"

**注意**:该功能过于强大,需合规使用,避免违反平台规则。

#### 6. Design-Doc-Mermaid——图表自动生成 📊

**核心作用**:
通过自然语言指令生成Mermaid代码,自动渲染架构图、时序图、流程图。

**安装命令**:
```bash
npx clawhub@latest install design-doc-mermaid
```text
**使用场景**:
"帮我画1个用户注册的时序图,包含前端、后端、数据库交互"

**效果**:AI直接生成Mermaid代码并渲染成图,告别用画图工具手动拖拽的时代。

#### 7. Google Workspace集成——办公自动化 📧

**核心作用**:
无缝连接Gmail、Google Calendar、Google Docs,实现邮件整理、日程同步、文档自动生成。

**安装命令**:
```bash
npx clawhub@latest install google-workspace
```text
**授权配置**:
```bash
# 授权Google账号(按终端提示完成浏览器认证)
openclaw auth google
```text
**使用场景**:
- "查一下我这周的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
```text
**使用场景**:
- 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-agent
```text
---

## 8.3 Skills 安装方法详解

> 💡 **三种安装方式**:ClawHub CLI(推荐)、对话式安装(最简单)、手动安装(高级用户)

### 8.3.1 方法一:ClawHub CLI一键安装(推荐)⭐

**特点**:
- ✅ 最简单、最快捷
- ✅ 自动处理依赖
- ✅ 支持版本管理

**安装命令**:
```bash
npx clawhub@latest install <技能名称>
```text
**实际示例**:
```bash
# 安装网页搜索技能
npx clawhub@latest install brave-search

# 安装多个技能
npx clawhub@latest install brave-search transcript-api file-system-manager
```text
**常用管理命令**:
```bash
# 查看已安装技能
npx clawhub@latest list

# 更新技能
npx clawhub@latest update <skill-slug>

# 卸载技能
npx clawhub@latest uninstall <skill-slug>

# 更新所有技能
npx clawhub@latest update --all
```text
### 8.3.2 方法二:对话式安装(最懒人方式)

**特点**:
- ✅ 无需命令行
- ✅ 适合新手
- ✅ AI自动配置

**使用方法**:

直接在聊天界面中输入:

请安装这个技能:https://github.com/openclaw/skills/tree/main/skills/steipete/brave-search

AI会自动帮你下载和配置,完全不需要手动操作!

**适用场景**:
- 不熟悉命令行的用户
- 快速测试某个技能
- 临时安装单个技能

### 8.3.3 方法三:手动安装(高级用户)

**特点**:
- ✅ 完全掌控
- ✅ 可自定义配置
- ✅ 适合开发调试

**安装步骤**:
```bash
# 1. 克隆技能仓库
git clone https://github.com/openclaw/skills

# 2. 复制到全局技能目录
cp -r skills/skills/<作者>/<技能名> ~/.openclaw/skills/

# 3. 重启OpenClaw
openclaw gateway restart
```text
---

## 8.4 实战应用案例

> 💡 **三大场景完整案例**:内容创作、团队协作、智能家居,都有真实数据支撑。

### 8.4.1 场景一:自动化内容创作流程 ✍️

**需求背景**:
自媒体博主每天需要发布3篇公众号文章,包括搜索资料、撰写内容、配图、排版,传统方式需要6小时/天。

**使用的Skills组合**:
1. `brave-search` - 搜索最新资讯
2. `deep-research` - 深度研究主题
3. `fal-ai` - 生成配图
4. `notion` - 保存草稿
5. `markdown-formatter` - 格式化文章

**效果对比**:

| 指标 | 传统方式 | 使用 OpenClaw Skills |
|------|---------|-------------------|
| ⏰ 时间消耗 | 6小时/天 | 2小时/天 |
| 📈 文章产量 | 3篇/天 | 5篇/天 |
| 💰 配图成本 | 300元/天 | 0元/天 |

**具体操作流程**:
1. **信息收集**:使用brave-search搜索当日热点话题
2. **深度研究**:通过deep-research对选定话题进行深入分析
3. **内容生成**:AI根据研究成果自动撰写文章草稿
4. **配图生成**:使用fal-ai生成原创配图,避免版权问题
5. **格式排版**:自动格式化为公众号要求的样式

### 8.4.2 场景二:开发团队协作自动化 💻

**需求背景**:
10人开发团队需要管理日常协作,包括代码审查、任务分配、进度跟踪等。

**使用的Skills组合**:
1. `github` - 代码仓库管理
2. `linear` - 任务分配
3. `slack` - 团队通知
4. `google-calendar` - 会议安排

**效果提升**:
- 📊 PR审查时间:从2天降到4小时
- 🎯 任务分配效率:提升80%
- 💬 沟通成本:减少50%
- 📅 会议安排:自动化100%

**安装命令**:
```bash
npx clawhub@latest install github linear-integration slack-bot google-workspace
```text
**自动化工作流**:
1. **自动代码审查**:每次PR提交自动进行基础代码检查
2. **任务自动分配**:根据团队成员工作量和专长智能分配任务
3. **进度自动同步**:每日自动生成项目进度报告并发送到Slack
4. **会议自动安排**:根据团队成员日历自动安排最佳会议时间

### 8.4.3 场景三:智能家居全自动化 🏠

**需求背景**:
根据天气、时间、位置自动控制家中所有设备,提升生活品质。

**使用的Skills组合**:
1. `home-assistant` - 智能家居控制
2. `weather-api` - 天气查询
3. `location-tracker` - 位置追踪
4. `automation-scheduler` - 自动化调度

**实现的智能场景**:
- 🌅 **早晨唤醒**:早上7点自动打开窗帘、启动咖啡机
- 🌧️ **天气适应**:下雨时自动关闭窗户
- 🚗 **离家模式**:离家10分钟自动关闭所有灯光和空调
- 🏠 **回家预热**:到家前5分钟自动打开空调和灯光

**安装命令**:
```bash
npx clawhub@latest install home-assistant weather-api location-tracker automation-scheduler
```text
---

## 8.5 安全使用指南

> ⚠️ **重要**:Skills虽然强大,但也存在安全风险。必须严格遵循安全原则。

### 8.5.1 核心安全原则

1. **隔离运行环境**:重要的OpenClaw实例建议运行在Docker或专用虚拟机中
2. **严控权限范围**:对高危Skill仅开放必要的工作目录/操作权限
3. **优先官方认证**:安装带"官方认证""高星标"的技能
4. **安装前检查代码**:查看技能代码确认无恶意逻辑

### 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
```text
**安全检查清单**:
- ✅ 查看技能的GitHub仓库
- ✅ 检查技能的依赖项
- ✅ 阅读技能的权限要求
- ✅ 使用skill-scanner扫描恶意代码
- ✅ 在测试环境中先试用

### 8.5.3 故障排查

**问题一:技能安装失败**
```bash
# 网络超时问题:检查服务器网络连接
ping github.com

# 配置国内镜像源(如遇网络问题)
npm config set registry https://registry.npmmirror.com
```text
**问题二:技能加载失败**
```bash
# 查看技能加载状态
openclaw plugins list

# 重新加载技能
openclaw plugins load <skill-name>

# 更新所有技能
clawhub update --all
openclaw gateway restart
```text
**问题三:技能执行无响应**
```bash
# 查看技能执行日志
openclaw logs --skill <skill-name>

# 检查权限配置
openclaw config get fs.allow-path
```text
---

## 8.6 Skills开发指南

> 💡 **创建自定义Skills**:如果现有的1715+个技能无法满足你的特殊需求,可以创建自己的技能。

### 8.6.1 创建自定义Skills

**创建步骤**:
1. **创建技能文件夹**:在 `~/.openclaw/skills/` 中创建新文件夹
2. **编写描述文件**:创建 `SKILL.md` 描述文件
3. **添加脚本配置**:编写必要的脚本和配置文件
4. **测试技能功能**:在本地测试技能是否正常工作
5. **分享到社区**:将技能贡献给社区

**技能目录结构**:

my-custom-skill/ ├── SKILL.md # 技能描述文档 ├── config.json # 配置文件 ├── scripts/ # 执行脚本 │ └── main.js └── README.md # 使用说明

**项目文件结构示例**:

![自定义Skills项目结构 - 完整的开发示例](https://upload.maynor1024.live/file/1770813835155_image3.png)

你的项目现在看起来应该是这样的:

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
```text
输入任务:

帮我写1个计算用户折扣的函数

Claude 会扫描已安装的 Skills,发现你的请求涉及 "Python 代码编写",匹配了 python-naming-standard。

![Claude Code执行效果 - Skills自动匹配和调用](https://upload.maynor1024.live/file/1770813836904_image4.png)

它会根据 SKILL.md 中的要求,生成如下代码:

```python
def _internal_get_discount(user_score):
    # 计算逻辑...
    return discount
```text
### 8.6.2 技能开发最佳实践

**设计原则**:
1. **单一职责**:每个技能只解决1个特定问题
2. **接口简单**:提供清晰简单的使用接口
3. **错误处理**:完善的错误处理和用户提示
4. **文档完整**:提供详细的使用文档和示例

**示例技能模板**:
```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 };
    }
  }
};
```text
---

## 8.7 自定义Skills开发(原8.3节)

### 8.3.1 Skills开发基础

**为什么要开发Skills**:

1. **满足个性化需求**
   - 官方Skills无法满足
   - 特定业务场景
   - 企业内部工具

2. **学习和成长**
   - 深入理解OpenClaw
   - 提升编程能力
   - 贡献开源社区

3. **商业价值**
   - 开发付费Skills
   - 提供定制服务
   - 建立个人品牌

**开发前准备**:

```bash
# 1. 安装开发工具
npm install -g openclaw-cli

# 2. 创建开发环境
openclaw dev init

# 3. 学习文档
openclaw docs

# 4. 查看示例
openclaw examples
```text
### 8.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可以生成和编辑图片。

## 使用方法

发送:画一只可爱的猫
```text
**完整示例**:

```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新闻
```text
**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文件夹路径 ```text

    8.3.3 Skills门控(加载时过滤)

什么是门控

门控是指在加载时根据条件过滤Skills,只加载满足条件的Skills。

门控配置

通过metadata.openclaw配置门控条件:

---
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"]
  }
}
---
```text
**门控字段说明**:

| 字段 | 说明 | 示例 |
|------|------|------|
| `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"]
    }
  }
}
```text
### 8.3.4 Skills 安装器配置

**什么是安装器**:

安装器定义了如何安装Skills所需的依赖(二进制文件、包等)。

**支持的安装器类型**:

1. **Homebrew**(macOS/Linux)
2. **Node包管理器**(npm/pnpm/yarn/bun)
3. **Go**
4. **UV**(Python)
5. **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
      }
    ]
  }
}
---
```text
**安装器字段说明**:

| 字段 | 说明 |
|------|------|
| `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"]
      }
    ]
  }
}
```text
**安装器选择逻辑**:

  1. 如果列出多个安装器,Gateway会选择首选选项:
    • 优先选择brew(如果可用)
    • 其次选择node
    • 最后选择其他
  2. 如果所有安装器都是download类型:
    • OpenClaw会列出每个条目
    • 让用户选择适合的构件
  3. Node安装遵循配置:
    • skills.install.nodeManager(默认npm)
    • 选项:npm/pnpm/yarn/bun ```text

      8.3.5 项目结构

标准Skills目录结构

my-skill/
├── SKILL.md              # Skills定义(必需)
├── README.md             # 说明文档
├── tools/                # 工具脚本
│   ├── setup.sh         # 安装脚本
│   └── cleanup.sh       # 清理脚本
├── examples/             # 示例
│   └── example.md
└── assets/               # 资源文件
    └── icon.png
```text
**SKILL.md引用文件**:

在SKILL.md中可以使用`{baseDir}`引用Skills文件夹路径:

```markdown
---
name: my-skill
description: My custom skill
---

# My Skill

## 安装

运行安装脚本:
```bash
bash {baseDir}/tools/setup.sh
```text
## 示例

查看示例:{baseDir}/examples/example.md

由于内容较长,让我先提交当前进度,然后继续完成剩余章节。

git add . **实战案例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; // 不处理其他消息 } } ```text **测试Skills**: ```bash # 启动开发服务器 npm run dev # 在OpenClaw中测试 你:你好 OpenClaw:你好!我是Hello Skill,很高兴认识你!😊 ```text **实战案例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}的天气失败了。`; } } } ```text **实战案例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 '同步失败 ❌'; } } } ```text ### 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; } ```text **2. 使用调试器** ```bash # 启动调试模式 npm run dev:debug # 在VSCode中设置断点 # 按F5开始调试 ```text **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('再见'); }); }); ```text **运行测试**: ```bash # 运行所有测试 npm test # 运行单个测试 npm test -- index.test.ts # 查看测试覆盖率 npm run test:coverage ```text ### 8.3.5 发布到ClawHub **发布前检查**: ```bash # 1. 运行测试 npm test # 2. 检查代码规范 npm run lint # 3. 构建生产版本 npm run build # 4. 检查包大小 npm run size ```text **发布步骤**: ```bash # 1. 登录ClawHub openclaw login # 2. 发布Skills openclaw skill publish # 输出示例: 正在发布 hello-skill... - 检查配置... ✅ - 运行测试... ✅ - 构建代码... ✅ - 上传文件... ✅ - 生成文档... ✅ 发布成功!✅ Skill信息: - 名称:hello-skill - 版本:v1.0.0 - 链接:https://clawhub.com/skills/hello-skill 现在其他用户可以安装你的Skill了! ```text **发布后维护**: ```bash # 更新Skills openclaw skill update # 查看下载统计 openclaw skill stats # 查看用户反馈 openclaw skill feedback ```text --- ## 8.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 } } } } ```text **配置规则**: ``` 1. 配置键默认匹配Skills名称 2. 如果Skills名称包含连字符,用引号括起键名 3. 如果Skills定义了metadata.openclaw.skillKey,使用该键 示例: - Skills名称:file-search - 配置键:"file-search"(需要引号) ```text **配置字段说明**: | 字段 | 说明 | 示例 | |------|------|------| | `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. 环境变量在智能体运行时注入,运行结束后恢复 ```text **示例配置**: ```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" ] } } ```text **allowBundled白名单**: ```json { "skills": { "allowBundled": [ "file-search", "note-sync" ] } } ```text 说明: - 如果设置了`allowBundled`,只有列表中的内置Skills才有资格 - 托管/工作区Skills不受影响 - 用于限制内置Skills的加载 ### 8.4.2 Skills监视器(自动刷新) **什么是Skills监视器**: Skills监视器会监视Skills文件夹,当SKILL.md文件更改时自动更新Skills快照。 **配置监视器**: ```json { "skills": { "load": { "watch": true, // 启用监视器(默认true) "watchDebounceMs": 250 // 防抖延迟(毫秒) } } } ```text **工作原理**: ``` 1. OpenClaw在会话开始时对有资格的Skills进行快照 2. 监视器监视Skills文件夹的变化 3. 当SKILL.md更改时,刷新Skills列表 4. 刷新后的列表在下1个智能体轮次生效 ```text **使用场景**: ``` ✅ 开发Skills时实时测试 ✅ 修改Skills 配置后立即生效 ✅ 添加新Skills后自动加载 ```text ### 8.4.3 安全注意事项 **⚠️ 重要安全提醒**: ``` 1. 将第三方Skills视为不受信任的代码 2. 启用前请仔细阅读Skills内容 3. 对于不受信任的输入和高风险工具,使用沙箱隔离 4. 保护API 密钥,不要泄露到日志中 ```text **安全最佳实践**: **1. 审查Skills代码** ```bash # 安装前查看Skills内容 cat ~/.openclaw/skills/my-skill/SKILL.md # 检查Skills权限要求 grep "requires" ~/.openclaw/skills/my-skill/SKILL.md ```text **2. 使用沙箱隔离** ```json { "agents": { "defaults": { "sandbox": { "enabled": true, "docker": { "image": "openclaw/sandbox:latest" } } } } } ```text **3. 保护API 密钥** ```json { "skills": { "entries": { "my-skill": { "apiKey": "your-secret-key", // ✅ 通过配置文件 "env": { "API_KEY": "your-key" // ✅ 通过环境变量 } } } } } ```text ❌ **不要**: ```markdown --- name: my-skill description: My skill with API key: sk-xxx7890 # ❌ 不要在SKILL.md中暴露密钥 --- ```text **4. 限制Skills权限** ```json { "skills": { "entries": { "untrusted-skill": { "enabled": true, "config": { "allowedPaths": ["/safe/path"], // 限制文件访问 "allowedCommands": ["ls", "cat"] // 限制命令执行 } } } } } ```text **5. 定期审计** ```bash # 列出所有已安装的Skills openclaw skill list # 检查Skills 配置 cat ~/.openclaw/openclaw.json | grep -A 10 "skills" # 查看Skills日志 openclaw logs --skill my-skill ```text ### 8.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 + 字段长度 ```text **优化建议**: ``` 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"] } } ```text **性能监控**: ```bash # 查看Skills加载时间 openclaw skill perf # 输出示例: Skills加载统计: - 总Skills数:15 - 加载时间:120ms - Token消耗:约450 tokens - 内存占用:2.3MB ```text ### 8.4.5 多智能体Skills管理 **单智能体 vs 共享Skills**: ``` 单智能体Skills: - 位置:/skills - 作用域:仅该智能体可用 - 用途:项目特定功能 共享Skills: - 位置:~/.openclaw/skills - 作用域:所有智能体可见 - 用途:通用功能 ```text **多智能体配置示例**: ```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 } } } } ] } } ```text **共享Skills文件夹**: ```json { "skills": { "load": { "extraDirs": [ "/shared/team-skills", // 团队共享 "/shared/company-skills" // 公司共享 ] } } } ```text ### 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 } } } ```text **工作原理**: ``` 1. Linux Gateway检测到macOS节点 2. 检查节点上的二进制文件 3. 将macOS专用Skills标记为可用 4. 通过nodes工具执行Skills ```text **注意事项**: ``` ⚠️ 如果macOS节点离线: - Skills仍然可见 - 调用可能失败 - 直到节点重新连接 ```text ### 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 ```text **恢复Skills**: ```bash # 从备份恢复 openclaw skill restore ~/backups/skills-2026-02-11.zip # 输出示例: 正在恢复Skills... - file-search ✅ - note-sync ✅ - calendar-sync ✅ 恢复完成! 共恢复3个Skills ```text **手动备份**: ```bash # 备份Skills文件夹 cp -r ~/.openclaw/skills ~/backups/skills-$(date +%Y%m%d) # 备份配置文件 cp ~/.openclaw/openclaw.json ~/backups/openclaw-$(date +%Y%m%d).json ```text ### 8.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 ```text **问题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 ```text **问题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 ```text **问题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,修改触发词 ```text --- ## 📝 本章小结 本章学习了OpenClaw的Skills扩展功能: ### 核心内容 1. **ClawHub技能市场** - ClawHub介绍 - 技能分类和搜索 - 技能评价体系 - Skills 安装和管理 2. **必装Skills推荐** - 文件管理类(3个) - 知识管理类(3个) - 日程管理类(2个) - 自动化类(2个) - 工具类(2个) 3. **自定义Skills开发** - Skills开发基础 - 开发环境搭建 - Skills结构详解 - API接口设计 - 调试和测试 - 发布到ClawHub 4. **Skills管理技巧** - 安装和卸载 - 配置管理 - 冲突解决 - 性能优化 - 备份和恢复 - 问题排查 ### 实战技巧 - ✅ 选择高质量Skills - ✅ 合理配置Skills - ✅ 定期更新Skills - ✅ 监控Skills性能 - ✅ 及时备份配置 ### 下一步 - 学习第9章:多平台集成 - 掌握飞书、企微、钉钉、QQ接入 - 构建多平台AI助手 --- ## 🎯 实战练习 ### 练习1:安装必备Skills 1. 安装file-search、calendar-sync、web-clipper 2. 配置Skills参数 3. 测试Skills功能 ### 练习2:开发简单Skills 1. 创建1个问候Skills 2. 实现基本功能 3. 测试和调试 ### 练习3:Skills性能优化 1. 监控Skills性能 2. 找出性能瓶颈 3. 优化和改进 --- ## 💡 常见问题 **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免费 ✅ 易于集成:一键安装,无需复杂配置 ✅ 生态完善:覆盖搜索、学术、办公等场景 ```text **与其他Skills对比**: | 特性 | 百度千帆Skills | 国际Skills | 社区Skills | |------|---------------|-----------|-----------| | 中文支持 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | | 稳定性 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | | 免费程度 | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐ | | 文档质量 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | | 更新频率 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ### 8.8.2 百度搜索系列Skills #### 1. 百度搜索(Baidu Search) **功能介绍**: - 实时网络搜索 - 智能结果筛选 - 自动摘要生成 - 支持多种搜索类型 **安装方法**: ```bash # 云端部署自带,无需安装 # 本地部署需要安装 clawhub install baidu-search ```text **适用场景**: - 实时信息查询 - 行业动态追踪 - 竞品分析 - 内容创作素材收集 #### 2. 百度百科(Baidu Baike) **功能介绍**: - 权威知识查询 - 概念解释 - 历史背景 - 相关词条推荐 **适用场景**: - 学习新概念 - 写作背景调研 - 知识科普 - 术语解释 #### 3. 百度学术(Baidu Scholar) **功能介绍**: - 学术论文搜索 - 引用分析 - 作者查询 - 期刊信息 **适用场景**: - 文献调研 - 论文阅读 - 学术研究 - 毕业论文写作 ### 8.8.3 百度办公系列Skills #### 4. 百度智能PPT(Baidu Smart PPT) **功能介绍**: - 自动生成PPT - 智能排版 - 配图推荐 - 模板选择 **适用场景**: - 产品介绍 - 工作汇报 - 培训教材 - 商业提案 ### 8.8.4 获取百度API Key **步骤1:注册百度智能云账号** 1. 访问:https://cloud.baidu.com 2. 点击"注册" 3. 填写手机号和验证码 4. 完成实名认证 **步骤2:开通千帆大模型服务** 1. 进入控制台 2. 搜索"千帆大模型" 3. 点击"立即开通" 4. 同意服务协议 **步骤3:获取API Key** 1. 进入"访问管理" 2. 点击"安全认证" 3. 选择"Access Key" 4. 点击"创建Access Key" 5. 保存Access Key ID和Secret Access Key ![百度智能云控制台 - 获取API Key和Secret Key](https://upload.maynor1024.live/file/1770782712874_image_17.jpg) ### 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:正在生成图片... [图片] ```text #### 实战案例 **案例1:手机上画图** ```text 场景:在飞书上用OpenClaw画图 步骤: 1. 打开飞书 2. 找到OpenClaw 3. 发送:画1个赛博朋克风格的城市 4. 等待10秒 5. 收到图片 优势: - 无需打开电脑 - 随时随地画图 - 自动保存到相册 ```text **案例2:批量生成图片** ```text 你:帮我生成3张图片: 1. 科技感的办公室 2. 未来城市 3. AI机器人 OpenClaw:正在生成... [图片1] [图片2] [图片3] 全部完成 ✅ ```text #### 提示词优化技巧 **基本原则**: 1. 描述清晰具体 2. 包含风格关键词 3. 指定画面元素 4. 控制画面比例 **优秀提示词示例**: ❌ 差:画一只猫 ✅ 好:一只可爱的橘猫,坐在窗台上,阳光洒在身上,温暖的色调,高清摄影,景深效果 ❌ 差:画个城市 ✅ 好:赛博朋克风格的未来城市,霓虹灯闪烁,高楼林立,夜景,雨后街道,电影级画质,广角镜头 **风格关键词**: - 写实风格: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 ✅ ```text #### 实战案例 **案例1:笔记同步** ```text 你:保存这段笔记到Notion: [笔记内容] OpenClaw:已保存 ✅ 标题:[自动生成] 标签:#笔记 链接:https://notion.so/... ```text **案例2:任务管理** ```text 你:添加任务:完成项目报告 截止日期:明天 优先级:高 OpenClaw:任务已添加 ✅ ```text **案例3:知识库构建** ```text 你:把这篇文章保存到知识库 [文章链接] OpenClaw:正在处理... - 提取内容 ✅ - 生成摘要 ✅ - 添加标签 ✅ - 保存到Notion ✅ 完成! ```text ### 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" ```text #### 实战案例 ```text 你:生成1个5秒的视频: 海浪拍打沙滩,日落时分 OpenClaw:正在生成... 预计时间:2分钟 [视频生成完成] 时长:5秒 分辨率:1080p 大小:15MB ```text ### 8.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:正在生成... [语音文件] ```text ### 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 '调用失败,请稍后重试'; } } } ```text ### 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" }' ```text **2. 错误处理** ```typescript try { const result = await callAPI(); return result; } catch (error) { if (error.code === 'RATE_LIMIT') { return '请求过于频繁,请稍后重试'; } return '调用失败,请检查配置'; } ```text **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 ```text **配置使用**: 1. **启用桌面应用集成**: - 打开1Password桌面应用 - 进入设置 → 开发者 - 启用"与1Password CLI集成" 2. **登录账户**: ```bash # 登录1Password账户 op signin # 或指定账户域名 op signin my.1password.com ```text 3. **在OpenClaw中使用**: ```bash # 获取密码 op item get "GitHub" --fields password # 获取API 密钥 op item get "OpenAI API" --fields credential # 列出所有项目 op item list ```text **OpenClaw集成示例**: ``` 你:从1Password获取GitHub的API 密钥 OpenClaw:正在获取... ✅ 已获取GitHub API 密钥:ghp_xxxxxxxxxxxx 你:用这个密钥创建一个新的GitHub仓库 OpenClaw:好的,正在创建... ✅ 仓库创建成功! ```text **安全提示**: - ⚠️ 不要在代码中硬编码密码 - ✅ 使用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) ```text **步骤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 ```text **步骤3:安装camsnap** ```bash # 添加tap源 brew tap steipete/tap # 安装camsnap brew install camsnap # 验证安装 which camsnap # 输出:/opt/homebrew/bin/camsnap camsnap --version # 输出:0.2.0 ```text **步骤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 ```text **使用示例**: ```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.jpg ```text **OpenClaw集成示例**: ``` 你:拍一张客厅摄像头的照片 OpenClaw:正在捕获画面... ✅ 已保存到:~/Pictures/living-room-2026-02-13-14-30.jpg [发送图片] 你:录制10秒的门口监控视频 OpenClaw:正在录制... ⏱️ 录制中... 10秒 ✅ 已保存到:~/Videos/door-monitor-2026-02-13-14-31.mp4 ```text **故障排查**: **问题1:安装失败,提示"arm64 architecture is required"** ```bash # 原因:使用了Intel版本的brew # 解决:安装ARM64版本的Homebrew(见步骤2) # 检查当前brew架构 brew config | grep -E "CPU|Homebrew" # 应该显示:CPU: octa-core 64-bit arm_* ```text **问题2:OpenClaw提示"Missing: bin:camsnap"** ```bash # 原因:OpenClaw无法找到camsnap # 解决:创建符号链接(见步骤4) # 或者重启OpenClaw Gateway openclaw gateway restart ```text **问题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 工具安装最佳实践 **通用安装流程**: 1. **检查系统要求** ```bash # 检查操作系统 uname -s # 检查CPU架构 uname -m # 检查可用空间 df -h ``` 2. **选择合适的安装方式** - Homebrew(推荐,适合macOS/Linux) - npm/yarn(适合Node.js工具) - pip/uv(适合Python工具) - 直接下载二进制文件 3. **验证安装** ```bash # 检查工具是否在PATH中 which # 检查版本 --version # 测试基本功能 --help ``` 4. **配置环境变量** ```bash # 添加到~/.zshrc或~/.bashrc export TOOL_API_KEY="your-key" export TOOL_CONFIG_PATH="~/.config/tool" # 重新加载配置 source ~/.zshrc ``` 5. **集成到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` | --- ## 📝 本章小结 通过本章学习,你已经掌握: 1. **Skills生态**:了解1715+个技能的庞大生态 2. **ClawHub市场**:学会搜索、安装、管理Skills 3. **核心Skills**:掌握必装的5个核心技能 4. **安装方法**:三种安装方式灵活选择 5. **实战应用**:三大场景的完整应用 6. **安全使用**:权限管理和安全防护 7. **Skills开发**:从零开发自己的Skills 8. **管理技巧**:更新、备份、故障排查 9. **API服务**:封装第三方API为Skills 10. **工具安装**:1Password CLI和camsnap完整安装流程 ## 🎯 实战练习 1. 安装5个核心Skills并测试 2. 尝试开发1个简单的Skills 3. 封装一个你常用的API服务 4. 构建一个完整的自动化工作流 ## 💡 进阶建议 1. 探索ClawHub上的更多Skills 2. 参与Skills社区贡献 3. 开发并分享你的Skills 4. 优化Skills性能和体验 --- **下一章预告**:第9章将学习多平台集成,包括飞书、企业微信、钉钉、QQ等平台的Bot配置,实现随时随地使用 OpenClaw。飞书作为最现代化的平台将优先介绍。 **返回目录**:[README](/README.html)