OpenClaw Skill

技能系统深度解析 - OpenClaw 的能力扩展机制

概述

Skill(技能)是 OpenClaw 的能力扩展机制,允许 Agent 通过模块化的方式获得新功能。每个 Skill 都是一个独立的功能包,包含元数据、指令和必要的执行文件,使 Agent 能够使用新工具、API 和工作流。

关键概念: Skills 以目录形式存储,包含 SKILL.md 文件,其中包含元数据和工具使用说明。这种设计使得功能扩展变得简单而灵活。

架构与功能

核心职责

架构图

OpenClaw Skill Component Architecture

AI生成的专业架构图 - OpenClaw Skill组件结构

Skill 结构

目录结构

skill-name/
├── SKILL.md              # 技能元数据和说明
├── README.md             # 使用说明和示例
├── scripts/              # 可执行脚本
│   ├── install.sh        # 安装脚本
│   └── main.py           # 主执行逻辑
├── references/           # 参考文件
│   └── examples.json     # 使用示例
└── config/               # 配置文件
    └── default.json      # 默认配置
        

SKILL.md 格式

# SKILL.md 格式示例
# Skill Name
描述技能的名称

## Description
技能的详细描述,包括功能和用途。

## Usage
如何使用这个技能的说明。

## Requirements
运行技能所需的依赖项。

## Examples
使用技能的具体示例。
        

技能发现与注入

技能注册

当 Skills 符合条件时,OpenClaw 会将可用 Skills 的紧凑 XML 列表注入到系统提示中,使 Agent 能够了解可用的功能。

动态加载

# 技能注入示例
<skills>
  <skill name="web_search" description="搜索网页获取信息">
  <skill name="file_read" description="读取文件内容">
  <skill name="image_gen" description="生成图像">
</skills>
        

权限控制

创建自定义技能

基本步骤

  1. 创建技能目录
  2. 编写 SKILL.md 文件
  3. 实现技能逻辑
  4. 配置依赖项
  5. 测试技能功能
  6. 注册到系统

示例技能

# 天气查询技能示例
# Weather Skill
天气信息查询技能

## Description
通过 API 查询指定城市的天气信息,包括温度、湿度、风速等。

## Usage
weather(city_name) - 查询指定城市的天气

## Requirements
- API 密钥
- 网络连接

## Examples
weather("北京") - 获取北京的天气信息
        

技能生态系统

技能市场

OpenClaw 支持技能市场的概念,用户可以:

技能组合

多个技能可以组合使用,创建复杂的工作流:

# 技能组合示例
1. web_search("最新的 AI 技术")  # 搜索信息
2. summarizer(content)         # 总结内容  
3. file_write(summary.txt)     # 保存总结
        

最佳实践

技能设计原则

性能优化

常见问题

如何安装技能?

# 从仓库安装
openclaw skills install skill-name

# 从本地目录安装
openclaw skills install ./path/to/skill
        

如何创建新技能?

# 创建技能模板
openclaw skills create my-skill
        

如何管理技能?

# 列出已安装技能
openclaw skills list

# 更新技能
openclaw skills update skill-name

# 卸载技能
openclaw skills uninstall skill-name
        
← 返回 OpenClaw 主页