Skills(技能)是 OpenClaw 的模块化扩展系统。每个 Skill 是一个包含 SKILL.md 的目录,教会 Agent 如何使用特定工具。

Skills 的工作原理

SKILL.md (Markdown 指令) → 加载到 Agent 系统提示 → Agent 按照指令使用工具

Skills 不是代码插件,而是 Markdown 格式的指令集。Agent 读取这些指令后,知道如何调用相应的工具。

三个技能来源

来源路径优先级
工作空间技能<workspace>/skills/最高 ⬆️
本地安装技能~/.openclaw/skills/中等
内置技能OpenClaw 安装包内最低

同名技能按优先级覆盖。

内置技能介绍

OpenClaw 自带了一些常用技能,无需额外安装:

技能功能前提条件
web-search网页搜索Brave API Key
geminiGoogle Gemini CLI安装 gemini-cli
peekaboo截图/屏幕查看macOS
sagElevenLabs TTS 语音API Key
summarize网页/文档摘要安装 summarize CLI

安装第三方技能

使用 ClawHub(推荐)

ClawHub 是 OpenClaw 的技能市场,目前有 1700+ 社区技能。

# 安装技能
clawhub install <skill-slug>

# 安装指定版本
clawhub install <skill-slug> --version 1.2.0

# 更新所有技能
clawhub update --all

# 查看已安装技能
clawhub list

手动安装

将技能文件夹放入 ~/.openclaw/skills/<workspace>/skills/

# 克隆技能仓库
git clone https://github.com/someone/my-skill.git ~/.openclaw/skills/my-skill

⚠️ Skills 安全警告

这是非常重要的安全提醒!

已有安全研究发现 341+ 恶意 Skills 在 ClawHub 上:

  • 🚨 部分伪装成加密货币工具,实际窃取 API Key 和钱包信息
  • 🚨 部分包含反向 shell 后门
  • 🚨 部分会窃取 ~/.openclaw/.env 中的凭据

安全建议:

  1. ✅ 安装前审查 SKILL.md 内容
  2. ✅ 优先使用官方和社区验证过的技能
  3. ✅ 使用沙箱模式运行不信任的技能
  4. ❌ 不要盲目安装来源不明的技能
  5. ❌ 不要在 SKILL.md 中暴露敏感信息

技能配置

openclaw.json 中管理技能:

{
  skills: {
    // 只允许特定内置技能
    allowBundled: ["gemini", "peekaboo"],
    
    // 额外技能目录
    load: {
      extraDirs: ["~/my-skills"],
    },
    
    // 单个技能配置
    entries: {
      "nano-banana-pro": {
        enabled: true,
        apiKey: "你的Gemini API Key",
        env: {
          GEMINI_API_KEY: "xxx",
        },
      },
      "sag": { enabled: false },  // 禁用特定技能
    },
  },
}

自定义技能开发

创建自己的技能非常简单,只需要一个 SKILL.md 文件:

最小示例

mkdir -p ~/.openclaw/workspace/skills/my-greeting
# ~/.openclaw/workspace/skills/my-greeting/SKILL.md
---
name: my-greeting
description: 自定义问候技能
---

## 使用说明

当用户说"打招呼"或"greet"时:
1. 用热情的方式问候用户
2. 根据当前时间选择合适的问候语
3. 如果知道用户名字,使用名字称呼

带环境检测的技能

---
name: my-deploy
description: 自动部署到服务器
metadata: {"openclaw": {"requires": {"bins": ["ssh", "rsync"], "env": ["DEPLOY_HOST"]}, "primaryEnv": "DEPLOY_HOST"}}
---

## 部署技能

当用户要求部署时,执行以下步骤:
1. 运行 `git status` 确认工作区干净
2. 使用 `rsync` 同步文件到 `$DEPLOY_HOST`
3. 通过 SSH 重启服务

技能前端(SKILL.md 结构)

---
name: skill-name           # 必填:技能名称
description: 功能描述      # 必填:简短描述
homepage: https://...      # 可选:主页链接
user-invocable: true       # 可选:是否暴露为斜杠命令
metadata: {"openclaw": {   # 可选:加载条件
  "requires": {
    "bins": ["curl"],      # 需要的命令行工具
    "env": ["API_KEY"],    # 需要的环境变量
    "config": ["browser.enabled"]  # 需要的配置项
  },
  "primaryEnv": "API_KEY"  # apiKey 对应的环境变量
}}
---

## 使用说明
(给 Agent 的详细指令,告诉它何时以及如何使用这个技能)