乐于分享
好东西不私藏

OpenClaw 完全指南 (4):技能系统深度解析——让你的 AI 拥有超能力

OpenClaw 完全指南 (4):技能系统深度解析——让你的 AI 拥有超能力
导语:前两篇教程帮你掌握了 OpenClaw 的安装、绑定和安全配置,但真正的威力在于技能系统!OpenClaw 不是封闭的黑盒,而是一个高度可扩展的框架。本文将深度解析技能系统,从内置技能到自定义开发,从 API 集成到插件市场,手把手教你让 AI 拥有“超能力”。


🚀 什么是技能系统?


技能(Skills)是 OpenClaw 的核心扩展机制,允许你:


  • 调用外部 API:天气查询、新闻获取、邮件发送、股票查询。
  • 执行自定义脚本:Python 脚本、Shell 命令、数据库操作。
  • 集成第三方服务:Notion、Slack、GitHub、Google Calendar。
  • 创建专属功能:个人知识库、自动化工作流、数据分析工具。

简单来说,技能 = AI 的超能力。没有技能,AI 只能聊天;有了技能,AI 可以做事



📚 内置技能一览


OpenClaw 预装了多个实用技能,开箱即用:


1. 搜索技能 (`search`)


  • 功能:联网搜索,获取实时信息。
  • 示例
  用户:2026 年 AI 芯片的最新突破是什么?
AI: [调用 search 技能] 正在搜索... 根据最新报道,华为与科大合作推出了 1000 PetaFLOPS 量子芯片...

2. 天气技能 (`weather`)


  • 功能:查询实时天气和预报。
  • 示例
  用户:上海明天会下雨吗?
AI: [调用 weather 技能] 查询结果:上海明天多云,气温 22-28°C,降水概率 10%。

3. 文件操作技能 (`file_ops`)


  • 功能:读取、写入、搜索、整理文件。
  • 示例
  用户:帮我整理一下 ~/Documents 下的所有 PDF 文件。
AI: [调用 file_ops 技能] 已扫描 15 个 PDF 文件,按日期分类到 ~/Documents/Sorted_PDFs/。

4. 代码执行技能 (`code_exec`)


  • 功能:在沙盒中运行 Python/Shell 代码。
  • 示例
  用户:计算一下 2026 年 4 月 3 日是星期几?
AI: [调用 code_exec 技能] 运行 Python 代码... 2026-04-03 是星期五。

5. 健康检查技能 (`healthcheck`)


  • 功能:系统安全审计、防火墙配置、漏洞扫描。
  • 示例
  用户:检查一下我的 OpenClaw 部署是否安全。
AI: [调用 healthcheck 技能] 扫描完成:发现 2 个中危风险,建议更新 SSH 配置...


🔧 如何启用技能?


技能默认已启用,但部分技能需要配置 API 密钥。


1. 查看已启用技能


openclaw skills list

输出示例:


已启用技能:
  • search (Brave Search API)
  • weather (wttr.in)
  • file_ops (本地)
  • code_exec (沙盒)
  • healthcheck (本地)

需要配置的技能:

  • slack (未配置)
  • github (未配置)

2. 配置技能 API 密钥


编辑 `~/.openclaw/credentials/skills.yaml`:


skills:
slack:
bot_token: "xoxb-xxx"
signing_secret: "xxx"
github:
token: "ghp_xxx"
notion:
api_key: "secret_xxx"

3. 启用/禁用技能


openclaw skills enable slack

openclaw skills disable github



🛠️ 自定义技能开发


如果你想让 AI 做特殊任务,可以自己编写技能


1. 技能目录结构


技能存储在 `~/.openclaw/skills/` 目录下,每个技能一个文件夹:


skills/
├── my_custom_skill/
│ ├── SKILL.md # 技能说明文档
│ ├── script.py # 主脚本
│ └── config.yaml # 配置文件

2. 编写技能脚本


示例:创建一个“随机笑话”技能 (`random_joke`)。


`script.py`:


import requests

def main():

resp = requests.get("https://icanhazdadjoke.com/", headers={"Accept": "application/json"})

joke = resp.json()['joke']

return f"😂 随机笑话:{joke}"


if __name__ == '__main__':

print(main())


`SKILL.md`:


random_joke


描述

获取一条随机笑话,用于娱乐。


触发条件

  • 用户请求“讲个笑话”、“来点幽默”等。

输出

返回一条随机笑话。


3. 注册技能


编辑 `~/.openclaw/config.yaml`,添加技能路径:


skills:
custom:
    • ~/.openclaw/skills/my_custom_skill

    重启 Gateway:


    openclaw gateway restart

    4. 测试技能


    用户:讲个笑话
    AI: 😂 随机笑话:为什么程序员总是分不清万圣节和圣诞节?因为 Oct 31 == Dec 25!


    🔌 技能市场 (ClawHub)


    不想自己写技能?去 ClawHub 下载别人写好的技能!


    1. 搜索技能


    clawhub search weather

    输出示例:


    1. openclaw-weather-pro (作者:@dev123)
    描述:增强版天气技能,支持多城市对比、历史数据查询。
    安装:clawhub install openclaw-weather-pro

    2. openclaw-weather-simple (作者:@newbie)

    描述:极简版天气技能,只返回当前温度。

    安装:clawhub install openclaw-weather-simple


    2. 安装技能


    clawhub install openclaw-weather-pro

    3. 更新技能


    clawhub update all

    4. 发布你的技能


    如果你写了一个好用的技能,可以发布到 ClawHub 共享:


    clawhub publish ~/.openclaw/skills/my_awesome_skill


    🎯 实战案例:构建个人知识库技能


    假设你想让 AI 能回答你个人的笔记、文档、邮件内容,可以创建一个个人知识库技能


    1. 准备数据


    将你的笔记、文档整理到 `~/KnowledgeBase/` 目录:


    KnowledgeBase/
    ├── notes/
    │ ├── 2026-04-01 会议记录.md
    │ └── 2026-04-02 项目计划.md
    ├── emails/
    │ └── inbox.json
    └── docs/
    └── project_spec.pdf

    2. 编写检索脚本


    `script.py`:


    import os
    import re

    def main(query):

    kb_dir = os.path.expanduser("~/KnowledgeBase")

    results = []


    for root, _, files in os.walk(kb_dir):

    for f in files:

    if f.endswith(('.md', '.txt', '.json')):

    path = os.path.join(root, f)

    with open(path, 'r', encoding='utf-8') as file:

    content = file.read()

    if query.lower() in content.lower():

    results.append(f"📄 {path}: {content[:200]}...")


    if results:

    return "找到相关内容:\n" + "\n".join(results[:5])

    else:

    return "未找到相关内容。"


    if __name__ == '__main__':

    import sys

    print(main(sys.argv[1]))


    3. 注册技能


    创建 `SKILL.md` 并添加到配置,重启 Gateway。


    4. 使用


    用户:帮我找一下 4 月 1 日的会议记录。
    AI: 📄 /Users/young/KnowledgeBase/notes/2026-04-01 会议记录.md: 会议主题:Q2 项目规划...


    ⚠️ 安全注意事项


    自定义技能拥有系统执行权限,需谨慎:


    • 沙盒运行:尽量在容器或沙盒中执行外部脚本。
    • 权限控制:限制技能访问敏感目录(如 `~/.ssh`, `~/Documents/Financial`)。
    • 审计日志:记录所有技能调用,定期检查异常行为。
    • 来源验证:只安装可信作者的技能,避免恶意代码。


    🎓 进阶:技能组合与自动化


    你可以组合多个技能,构建复杂的工作流:


    示例:每日晨报技能


    1. 调用天气技能:获取当天天气。

    2. 调用新闻技能:获取最新科技新闻。

    3. 调用日历技能:提取今日会议。

    4. 组合输出:生成一份“每日晨报”。


    `script.py`:


    from skills.weather import get_weather
    from skills.search import search_news
    from skills.calendar import get_events

    def main():

    weather = get_weather("Shanghai")

    news = search_news("AI 最新")

    events = get_events("today")


    report = f"""

    📰 每日晨报 (2026-04-03)

    ======================

    🌤️ 天气:{weather}

    📰 新闻:{news[:200]}...

    📅 会议:{events}

    """

    return report



    📚 下一步学习


    • 技能开发文档:[OpenClaw 技能 API 参考](https://docs.openclaw.ai/skills/api)
    • ClawHub 市场:[浏览热门技能](https://clawhub.ai)
    • 社区教程:[用户贡献的技能教程](https://github.com/openclaw/skills-examples)


    下一篇预告:《OpenClaw 完全指南 (5):多平台联动实战——WhatsApp、Discord、Signal 一键绑定》