乐于分享
好东西不私藏

OpenClaw Skills 架构指南:模块化AI能力扩展系统

OpenClaw Skills 架构指南:模块化AI能力扩展系统
✨ 一、架构概述:技能化 AI 能力扩展
📌 1.1 核心设计理念

OpenClaw Skills 是一个模块化、可插拔的 AI 能力扩展框架,遵循 AgentSkills 规范,通过标准化的SKILL.md文件定义任务执行逻辑和工具调用流程。

📌 1.2 架构价值定位
  • 🌟能力封装
    :将复杂任务封装为可复用的技能单元
  • 💫标准化接口
    :统一的技能定义和调用规范
  • 生态扩展
    :支持第三方技能开发和社区共享
  • 🎯版本管理
    :支持技能的版本控制和依赖管理
✨ 二、技能架构设计
📌 2.1 核心架构组件
💡 2.1.1 技能定义文件(SKILL.md)

📝 Code

# 元数据部分(YAML格式)name: web-searchversion: 1.0.0description: 联网搜索与信息提取技能author: OpenClaw Teamdependencies:  - web-fetch  - text-analyzertools:  - web_search  - web_fetchtriggers:  - "搜索"  - "查找"  - "查询"

💡 2.1.2 技能目录结构

📝 Code

skill-name/├── SKILL.md          # 核心技能定义文件├── planning.md       # 任务规划指南(可选)├── scripts/          # 辅助脚本目录│   ├── setup.sh      # 安装脚本│   └── cleanup.sh    # 清理脚本├── templates/        # 模板文件目录│   └── report.md     # 报告模板└── docs/             # 文档目录    └── api-reference.md

📌 2.2 技能分类体系
💡 2.2.1 信息获取类技能
技能名称
核心能力
技术实现
典型应用
web-search
联网搜索与结果摘要
Brave Search API
市场调研、竞品分析
tavily-search
深度网页内容提取
Tavily AI API
学术研究、数据采集
web-fetch
网页内容抓取
HTTP 请求+DOM 解析
内容监控、信息聚合
💡 2.2.2 浏览器自动化技能
技能名称
核心能力
技术实现
典型应用
agent-browser
无头浏览器控制
Playwright/Puppeteer
自动化测试、数据抓取
web-browsing
交互式网页操作
浏览器扩展集成
表单填写、系统登录
browser-screenshot
网页截图与 OCR
截图+图像识别
页面监控、内容验证
💡 2.2.3 开发运维技能
技能名称
核心能力
技术实现
典型应用
code-executor
代码沙箱执行
Node.js 沙箱
代码测试、脚本运行
git-manager
Git 仓库管理
Git 命令行封装
版本控制、代码部署
docker-controller
容器管理
Docker API
服务部署、环境管理
💡 2.2.4 文件处理技能
技能名称
核心能力
技术实现
典型应用
file-manager
文件系统操作
Node.js fs 模块
文件管理、日志处理
excel-analyzer
Excel 数据分析
SheetJS 库
报表分析、数据处理
pdf-parser
PDF 内容提取
PDF.js 库
文档解析、信息提取
💡 2.2.5办公自动化技能
技能名称
核心能力
技术实现
典型应用
office-automation
Office 文档处理
文档模板引擎
报告生成、文档处理
email-client
邮件收发管理
SMTP/IMAP 协议
邮件自动化、通知发送
calendar-manager
日程管理
日历 API 集成
会议安排、提醒设置
💡 2.2.6 系统管理技能
技能名称
核心能力
技术实现
典型应用
terminal
命令行执行
子进程管理
服务器运维、脚本执行
system-debug
系统监控调试
系统指标采集
性能监控、故障排查
process-manager
进程管理
进程控制 API
服务管理、资源监控
✨ 三、部署架构
📌 3.1 技能加载路径体系
💡 3.1.1 多级加载路径(优先级从高到低)
  • 🌟工作区技能
    <workspace>/skills/
  • 💫
    最高优先级,项目专用技能
  • 适用于特定项目需求
  • 🎯用户本地技能
    ~/.openclaw/skills/
  • 💡
    用户个人技能库
  • 🚀
    跨项目共享的技能
  • 🎨内置系统技能
    /usr/local/lib/node_modules/openclaw/skills/
  • 📌
    系统预装核心技能
  • 🌟
    最低优先级,基础能力保障
  • 💫扩展技能目录
    (通过配置添加)

📝 Code

{  "skills": {    "load": {      "extraDirs": [        "/opt/openclaw/skills",        "/shared/skills"      ]    }  }}
💡 3.1.2 路径解析逻辑

📝 Code

// 伪代码:技能路径解析function resolveSkillPath(skillName) {  const searchPaths = [    `${workspace}/skills/${skillName}`,      // 工作区优先    `${userHome}/.openclaw/skills/${skillName}`, // 用户目录    ...extraDirs.map(dir => `${dir}/${skillName}`), // 扩展目录    `${systemPath}/skills/${skillName}`      // 系统目录  ];  return searchPaths.find(path => fs.existsSync(path));}
📌 3.2 技能安装与管理
💡 3.2.1 ClawHubCLI生态系统

📝 Code

# 1. 安装ClawHub CLI(技能包管理器)npm install -g clawhub# 2. 技能发现与搜索clawhub search "web automation"          # 关键词搜索clawhub search --category "browser"      # 分类搜索clawhub search --author "openclaw"       # 作者搜索# 3. 技能安装与更新clawhub install web-search               # 安装单个技能clawhub install code-executor git-manager # 批量安装clawhub update web-search                # 更新指定技能clawhub update --all                     # 更新所有技能# 4. 技能信息与管理clawhub list                             # 查看已安装技能clawhub info web-search                  # 查看技能详情clawhub uninstall web-search             # 卸载技能

💡 3.2.2 手动技能部署

📝 Code

# 1. 创建工作区技能目录mkdir -p ~/projects/my-project/skills/my-custom-skill# 2. 创建SKILL.md文件cat > ~/projects/my-project/skills/my-custom-skill/SKILL.md << 'EOF'---name: my-custom-skillversion: 1.0.0description: 自定义业务技能tools:  - exec  - read  - write---# 自定义技能说明## 功能描述这是一个自定义的业务技能...## 使用示例```bashopenclaw my-custom-skill "处理业务数据"

EOF

✨ 3. 技能自动加载(无需重启)
✨ OpenClaw 会自动检测并加载新技能

📝 Code

### 3.3 配置管理架构#### 3.3.1 多级配置体系```json{  "skills": {    "enabled": true,    "load": {      "extraDirs": ["/custom/skills"],      "exclude": ["legacy-skill"]    },    "web-search": {      "apiKey": "${BRAVE_API_KEY}",      "country": "US",      "freshness": "pm"    },    "tavily-search": {      "apiKey": "${TAVILY_API_KEY}",      "searchDepth": "advanced"    }  }}

💡 3.3.2环境变量配置

📝 Code

# API密钥配置export BRAVE_API_KEY="your-brave-api-key"export TAVILY_API_KEY="your-tavily-api-key"export OPENAI_API_KEY="your-openai-api-key"# 技能特定配置export WEB_SEARCH_COUNTRY="CN"export WEB_SEARCH_FRESHNESS="pw"

💡 3.3.3 初始化配置流程

📝 Code

# 首次部署引导配置openclaw onboard# 强制重新配置openclaw onboard --force# 交互式配置模式openclaw onboard --interactive# 静默配置模式(使用默认值)openclaw onboard --silent

✨ 四、命令参考手册
📌 4.1 核心系统命令
💡 4.1.1 技能管理命令

📝 Code

# 技能列表与状态openclaw skills list                    # 列出所有可用技能openclaw skills list --enabled          # 列出已启用技能openclaw skills list --disabled         # 列出已禁用技能openclaw skills list --verbose          # 详细列表(含版本信息)# 技能启用与禁用openclaw skills enable web-search       # 启用指定技能openclaw skills disable web-search      # 禁用指定技能openclaw skills enable --all            # 启用所有技能openclaw skills disable --all           # 禁用所有技能# 技能信息查看openclaw skills info web-search         # 查看技能详细信息openclaw skills validate web-search     # 验证技能配置完整性

💡 4.1.2 浏览器控制命令

📝 Code

# 浏览器服务管理openclaw browser start                  # 启动浏览器服务openclaw browser stop                   # 停止浏览器服务openclaw browser restart                # 重启浏览器服务openclaw browser status                 # 查看浏览器状态# 网页操作命令openclaw browser open https://example.com  # 打开网页openclaw browser screenshot              # 截图当前页面openclaw browser screenshot --full-page  # 全页面截图openclaw browser pdf https://example.com # 生成PDFopenclaw browser console                 # 打开浏览器控制台

💡 4.1.3 系统管理命令

📝 Code

# 系统状态与配置openclaw status                         # 查看系统状态openclaw config show                    # 显示当前配置openclaw config validate                # 验证配置文件openclaw version                        # 查看版本信息# 日志与调试openclaw logs                           # 查看系统日志openclaw logs --follow                  # 实时跟踪日志openclaw logs --level debug             # 查看调试级别日志openclaw debug skills                   # 调试技能加载
📌 4.2 技能调用命令示例
💡 4.2.1 信息获取技能

📝 Code

# 网页搜索openclaw web-search "OpenClaw架构设计"openclaw web-search "AI智能体开发" --count 10openclaw web-search "最新技术趋势" --freshness pd# 网页内容提取openclaw web-fetch https://example.com --extract-mode markdownopenclaw web-fetch https://docs.openclaw.ai --max-chars 5000# 深度搜索openclaw tavily-search "机器学习最新论文" --search-depth advanced

💡 4.2.2 开发运维技能

📝 Code

# 代码执行openclaw code-executor "console.log('Hello World')"openclaw code-executor --file script.jsopenclaw code-executor --lang python "print('Python代码')"# Git操作openclaw git-manager clone https://github.com/user/repo.gitopenclaw git-manager statusopenclaw git-manager commit -m "更新功能"openclaw git-manager push origin main# 容器管理openclaw docker-controller psopenclaw docker-controller run nginx:latestopenclaw docker-controller logs container-id

💡 4.2.3 文件处理技能

📝 Code

# 文件操作openclaw file-manager read document.mdopenclaw file-manager write output.txt "内容"openclaw file-manager edit config.json --path "settings.timeout" --value 30# Excel处理openclaw excel-analyzer parse data.xlsx --sheet "Sheet1"openclaw excel-analyzer generate report.xlsx --data data.json# PDF处理openclaw pdf-parser extract document.pdf --pages "1-5"openclaw pdf-parser analyze manual.pdf --prompt "提取关键步骤"

💡 4.2.4办公自动化技能

📝 Code

# 邮件处理openclaw email-client send --to user@example.com --subject "通知" --body "内容"openclaw email-client inbox --unreadopenclaw email-client search "重要邮件"# 文档生成openclaw office-automation generate report.docx --template template.docx --data data.jsonopenclaw office-automation convert document.docx document.pdf

📌 4.3 高级使用模式
💡 4.3.1 技能组合调用

📝 Code

# 组合搜索与处理openclaw web-search "市场分析报告" | openclaw file-manager write analysis.mdopenclaw web-fetch https://data.source.com | openclaw excel-analyzer parse
💡 4.3.2 脚本化技能调用

📝 Code

#!/bin/bash# 自动化工作流脚本openclaw web-search "$1" --count 5 > search_results.jsonopenclaw file-manager read search_results.json | openclaw excel-analyzer generate "report_$(date +%Y%m%d).xlsx"openclaw email-client send --to team@company.com --subject "每日报告" --attachment "report_$(date +%Y%m%d).xlsx"
💡 4.3.3 技能调试与测试

📝 Code

# 技能调试模式openclaw web-search "测试查询" --debugopenclaw code-executor --dry-run "测试代码"# 性能测试time openclaw web-search "性能测试" --count 20openclaw skills benchmark web-search --iterations 100
✨ 五、最佳实践指南
📌 5.1 技能开发规范
💡 5.1.1 SKILL.md 编写规范

📝 Code

---name: skill-nameversion: 1.0.0description: 清晰的功能描述author: 作者/团队license: MITdependencies:  # 依赖的其他技能  - required-skill  - optional-skilltools:  # 需要的工具权限  - exec  - read  - writetriggers:  # 触发关键词  - "搜索"  - "查找"parameters:  # 参数定义  query:    type: string    required: true    description: 搜索关键词  count:    type: number    default: 10    description: 结果数量---# 技能名称## 功能概述详细的功能描述...## 使用示例```bashopenclaw skill-name "参数"

📌5.2 部署与运维实践
💡 5.2.1 生产环境部署

📝 Code

# 1. 环境准备export NODE_ENV=productionexport OPENCLAW_HOME=/opt/openclaw# 2. 安装OpenClawnpm install -g openclaw# 3. 安装核心技能clawhub install web-search code-executor file-manager git-manager# 4. 配置技能API密钥openclaw onboard --silent# 5. 验证安装openclaw statusopenclaw skills list --enabled

💡 5.2.2 技能更新策略

📝 Code

# 定期更新检查clawhub update --check# 安全更新(测试环境先行)clawhub update web-search --dry-runclawhub update web-search --version 2.0.0# 批量更新管理clawhub update