📚 OpenClaw Skills Registry 指南

Agent技能的"应用商店"——发现、注册、分发你的Skills

什么是Skills Registry?

如果把Agent比作手机,那Skills就是App,而Skills Registry就是应用商店。它是一个集中式的技能注册与发现平台,让开发者可以发布Skills,让用户可以轻松发现和使用这些Skills。

在OpenClaw生态中,Skills Registry承担着三个核心角色:

💡 类比理解:Skills Registry之于Agent,就像npm之于JavaScript、PyPI之于Python——它是生态繁荣的基础设施。

Registry架构解析

核心组件

Skills Registry 架构
├── Registry Server (注册服务器)
│   ├── Metadata Store (元数据存储)
│   ├── Search Index (搜索索引)
│   └── Access Control (访问控制)
├── Client SDK (客户端SDK)
│   ├── Skill Discovery (技能发现)
│   ├── Skill Loading (技能加载)
│   └── Cache Management (缓存管理)
└── Publisher Tools (发布工具)
    ├── CLI Publisher (命令行发布)
    ├── API Publisher (API发布)
    └── Validation (校验工具)

Skill元数据结构

{
  "name": "weather-forecast",
  "version": "1.2.0",
  "description": "获取全球城市天气预报",
  "author": "miaoquai-team",
  "license": "MIT",
  "category": "data-query",
  "tags": ["weather", "forecast", "api"],
  "entrypoint": "./index.js",
  "dependencies": {
    "axios": "^1.6.0"
  },
  "capabilities": {
    "tools": ["get_weather", "get_forecast"],
    "resources": ["weather_api"]
  },
  "compatibility": {
    "openclaw": ">=1.0.0",
    "node": ">=18.0.0"
  },
  "readme": "./README.md",
  "icon": "./icon.png"
}

如何使用Registry

1. 搜索Skills

import { SkillsRegistry } from 'openclaw';

const registry = new SkillsRegistry();

// 按关键词搜索
const results = await registry.search("weather");
console.log(`找到 ${results.length} 个天气相关Skills`);

// 按分类筛选
const dataSkills = await registry.getByCategory("data-query");

// 按标签筛选
const taggedSkills = await registry.getByTags(["api", "external"]);

// 获取热门Skills
const popular = await registry.getPopular(10);

2. 安装并加载Skill

// 安装Skill到本地
await registry.install("weather-forecast");

// 在Agent中加载
import { Agent } from 'openclaw';
import { WeatherSkill } from 'openclaw-skills/weather-forecast';

const agent = new Agent();
agent.use(new WeatherSkill());

// 或者动态加载
const skill = await registry.load("weather-forecast@1.2.0");
agent.use(skill);

3. 发布你的Skill

# 使用CLI发布
openclaw skills publish --name my-skill --version 1.0.0

# 或使用API
curl -X POST https://registry.openclaw.dev/api/skills \
  -H "Authorization: Bearer $TOKEN" \
  -d @skill-package.json

最佳实践

命名规范

✅ 好的命名:
  • weather-forecast - 清晰、描述性强
  • database-query-postgres - 明确范围
  • @myorg/api-client - 使用scope区分组织
⚠️ 差的命名:
  • my-skill - 太泛化
  • weather - 太简短,可能冲突
  • WeatherForecast - 不要用大驼峰

版本管理

遵循语义化版本(SemVer):

文档完整性

一个好的Skill包应该包含:

my-skill/
├── skill.json        # 元数据(必需)
├── README.md         # 使用文档(必需)
├── CHANGELOG.md      # 变更日志(推荐)
├── LICENSE           # 开源协议(必需)
├── examples/         # 使用示例(推荐)
│   └── basic.ts
└── tests/            # 测试用例(推荐)
    └── skill.test.ts

Registry安全模型

访问控制

安全审计

Registry会对每个发布的Skill进行:

⚠️ 安全提示:使用第三方Skill前,务必检查其权限声明和代码来源,避免安全风险。

ClawHub与Registry的关系

ClawHub是OpenClaw官方的Skills Registry实现,提供:

💡 扩展阅读:访问 ClawHub官网 探索更多公开Skills,或发布你自己的作品。

常见问题

Q: Registry和ClawHub是什么关系?

ClawHub是Registry的一个实现,就像GitHub是Git仓库托管平台一样。Registry是规范,ClawHub是具体产品。

Q: 如何私有化部署Registry?

OpenClaw提供Registry Server的Docker镜像,可以在企业内部部署私有的Skills Registry。

Q: Skill更新后,已安装的Agent会自动升级吗?

不会。Agent使用的是安装时的版本,需要手动升级。建议使用skill@^1.2.0这样的版本范围,在下次部署时自动获取兼容更新。

📅 最后更新:2026年5月2日 | 作者:妙趣AI