系列说明:本系列共计约 20 篇,全面介绍 OpenClaw 开源 AI 智能体框架。本文为系列第 009 篇,聚焦于 OpenClaw Skills技能系统与ClawHub技能市场度解析。建议先阅读 第 008 篇:流量枢纽——OpenClaw Gateway 网关深度解析。
摘要
OpenClaw的Skills技能系统是其模块化扩展架构的核心,允许用户通过安装技能包来扩展AI Agent的工具调用能力。本文深入剖析Skills系统的设计理念、文件结构、加载机制,详细介绍ClawHub技能市场的功能和生态,提供技能开发指南和安全注意事项,帮助读者全面掌握OpenClaw技能体系。
一、Skills核心概念与设计理念
1.1 什么是Skills?
OpenClaw Skills本质上是一个模块化扩展系统,类比于浏览器插件之于浏览器。每个Skill是一个包含元数据定义(SKILL.md)和可选脚本的目录,由OpenClaw主程序在运行时动态加载,用于扩展Agent的工具调用能力。
在OpenClaw六层架构中,Skills位于第四层(Layer 4),承载着80+内置工具的能力,包括浏览器自动化(agent-browser)、联网搜索(tavily-search)、文件操作、数据库访问、TTS语音合成等。这些工具通过Skills系统暴露给Agent,使其能够调用外部世界的各种资源。
1.2 Skills的设计哲学
Skills系统遵循以下六大设计原则:
- 功能说明:通过SKILL.md告诉AI这个技能是做什么的,以及该使用什么工具
- 工具教学:指导LLM如何使用命令行工具(如gh、curl、sag等)
- 工作流封装:将复杂的多步骤操作流程封装成可复用的技能
- 上下文注入:在系统提示词中注入特定领域的知识和指令
- 门控控制:根据环境、配置自动启用或禁用特定功能
- 跨平台适配:根据操作系统或可用二进制文件动态加载
这种设计使得Skills成为连接AI智能体与外部工具的桥梁,既保持了系统的可扩展性,又确保了使用的安全性。
1.3 Skills在架构中的位置
第1层: Channels (WebChat/Telegram/WhatsApp...) 第2层: Gateway (路由/鉴权/配额/审计) 第3层: Sessions (会话/记忆/上下文压缩) 第4层: Skills (80+工具: Browser/Shell/DB/TTS...) ← Skills层 第5层: Agent Runtime (推理/调度) 第6层: Models & Sandbox (AI模型与安全沙箱)从数据流角度看,用户请求通过Channel进入Gateway,Gateway路由到对应的Agent,Agent根据任务需求选择合适的Skills工具,最终调用底层模型和外部服务完成响应。这种分层设计使得Skills可以独立于具体业务逻辑进行开发和部署。
二、Skills文件结构与SKILL.md格式
2.1 基本文件结构
每个Skill必须是一个目录,其中必须包含一个SKILL.md文件。OpenClaw使用兼容AgentSkills的技能文件夹格式,确保与其他工具生态的兼容性。
my-skill/ ├── SKILL.md # 必需:技能定义文件 ├── index.js # 可选:JavaScript脚本 ├── package.json # 可选:npm依赖定义 ├── utils/ # 可选:工具函数 └── README.md # 可选:使用说明2.2 SKILL.md完整格式
SKILL.md采用YAML Front Matter格式,分为元数据部分和说明部分:
---name:file-report-skilldescription:"统计目录文件并生成Markdown报表"version:1.0.0homepage:https://github.com/example/file-report-skillpermissions:["file.read","file.write"]metadata:openclaw:requires:bins:["python3","git"]env:["OPENCLAW_API_KEY"]config:["report.format"]primaryEnv:"OPENCLAW_API_KEY"os:["linux","darwin","win32"]---# 技能说明这个技能用于统计指定目录下的文件信息,并生成结构化的Markdown报表。## 使用场景当用户需要以下任务时使用此技能:-查看项目目录结构-统计代码文件数量和行数-生成项目文档## 执行步骤1. 使用`find`命令扫描目录 2. 根据文件扩展名分类统计 3. 使用模板生成Markdown报表 4. 将报表写入指定文件## 注意事项-需要Python 3.8+环境-大型目录扫描可能需要较长时间-生成报表前会确认目标文件路径2.3 关键元数据字段详解
| 字段 | 说明 | 必填 |
|---|---|---|
name | 技能名称(唯一标识符) | ✅ |
description | 技能描述,会显示给AI | ✅ |
homepage | 技能官网URL | ❌ |
version | 技能版本号 | ❌ |
permissions | 所需权限列表 | ❌ |
user-invocable | 是否可被用户直接调用(默认true) | ❌ |
disable-model-invocation | 是否排除在模型提示之外(默认false) | ❌ |
command-dispatch | 设置为tool时,斜杠命令会作为工具调用 | ❌ |
OpenClaw特定元数据:
metadata:openclaw:requires:bins:["uv","git"]# 需要的二进制文件env:["GEMINI_API_KEY"]# 需要的环境变量config:["model.provider"]# 需要的配置项primaryEnv:"GEMINI_API_KEY"# 主要环境变量(用于UI提示)os:["linux","darwin","win32"]# 支持的操作系统这些元数据用于门控控制:如果环境不满足requires条件,该Skill将不会加载到可用技能列表中。
三、Skills加载与执行机制
3.1 加载位置与优先级
OpenClaw从四个位置加载Skills,按优先级从高到低排序:
- 工作区Skills:
<workspace>/skills— 仅对当前智能体可见 - 托管/本地Skills:
~/.openclaw/skills— 对同一机器上的所有智能体可见 - 内置Skills:随OpenClaw安装包分发(npm或OpenClaw.app)
- 额外目录:通过
skills.load.extraDirs配置添加(优先级最低)
这种优先级设计允许在不同层级覆盖技能定义,工作区技能可以覆盖全局技能,从而实现个性化定制。
3.2 加载流程详解
Skills加载流程包含以下五个步骤:
1. 启动时扫描所有Skills目录 ↓ 2. 读取每个SKILL.md的metadata.openclaw.requires字段 ↓ 3. 检查环境变量、二进制文件、配置项等是否满足 ↓ 4. 合格的Skills列表会被缓存 ↓ 5. 启用文件监视(skills.load.watch: true),SKILL.md变更时自动刷新环境检查示例:
// 伪代码示例functioncheckRequirements(requires){if(requires.bins){for(constbinofrequires.bins){if(!commandExists(bin))returnfalse;}}if(requires.env){for(constenvVarofrequires.env){if(!process.env[envVar])returnfalse;}}if(requires.config){for(constconfigKeyofrequires.config){if(!configHas(configKey))returnfalse;}}returntrue;}只有通过所有环境检查的Skills才会被加载到可用技能列表中,这确保了只有可用的技能才会被推荐给AI使用。
3.3 全局配置文件
OpenClaw的全局配置文件位于~/.openclaw/openclaw.json,支持JSON5格式:
{ "skills": { "entries": { "tavily-search": { "enabled": true, "apiKey": "tvly-xxxxx", "env": { "TAVILY_API_KEY": "tvly-xxxxx" }, "config": { "maxResults": 10, "searchDepth": "basic" } }, "github-manager": { "enabled": true, "config": { "defaultRepo": "my-repo", "defaultBranch": "main" } } }, "load": { "watch": true, // 启用文件监视 "watchDebounceMs": 250, // 防抖延迟(毫秒) "extraDirs": [ "/opt/openclaw/skills", "/shared/skills" ] } } }这种集中配置方式使得技能管理更加灵活,可以通过配置文件控制技能的启用状态、注入环境变量和自定义配置项。
3.4 热重载机制
当skills.load.watch: true时,OpenClaw会启用文件监视,监听Skills目录的变化:
- 新增Skill:自动发现并加载
- 修改SKILL.md:自动重新解析元数据和说明
- 删除Skill:自动从可用列表移除
热重载采用防抖机制(默认250ms),避免频繁修改导致的多次重载。这种设计实现了真正的"即插即用",无需重启OpenClaw服务即可生效。
四、ClawHub技能市场
4.1 ClawHub的功能与定位
ClawHub是OpenClaw的官方技能市场,类比于npm之于Node.js。它提供了技能的搜索、安装、版本管理、发布、备份全生命周期能力,无需编写代码,一条命令即可为Agent扩展新能力。
ClawHub核心功能:
- 技能发布:用户可以上传AgentSkills技能包到市场
- 版本管理:类似npm的版本控制系统,支持版本回滚
- 向量搜索:通过向量化技术实现技能的语义搜索
- 一键安装:支持npm、pnpm、bun等包管理器快速安装技能
- 安全扫描:集成VirusTotal进行恶意代码检测
4.2 ClawHub市场规模与筛选
截至2026年3月,ClawHub已收录**13,000+**社区贡献的技能。然而,OpenClaw官方对技能进行了严格筛选:
| 项目 | 数量 | 说明 |
|---|---|---|
| 原始技能总数 | 13,729 | 提交到ClawHub的所有技能 |
| 垃圾测试技能 | 1,180 | 无实际功能的测试技能 |
| 加密货币相关技能 | 672 | 疑似庞氏骗局的币圈技能 |
| 重复相似技能 | 492 | 功能雷同的低质量技能 |
| 恶意技能 | 396 | 窃取凭证、安装后门的技能 |
| 最终入选技能 | 约2,868 | 经过官方筛选的高质量技能 |
根据awesome-openclaw-skills仓库的分类,5366个精选技能在各个领域的分布如下:
| 分类 | 技能数量 | 占比 |
|---|---|---|
| Coding Agents & IDEs | 1,222 | 22.8% |
| Web & Frontend Development | 938 | 17.5% |
| DevOps & Cloud | 409 | 7.6% |
| Search & Research | 352 | 6.6% |
| Browser & Automation | 335 | 6.2% |
| Productivity & Tasks | 206 | 3.8% |
| AI & LLMs | 197 | 3.7% |
| CLI Utilities | 186 | 3.5% |
| Image & Video Generation | 169 | 3.1% |
| Communication | 149 | 2.8% |
4.3 ClawHub常用命令
安装ClawHub CLI:
npminstall-gclawhub常用命令:
# 搜索技能clawhub search"summarize"# 安装技能clawhubinstallsummarize# 查看已安装技能clawhub list# 升级指定技能clawhub update summarize# 升级全部技能clawhub update--all# 扫描并发布更新clawhubsync--all# 卸载技能clawhub uninstall summarize# 查看技能详情clawhub info summarize4.4 腾讯SkillHub本土化市场
针对中国用户,腾讯云推出了SkillHub本土化市场,主要优化包括:
- 中文搜索:支持中文关键词搜索技能
- 国内节点分发:下载安装更稳定顺畅
- 中文界面:有精选榜单和推荐列表
- 技能收录:包含13,000+个龙虾技能
SkillHub的推出极大地降低了中国用户使用OpenClaw的门槛,让国内开发者能够更便捷地发现和使用高质量的技能。
五、技能开发指南
5.1 创建自定义Skill的步骤
第一步:创建目录
mkdir-p~/.openclaw/skills/hello-worldcd~/.openclaw/skills/hello-world第二步:编写SKILL.md
---name:hello_worlddescription:一个简单的打招呼技能version:1.0.0---# Hello World技能这个技能用于向用户打招呼,展示基本的Skill结构。## 使用场景当用户询问"你好"、"hello"等问候语时,使用此技能。## 执行逻辑1. 获取当前时间 2. 根据时间生成问候语(早上好/下午好/晚上好) 3. 返回友好的问候消息第三步:测试技能
# 启动OpenClawopenclaw# 在对话中测试用户:你好 AI:早上好!今天有什么可以帮你的吗?5.2 实战案例:创建文件监控Skill
场景描述:监控指定目录,当有新文件创建时发送通知。
SKILL.md内容:
---name:file-watcherdescription:监控目录变化,实时通知新文件创建version:1.0.0permissions:["file.read","file.write"]metadata:openclaw:requires:bins:["inotifywait"]config:["watch.directory"]---# 文件监控技能监控指定目录的文件变化,当有新文件创建时发送通知。## 使用场景当用户需要以下任务时使用此技能:-监控上传目录的新文件-实时跟踪项目文件变化-自动化文件处理流程## 执行步骤1. 使用inotifywait监控目录 2. 检测CREATE事件 3. 记录新文件信息(路径、大小、时间) 4. 生成通知消息## 配置要求需要配置以下配置项:-`watch.directory`:要监控的目录路径配套脚本(可选):
// index.jsconst{spawn}=require('child_process');functionwatchDirectory(directory){constwatcher=spawn('inotifywait',['-m','-e','create',directory]);watcher.stdout.on('data',(data)=>{constevent=data.toString().trim();console.log(`New file detected:${event}`);});returnwatcher;}module.exports={watchDirectory};5.3 工具组(Tool Groups)
OpenClaw使用工具组来简化工具策略配置,避免逐一配置25+内置工具:
| 工具组 | 包含工具 |
|---|---|
group:runtime | exec, bash, process(运行时命令执行) |
group:fs | read, write, edit, apply_patch(文件系统操作) |
group:session | 界面控制 |
group:automation | cron, gateway(自动化任务) |
group:messaging | message(消息发送) |
group:nodes | nodes(节点管理) |
group:openclaw | 所有内置OpenClaw工具 |
配置示例:
{ "tools": { "allow": ["group:fs", "browser"], // 允许文件系统和浏览器 "deny": ["gateway"], // 禁止网关操作 "profile": "coding", // 预设配置:minimal | coding | messaging | full "byProvider": { "openai/gpt-5.2": { // 针对特定模型允许所有工具 "allow": ["all"] } } } }5.4 技能测试和调试
- 确认OpenClaw版本:
openclaw --version - 查看已加载的Skills:在对话中询问"展示当前可用的Skills"
- 手动触发重载:删除Skills目录下的缓存文件
- 调试日志:检查
~/.openclaw/logs/目录下的运行日志 - 元数据验证:使用
openclaw skills validate命令检查SKILL.md格式
六、常用技能案例分析
6.1 agent-browser(浏览器自动化)
核心功能:支持AI Agent使用的浏览器工具,能够浏览页面、点击、输入文本、截取页面快照。
使用场景:
- 网页浏览和信息提取
- 自动化搜索和抓取
- 表单填写和数据采集
- 页面截图和验证
安装方式:
clawhubinstallagent-browser使用示例:
用户:帮我打开百度首页并搜索"OpenClaw" AI:正在打开百度首页... (浏览器操作) 搜索"OpenClaw"... 找到约1,000,000条结果6.2 tavily-search(联网搜索)
核心功能:专为AI Agent优化的实时联网搜索能力,提供精准的搜索结果和摘要。
配置步骤:
- 访问 tavily.com 注册账号
- 获取API Key
- 安装技能:
clawhub install tavily-search - 配置环境变量:
exportTAVILY_API_KEY="tvly-xxxxx"使用示例:
用户:搜索2026年AI领域最新进展 AI:正在搜索... 根据搜索结果,2026年AI领域的最新进展包括: 1. GPT-5.2发布,推理能力显著提升 2. OpenClaw社区突破100万用户 3. ...6.3 其他热门技能
| 技能名称 | 功能描述 | 下载量 | 推荐度 |
|---|---|---|---|
| 百度搜索Skill | 搜索引擎官方插件 | 36,000+ | ⭐⭐⭐⭐⭐ |
| gmail-manager | 邮件处理和管理 | 高 | ⭐⭐⭐⭐ |
| notion-manager | Notion笔记管理 | 高 | ⭐⭐⭐⭐ |
| weather | 天气查询和预报 | 高 | ⭐⭐⭐ |
| stock-watcher | 股票监控和预警 | 中 | ⭐⭐⭐ |
| summarize | 文本摘要和提炼 | 高 | ⭐⭐⭐⭐ |
七、安全注意事项
7.1 恶意技能风险
根据安全公司Koi Security的审计,ClawHub市场存在严重的安全问题:
- 341个恶意技能:窃取SSH密钥、浏览器密码、API凭证
- 8000+非恶意垃圾技能:无实际功能或功能重复
- 伪装性攻击:使用诱人名称如"smart-email-assistant"、“calendar-sync-pro”
7.2 安全防护措施
OpenClaw已采取以下安全措施:
- VirusTotal集成:所有技能发布时自动扫描
- 账号门槛:GitHub账号需注册满一周才能发布技能
- 评论门槛:需通过GPT 5.2验证才能发表评论
- 每日扫描:所有活动技能每天重新扫描
7.3 用户防护建议
- 审查源码:无论从哪个渠道安装,都要审查SKILL.md源码
- 使用精选列表:优先使用
awesome-openclaw-skills等经过筛选的列表 - 查看下载量:关注热门技能,下载量高的技能相对更可靠
- 验证VirusTotal报告:在ClawHub官网查看技能的安全扫描结果
- 检查GitHub账号:验证技能作者的账号年龄和声誉
- 避免敏感授权:不要随意授权API密钥或OAuth Token
7.4 隔离运行建议
对于不信任的技能,建议:
{ "skills": { "entries": { "untrusted-skill": { "enabled": true, "sandbox": true, // 在沙箱中运行 "restricted": true, // 限制权限 "env": {} // 不注入真实环境变量 } } } }八、技能生态与发展趋势
8.1 技能生态现状
OpenClaw技能生态已经形成了完整的链条:
开发者 → 创建Skill → 发布到ClawHub → 用户搜索下载 → 集成到Agent → 反馈优化生态参与者包括:
- 技能开发者:贡献高质量技能,获得社区认可
- 技能平台:ClawHub、腾讯SkillHub提供分发渠道
- 技能用户:使用技能扩展Agent能力
- 安全团队:持续监控恶意技能,维护生态健康
8.2 发展趋势
- 技能专业化:越来越多的垂直领域技能涌现(如量化投资、科研辅助、医疗诊断)
- 技能组合化:多个技能组合形成完整的解决方案
- 技能智能化:技能本身具备学习和优化能力
- 技能安全化:更严格的安全审查和认证机制
8.3 企业级应用
越来越多的企业开始将Skills用于实际业务场景:
- 客户服务:自动处理常见问题,生成FAQ
- 数据分析:自动化报表生成和趋势分析
- 代码开发:代码审查、测试、部署自动化
- 文档管理:自动生成技术文档和API说明
九、总结
OpenClaw的Skills技能系统是其模块化架构的核心,通过ClawHub市场实现了技能的发现、安装和管理。本文从技能的概念、设计理念、文件结构、加载机制等方面进行了全面剖析,介绍了ClawHub市场的功能和生态,提供了技能开发指南和安全注意事项。
随着AI技术的不断发展,Skills系统将继续演进,为用户提供更强大、更安全的AI Agent能力。无论你是开发者还是用户,都可以通过Skills系统扩展OpenClaw的能力,构建属于自己的AI智能体。
上一篇:[第 008 篇] 龙虾如何思考——OpenClaw Agent 智能体循环机制深度解析
下一篇:[第 010 篇] OpenClaw多渠道接入:WhatsApp、Telegram、飞书等
参考资料
- Skills - OpenClaw官方文档
- ClawHub技能市场
- GitHub - VoltAgent/awesome-openclaw-skills
- OpenClaw Skills开发指南 - CSDN
- OpenClaw Tools工具详解 - CSDN
- 2026年GitHub热门OpenClaw Skills整理 - 阿里云
- ClawHub必装Skills清单 - CSDN
- 腾讯SkillHub上线 - 腾讯网
- 6个超实用Skills - 腾讯网
- OpenClaw agent-browser技能实战 - CSDN