深度

OpenClaw Skills 系统深度解析:加载机制、条件门控与 ClawHub 技能市场

OpenClaw Skills 系统完整解析:三级加载优先级(Workspace/Managed/Bundled)、多 Agent 共享与专属技能管理、ClawHub 技能市场使用方法、SKILL.md 格式规范、条件门控(bins/env/config 检查)、自动安装器配置,以及 Token 消耗计算和安全注意事项。

2026/3/104分钟 阅读ClaudeEagle

OpenClaw 使用 AgentSkills 兼容的技能文件夹来扩展 Agent 能力。每个 Skill 是一个包含 SKILL.md 的目录,文件头部有 YAML frontmatter 和使用说明。本文深度解析 OpenClaw 的 Skills 系统。

Skills 加载位置与优先级

Skills 从三个位置加载,优先级从高到低:

  1. Workspace Skills:<workspace>/skills(最高优先级)
  2. Managed/Local Skills:~/.openclaw/skills
  3. Bundled Skills:随 OpenClaw 安装包内置(最低优先级)

额外来源可通过 skills.load.extraDirs 配置(最低优先级)。

同名 Skill 存在冲突时,Workspace 覆盖 Managed,Managed 覆盖 Bundled。

多 Agent 环境中的 Skills 管理

在多 Agent 配置中:

  • 每个 Agent 专属 Skills:放在 <workspace>/skills,仅对该 Agent 可见
  • 所有 Agent 共享 Skills:放在 ~/.openclaw/skills,机器上所有 Agent 都可访问
  • 共享包:通过 skills.load.extraDirs 配置(多 Agent 公用)

ClawHub:技能市场

ClawHub 是 OpenClaw 的公共技能注册表,网址:https://clawhub.com

常用操作:

bash
# 安装技能到当前工作区
clawhub install <skill-slug>

# 更新所有已安装技能
clawhub update --all

# 同步(扫描 + 发布更新)
clawhub sync --all

默认安装到当前目录下的 ./skills,OpenClaw 下次 Session 时会自动识别。

SKILL.md 格式规范

最简结构(至少需要以下内容):

markdown
---
name: my-skill
description: 这个技能的简要描述
---

## 使用说明
在这里写 Agent 如何使用这个工具...

可选的 frontmatter 字段:

字段说明
homepage技能官网 URL
user-invocabletrue/false(默认 true),是否作为斜杠命令暴露给用户
disable-model-invocationtrue/false(默认 false),排除在模型提示中,但用户仍可调用
command-dispatch设为 tool 时,斜杠命令绕过模型直接分发给工具
command-tool分发时调用的工具名

条件门控(Gating)

这是 Skills 系统的核心功能——在加载时过滤不满足条件的技能:

markdown
---
name: my-gemini-skill
description: 使用 Gemini CLI 进行编码辅助
metadata:
  {
    "openclaw":
      {
        "requires": {
          "bins": ["gemini"],
          "env": ["GEMINI_API_KEY"],
          "config": ["browser.enabled"]
        },
        "primaryEnv": "GEMINI_API_KEY"
      }
  }
---

metadata.openclaw 支持的字段:

字段说明
always: true始终加载(跳过其他检查)
os仅在指定 OS 上加载(darwin, linux, win32)
requires.bins必须存在于 PATH 的二进制文件列表
requires.anyBins至少一个存在于 PATH
requires.env必须存在的环境变量
requires.configopenclaw.json 中必须为 truthy 的配置路径
primaryEnv关联 skills.entries.<name>.apiKey 的环境变量名
install安装器规格(供 macOS Skills UI 使用)

自动安装配置示例

markdown
---
name: gemini
description: Gemini CLI 编码助手
metadata:
  {
    "openclaw":
      {
        "emoji": "♊️",
        "requires": { "bins": ["gemini"] },
        "install": [
          {
            "id": "brew",
            "kind": "brew",
            "formula": "gemini-cli",
            "bins": ["gemini"],
            "label": "Install Gemini CLI (brew)"
          }
        ]
      }
  }
---

支持的安装器类型:brew、node、go、uv、download

配置文件覆盖

在 ~/.openclaw/openclaw.json 中控制内置技能:

json
{
  "skills": {
    "entries": {
      "my-gemini-skill": {
        "enabled": true,
        "apiKey": { "source": "env", "provider": "default", "id": "GEMINI_API_KEY" },
        "env": {
          "GEMINI_API_KEY": "your-key-here"
        },
        "config": {
          "endpoint": "https://example.com",
          "model": "gemini-pro"
        }
      },
      "unwanted-skill": { "enabled": false }
    }
  }
}
  • enabled: false:禁用该技能(即使是内置的)
  • env:仅当该变量不存在于进程时注入
  • apiKey:方便为声明了 primaryEnv 的技能提供 API Key

Skills 自动刷新

OpenClaw 默认监视技能文件夹,SKILL.md 变更时自动更新技能快照:

json
{
  "skills": {
    "load": {
      "watch": true,
      "watchDebounceMs": 250
    }
  }
}

刷新是热重载:变更会在下一个 Agent 对话轮次生效,无需重启。

Token 消耗说明

当有 Skill 被激活时,OpenClaw 会在系统提示中注入一段紧凑的 XML 技能列表,消耗 Token 的公式:

total = 195 + Σ(97 + len(name) + len(description) + len(location))

粗估:每个 Skill 约消耗 24+ Token(取决于名称和描述长度)。

安全注意事项

  • 将第三方 Skills 视为不可信代码,启用前务必审查
  • 推荐在沙箱环境中运行不可信输入和高风险工具
  • Workspace 和 extraDir 中的 Skills 发现只接受 realpath 在配置根目录内的文件
  • skills.entries.*.env 注入到宿主进程,不是沙箱——请勿将密钥放入提示或日志

远程 macOS 节点上的 Skills

如果 Gateway 运行在 Linux 但连接了一个 macOS 节点(且允许 system.run),OpenClaw 可将 macOS 专用技能标记为可用,Agent 通过 nodes 工具调用。


原文:Skills - OpenClaw | 来源:OpenClaw 官方文档

相关文章推荐

深度OpenClaw Skills 系统完全指南:安装、配置与开发自定义技能OpenClaw Skills(技能)系统完整指南(2026 最新版):Skills 是什么(AgentSkills 兼容的 SKILL.md 目录)、三级加载优先级(bundled/managed/workspace)、多 Agent 环境下的 Skills 共享机制、ClawHub 技能市场(安装/更新/同步命令)、SKILL.md 格式规范(YAML frontmatter/gating 条件/installer 配置)、openclaw.json 中启用/禁用/注入 API Key 的方法、Plugin 携带 Skills 的工作方式,以及从零开发一个自定义 Skill 的完整步骤。2026/3/21深度OpenClaw Skills 系统详解:为你的 AI 助手赋予超能力OpenClaw Skills 系统是其最强大的扩展机制,支持为 AI Agent 增加任意新能力。本文详解 Skills 的加载机制、目录结构、SKILL.md 格式、条件门控、ClawHub 公共仓库使用方法,以及多 Agent 场景下的 Skills 管理策略。2026/2/27深度OpenClaw Session ID 生命周期规则:什么时候会开新会话,什么时候延续旧会话详解 OpenClaw sessionKey 与 sessionId 的区别,以及触发新会话的四种情形:手动重置、每日重置、空闲过期、父级分叉保护,附 Session Store 字段说明和 Cron 会话保留策略。2026/8/13深度OpenClaw 计费故障处理机制:余额不足时系统怎么办,Backoff 退避策略详解详解 OpenClaw 账单/额度类故障处理机制:与普通限流超时不同,计费故障采用更长的指数退避(5小时起步翻倍至24小时封顶)并标记禁用,附三类故障处理力度对比表和多账号部署实战建议。2026/8/13深度OpenClaw Model Failover 完全解析:Auth Profile 怎么轮换,为什么你的 OAuth 账号会"莫名其妙"被切走详解 OpenClaw Model Failover 机制:Auth Profile 轮换顺序、Session Stickiness 会话粘性、指数退避冷却规则,解释多账号场景下 OAuth 与 API Key 切换的常见困惑及固定账号的配置方法。2026/8/13深度OpenClaw Context Engine 完全指南:四个生命周期钩子如何决定模型看到什么详解 OpenClaw 可插拔上下文引擎架构:Ingest/Assemble/Compact/After turn 四个生命周期钩子的工作原理,systemPromptAddition 动态注入机制,以及如何安装和配置自定义 Context Engine 插件。2026/8/12