深度

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)"
          }
        ]
      }
  }
---

支持的安装器类型:brewnodegouvdownload

配置文件覆盖

~/.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 多 Gateway 架构完全指南:一台机器运行多个独立 AI 助手实例OpenClaw 多 Gateway(Multi-Gateway)架构完整教程:多实例的隔离优势、同一台机器运行多个 Gateway(不同端口/配置文件/workspace)、systemd 管理多个 Gateway 服务、Nginx 虚拟主机为每个实例分配独立域名、API Key 隔离与成本拆分、单机多实例 vs 多机方案对比,以及 Docker Compose 多容器隔离部署方案。2026/3/26深度OpenClaw Hooks 自动化进阶:消息前后的智能拦截、转换与触发机制OpenClaw Hooks(钩子)自动化系统进阶教程:Hooks 的触发时机(before-send/after-receive/on-tool-call)、用 Hooks 拦截消息并修改内容(自动翻译/过滤/格式化)、基于条件的 Hook 触发(渠道过滤/关键词匹配)、Hook 中调用外部 API(Notion 记录/Bark 通知/监控告警)、exec 工具二次确认 Hook,以及 Hooks 与 SOUL.md 和 Standing Orders 的优先级关系详解。2026/3/26深度OpenClaw 插件开发完全指南:从零构建自定义渠道和工具插件OpenClaw 插件(Plugin)开发完整教程:插件类型(渠道插件/工具插件/Provider插件)、插件的目录结构和 package.json 规范、使用 Plugin SDK 开发自定义消息渠道(实现 onMessage/sendMessage 接口)、开发自定义工具(Tool)的函数签名和参数 Schema、本地插件安装与调试(openclaw plugins install ./local-plugin)、发布到 npm 的规范要求(@openclaw/ 命名空间)、插件的权限声明(capabilities)、社区插件列表(Plugin Bundles)获取,以及常见插件开发错误和调试技巧。2026/3/25深度OpenClaw 安全威胁模型深度解析:MITRE ATLAS 框架下的 AI 助手攻防分析OpenClaw 安全架构深度分析:个人助手信任模型(单用户/单 Gateway 边界)、形式化验证的认证逻辑、基于 MITRE ATLAS 框架的 AI 系统威胁分类(直接提示注入/间接提示注入/工具滥用/数据泄露/会话劫持)、多租户共享 Gateway 的风险与安全边界说明、exec/browser/文件工具的权限最小化配置、频道白名单与沙箱配置对应的威胁缓解措施,以及 `openclaw security audit` 命令的使用方法。2026/3/24