Skip to content

第五章 Skills 技能系统

前提:本章假设你已完成第一章的安装配置。技能系统是 OpenClaw 的核心扩展机制,所有用户都建议了解。

OpenClaw 的技能系统就像手机的 App Store,让你可以为龙虾安装各种能力扩展。想让它查天气?安装天气技能。想让它管理 Gmail?安装邮件技能。截至 2026 年 3 月,社区维护的 ClawHub 注册表已有超过 16,000 个技能,覆盖生产力、开发、运维、内容创作等多个领域。

1. 什么是技能

技能(Skill)本质上是一组提示词指令的集合,以 SKILL.md 文件为核心。技能从三个位置按优先级加载:

  1. 工作区技能(workspace):项目目录下的技能,优先级最高
  2. 托管技能(managed):~/.openclaw/skills/ 目录下通过 clawhub 安装的技能
  3. 内置技能(bundled):OpenClaw 自带的基础技能(web-search、web-fetch、browser、filesystem、shell)

路径说明~/ 是 Linux/macOS 中"用户主目录"的简写。在 Windows 上对应 C:\Users\你的用户名\。例如 ~/.openclaw/ 在 Windows 上就是 C:\Users\你的用户名\.openclaw\

每个技能包含两个核心部分:

元数据(YAML frontmatter):文件顶部用 --- 包围的一段结构化信息,定义技能名称、描述、版本号等。你可以把它理解为技能的"身份证",OpenClaw 通过它识别技能的基本信息。

提示词指令(Markdown 正文):元数据下方的文本内容,教 OpenClaw 如何使用工具完成任务。比如"查询天气时优先使用用户所在城市"。Markdown 是一种简单的文本排版格式,类似于写笔记时用 # 表示标题、- 表示列表。

技能在会话启动时会被"快照"固定,确保本次对话中技能行为不变。技能配置统一存放在工作区级的 openclaw.json(JSON 格式)中,而非技能目录内部。

展开阅读:技能的形式化定义(学术视角,可跳过)

1.1 技能的形式化定义

从计算理论的视角,OpenClaw 的技能系统可以用有限自动机(Finite Automaton)来形式化描述。一个技能的生命周期可表示为一个确定性有限自动机(DFA)五元组:

M=(Q,Σ,δ,q0,F)

其中:

  • Q(状态集)= {Unregistered, Installed, Disabled, Gated, Active, HotReloading, SoftDeleted},共 7 个状态
  • Σ(输入字母表)= {install, uninstall, enable, disable, gate, grant, revoke, edit, hot-reload, soft-delete, restore},共 11 个输入符号
  • δ(转移函数):定义状态之间的转换规则(见下方状态图)
  • q₀(初始状态)= Unregistered
  • F(接受状态集)=

状态转移关系如下:

Unregistered --install--> Installed --enable--> Active
Active --disable--> Disabled --enable--> Active
Active --gate--> Gated --grant--> Active
Gated --revoke--> Disabled
Active --edit--> HotReloading --hot-reload--> Active
Active --soft-delete--> SoftDeleted --restore--> Installed
Active --uninstall--> Unregistered
Disabled --uninstall--> Unregistered
SoftDeleted --uninstall--> Unregistered

其中 Gated 状态表示技能需要满足门控条件(如 API Key 配置)才能激活,HotReloading 状态用于开发时实时编辑技能而不中断会话。

这个形式化模型的意义在于:

  1. 状态可预测:技能在任意时刻只能处于一个确定状态,避免了"薛定谔的插件"问题
  2. 转换可验证:每个操作(输入符号)只能在特定状态下执行,非法操作会被拒绝
  3. 生命周期可追踪:通过记录状态转移序列,可以完整还原技能的使用历史
  4. 会话一致性:技能在会话启动时快照固定,保证了行为的形式正则性(formal regularity)

参考文献:Agents as Automata(arxiv.org/html/2510.23487v1)将 Agent 行为建模为有限自动机,MetaAgent FSM(arxiv.org/html/2507.22606v1)进一步将此框架扩展到多 Agent 编排。

在实际使用中,clawhub install 会自动将技能从 Unregistered → Installed → Active(合并为一步),但底层仍然遵循这个状态机模型。

2. ClawHub:技能注册表

OpenClaw 社区维护了一个名为 ClawHub 的技能注册表(类似 npm 之于 Node.js),源码托管在 github.com/openclaw/clawhub。你可以通过 clawhub 命令行工具或 clawhub.ai 网站浏览和管理技能。

2.0 安装 clawhub CLI

clawhub 是 ClawHub 技能注册表的命令行工具,需要单独安装:

bash
npm i -g clawhub

安装后需要登录才能使用:

  1. 访问 clawhub.ai,注册并登录
  2. 点击右上角用户头像,选择 Settings
  3. 在设置页面找到 API tokens 栏,点击 Create token
  4. 复制生成的 Token(只显示一次,请立即保存)

ClawHub API Token 创建页面

  1. 在终端执行:
bash
clawhub login --token <你的token>

验证登录成功:

bash
clawhub whoami

2.1 浏览和搜索技能

clawhub search 终端输出

bash
# 列出所有可用技能
clawhub list

# 搜索特定类型的技能
clawhub search agent
clawhub search email
clawhub search database

2.2 安装技能

安装技能有两种方式:

方式一:通过 clawhub CLI(推荐)

bash
clawhub install weather

OpenClaw 会自动下载技能文件到 ~/.openclaw/skills/weather/,解析配置需求,然后引导你完成配置。

方式二:通过聊天粘贴 GitHub URL

直接在对话中粘贴包含 SKILL.md 的 GitHub 仓库 URL,OpenClaw 会自动识别并安装。

安装完成后可以立即测试:

帮我查一下明天的天气

2.3 管理已安装的技能

bash
# 查看已安装的技能
clawhub list

# 更新单个技能
clawhub update weather

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

# 卸载技能
clawhub uninstall weather
展开:技能文件结构详解(开发者参考)

3. 技能文件结构

3.1 SKILL.md 格式

每个技能的核心是一个 SKILL.md 文件,使用 YAML frontmatter 定义元数据:

markdown
---
name: weather
description: 查询全球城市天气预报和空气质量
version: 1.2.0
requirements:
  - curl
---

# Weather Skill

当用户询问天气相关问题时,使用以下工具获取数据。

## 使用规则

1. 优先使用用户所在城市
2. 默认返回未来 3 天的天气
3. 如果用户关心空气质量,一并返回 AQI 数据

## 工具

### get_weather
- 参数:city (string), days (number, default: 3)
- 用途:获取指定城市未来 N 天的天气预报

frontmatter 字段说明:

字段说明必填
name技能标识符(即技能的唯一英文短名,如 weather),用于安装和引用
description一句话功能描述
version语义化版本号
requirements系统依赖列表(如 python3, curl)
user-invocable是否可由用户通过斜杠命令手动调用
disable-model-invocation禁止模型自动调用,只能用户手动触发
metadata单行 JSON,定义门控条件等高级配置

3.2 目录结构

一个完整的技能目录结构:

~/.openclaw/skills/weather/
├── SKILL.md          # 核心:技能说明和指令(唯一必需文件)
├── scripts/          # 可选:辅助脚本
│   └── fetch.sh
└── examples/         # 可选:使用示例
    └── demo.md

注意:技能目录内没有 config.yamltools.yaml。所有技能配置统一在工作区级的 openclaw.json 中管理,而非分散在各技能目录中。

4. 新手必装:十大推荐技能

ClawHub 上有超过 16,000 个技能,质量参差不齐——有的非常实用,有的只是披着 Skill 壳的模型伪装,甚至有的会窃取你的 API Key。以下是从中精选的 10 个安全且实用的技能,建议按顺序安装:

第一个必装:安全守卫

bash
clawhub install skill-vetter

Skill Vetter 会自动检测你后续安装的每一个技能,扫描是否存在危险行为(如窃取 API Key、上传个人信息)。请务必第一个安装它

核心能力技能

序号技能安装命令一句话说明
2Tavily Web Searchclawhub install tavily-search专为 Agent 设计的联网搜索,结果全、新、简洁
3Agent Browserclawhub install agent-browser让龙虾打开浏览器,抓取信息、填写表单、操作网页
4Summarizeclawhub install summarize对网页、PDF、图像、音频、YouTube 等内容生成摘要
5Gogclawhub install gogGoogle 全家桶:Gmail、Calendar、Drive、Docs 一键打包
6GitHubclawhub install githubPR 管理、Issue 追踪、代码搜索、仓库操作,开发者必备
7Obsidianclawhub install obsidian接入本地 Obsidian 笔记库,整理笔记、知识关联

进阶能力技能

序号技能安装命令一句话说明
8Self-Improving Agentclawhub install self-improving-agent记录经验教训和纠正措施,让龙虾持续自我改进
9Proactive Agentclawhub install proactive-agent赋予龙虾主动性,记住历史行为并根据环境变化自动执行任务
10Capability Evolverclawhub install capability-evolver让龙虾自主进化——分析已有流程,在薄弱环节创造新 Skill 辅助迭代

一键安装全部:你也可以直接告诉龙虾"帮我安装 skill-vetter、tavily-search、agent-browser",它会帮你逐个下载安装。

更多精选技能

ClawHub 上技能数量庞大,社区项目 awesome-openclaw-skills 从中精选了 5,000+ 个高质量技能,按场景分类,过滤了大量低质和危险技能。如果上面 10 个不够用,去那里逛逛。


5. 技能分类速查

以下按使用场景分类列出更多常用技能,方便按需选装:

5.1 生产力套件

技能安装命令功能
Google Workspace (gog)clawhub install gogGmail、Calendar、Drive、Docs、Sheets 统一访问
Notionclawhub install notion数据库、页面同步,长期记忆存储
Todoistclawhub install todoist任务管理、标签、优先级、周期规则
Slackclawhub install slack消息发送、频道管理、文件上传
Obsidianclawhub install obsidianMarkdown 笔记库管理,支持 wikilink

5.2 开发工具

技能安装命令功能
GitHubclawhub install github仓库、Issue、PR 管理,REST API + GraphQL
Git Operationsclawhub install git-ops安全的 Git 命令执行
Code Reviewerclawhub install code-reviewerDiff 分析、代码审查、Commit 消息生成
SQL Toolkitclawhub install sql-toolkitPostgreSQL/MySQL/SQLite 只读查询
CI/CD Pipelineclawhub install cicd-pipelineGitHub/GitLab/Jenkins 流水线控制

5.3 运维与基础设施

技能安装命令功能
DevOps Toolkitclawhub install devopsDocker 编排、进程管理、健康监控
AWS Infrastructureclawhub install aws-infraEC2、S3、Lambda 对话式管理
Azure DevOpsclawhub install azure-devops项目、仓库、看板、流水线管理

5.4 内容与社交

技能安装命令功能
LinkedInclawhub install linkedin帖子生成、轮播图、定时发布
X (Twitter)clawhub install x-api推文、线程、媒体附件
Blogburstclawhub install blogburst长文内容自动拆分为社交媒体帖子

5.5 个人助理

技能安装命令功能
Weatherclawhub install weather天气、交通、航班实时数据
Calendar Proclawhub install caldav-calendar多日历集成、冲突检测
AgentMailclawhub install agentmailIMAP/SMTP 邮件管理、线程摘要、自动回复
Home Assistantclawhub install home-assistant智能家居设备控制

5.6 特殊技能

技能安装命令功能
Playwrightclawhub install playwright无头浏览器自动化、表单填写、数据提取
Hacker Newsclawhub install hackernews技术新闻摘要和个性化推送
Self-Improvingclawhub install self-improving记录成功/失败执行,自我优化模式识别

6. 配置技能

安装后可以随时修改技能配置。技能配置统一存放在工作区级的 openclaw.json 中:

json
{
  "skills": {
    "weather": {
      "api_key": "your_api_key",
      "default_city": "Beijing",
      "units": "metric",
      "language": "zh_CN"
    }
  }
}

也可以通过交互式命令配置:

bash
openclaw config

对于需要 API Key 的技能,安装时会自动引导你输入。你也可以后续通过 openclaw config 或直接编辑 openclaw.json 修改。

展开:创建和发布自定义技能

7. 创建自定义技能

如果 ClawHub 上没有你需要的技能,可以自己创建。

7.1 最小化技能

创建一个查询 IP 地址的技能,只需要一个 SKILL.md

markdown
---
name: my-ip
description: 查询当前公网 IP 地址和地理位置
version: 1.0.0
---

# IP 查询技能

当用户询问 IP 地址或网络位置时,执行以下命令:

curl -s https://ipinfo.io/json

返回结果中包含 IP、城市、地区、国家、运营商等信息。

7.2 安装自定义技能

bash
# 从本地目录安装
clawhub install ./my-ip

# 或直接复制到技能目录
cp -r my-ip ~/.openclaw/skills/

7.3 发布到 ClawHub

如果你的技能对他人有用,可以提交到 ClawHub:

bash
# 1. Fork github.com/openclaw/clawhub
# 2. 添加你的技能目录
# 3. 提交 Pull Request

7.4 使用 Skill Seekers 自动生成技能

如果你想为特定技术栈或文档快速生成技能,可以使用 Skill Seekers 工具。它能自动将文档网站、GitHub 仓库、PDF 和视频转换为 Claude/Gemini/OpenAI Skills。

安装

bash
pip install skill-seekers

从文档网站生成技能

bash
# 为 React 文档生成技能
skill-seekers create https://docs.react.dev/

# 从 GitHub 仓库生成
skill-seekers create facebook/react

# 从本地项目生成
skill-seekers create ./my-project

导出为 OpenClaw 可用格式

bash
# 打包为 Claude Skill(可导入 OpenClaw)
skill-seekers package output/react --target claude

Skill Seekers 的优势

  • ⚡ 99% faster — 数天的手动准备 → 15-45 分钟
  • 🎯 高质量 SKILL.md — 500+ 行的完整技能文件
  • 📊 RAG-ready 分块 — 智能分块保留代码块和上下文
  • 🌐 多源支持 — 文档 + GitHub + PDF + 视频

📖 更多信息:Skill Seekers GitHub

8. 飞书插件:技能实战案例

飞书官方插件是一个典型的复合技能,展示了技能如何深度集成外部服务。安装飞书插件后(安装步骤参见第三章 2.4 节),OpenClaw 不仅能通过飞书收发消息,还能直接操作飞书的办公数据:

能力说明
消息群聊/单聊历史搜索、消息发送、文件下载
文档创建和编辑飞书云文档
多维表格表格管理与数据操作(类似 Airtable)
日程日历查看、会议创建、忙闲查询
任务任务和清单的创建与管理

使用示例:

帮我在飞书上创建一个项目周报文档,包含本周完成的任务和下周计划
查看我今天的飞书日程,如果有冲突的会议帮我标记出来
在项目管理多维表格中添加一条新任务:完成 API 文档编写,截止日期下周五

这种深度集成体现了技能系统的核心价值:通过标准化的 SKILL.md 接口,将复杂的外部服务能力无缝注入 OpenClaw 的执行循环中。

展开:性能考量与安全提示

9. 技能系统的性能考量

技能并非越多越好。每个活跃技能都会增加上下文加载量,影响响应速度。

技能加载机制

OpenClaw 采用三级加载优先级

优先级来源路径说明
1(最高)工作区级~/.openclaw/workspace/skills/你手动放置或针对当前工作区安装的技能
2共享级~/.openclaw/skills/clawhub install 安装的全局技能
3(最低)内置级OpenClaw 安装目录随 OpenClaw 一起发布的默认技能

同名技能按优先级覆盖——如果工作区有一个 web-search,它会屏蔽全局和内置的同名技能。

每次对话开始时,OpenClaw 会生成一份技能快照(snapshot),将所有活跃技能的 SKILL.md 内容注入上下文。技能采用懒加载策略:只有在对话中被触发(匹配到关键词或被 AI 主动选用)时,才会执行技能脚本。

性能影响与建议

技能数量上下文占用响应速度影响建议
1-5 个几乎无感新手推荐
5-10 个中等略有延迟日常使用合理上限
10-20 个较高明显变慢建议禁用不常用的
20+ 个很高严重影响不推荐

按需安装:只安装真正需要的技能。5-10 个常用技能是一个合理的数量。

定期清理:用 clawhub list 查看所有已安装技能,用 clawhub uninstall <技能名> 卸载不再使用的技能,保持系统精简。

bash
# 查看当前安装了哪些技能
clawhub list

# 只看活跃的技能
clawhub list --active

# 卸载不需要的技能
clawhub uninstall old-unused-skill

保护敏感信息:技能配置中的 API 密钥存储在本地,但仍要注意不要将 ~/.openclaw/skills/ 目录上传到公开仓库。

测试后再用:新安装的技能先在测试环境试用,确认没问题后再用于生产任务。对于未经审计的第三方技能,建议在 Docker 沙箱中运行。

보안 경고: 2026년 2월 보안 감사(ClawHavoc 사고)에서는 ClawHub 기술 중 약 12%에 악의적인 행동이나 보안 취약점이 있는 것으로 나타났습니다. OpenClaw 팀에서 정리를 마쳤지만, 타사 기술을 설치할 때는 여전히 주의가 필요합니다. 별이 높은 스킬을 우선으로 하고 SKILL.md에서 지시 내용을 확인하는 것이 좋습니다.

보안 가드 설치: skill-vetter을 설치하는 것이 좋습니다(자세한 내용은 이 장의 섹션 4 참조). 이후에 설치하는 모든 기술을 자동으로 검사하여 API 키를 훔치고 개인 정보를 업로드하는 등 위험한 행동이 있는지 감지합니다.

bash
clawhub install skill-vetter
자세히 보기: 기술과 MCP의 관계

10. 스킬과 MCP의 관계

OpenClaw의 스킬 시스템과 MCP(Model Context Protocol)는 두 가지 다른 수준의 개념입니다.

  • 스킬: 에이전트의 행동 규칙과 도구 사용 방법을 정의하는 프롬프트 단어 수준의 명령 패키지입니다.
  • MCP: 외부 도구에 대한 표준화된 인터페이스를 제공하는 도구 수준 프로세스 프로토콜

현재 OpenClaw는 기본적으로 MCP를 지원하지 않습니다(관련 문제 #4834는 "계획되지 않음" 상태로 종료되었습니다). 그러나 커뮤니티에는 스킬 인터페이스를 통해 MCP 서버의 기능을 OpenClaw에 노출할 수 있는 MCP 래퍼가 이미 많이 있습니다.


다음 단계: 第六章 外部服务集成