乐于分享
好东西不私藏

让 AI 真正“动手”:OpenClaw Skill 执行机制深度解析

让 AI 真正“动手”:OpenClaw Skill 执行机制深度解析

从意图到行动,一文看懂智能体如何调用你的脚本

引子:脚本的“最后一公里”困境

每个开发者的硬盘深处都躺着几十上百个写好的脚本。它们解决了各种特定问题——PDF 处理、数据分析、文件批量重命名——但每次调用都需要手动切到终端、输入命令、拼接参数。

这些脚本就像被锁在黑匣子里的宝藏,只有编写者自己知道如何开启。AI 助手能看到它们,却无法真正使用它们。

OpenClaw Skill 体系,就是为了打通这“最后一公里”而生。

一、Skill 是什么?

Skill 本质上是一个标准化的能力描述层,它充当智能体和外部工具之间的桥梁。它不是黑盒插件,而是遵循固定规范的能力扩展包。

三级渐进式披露架构

OpenClaw Skill 采用独特的三级设计,确保即使安装了上百个 Skill,AI 也能高效找到最合适的那一个:

级别
内容
上下文占用
第一级:名片
名称 + 简短描述
始终存在,极低
第二级:说明书 SKILL.md

 正文
匹配时才加载
第三级:执行逻辑
脚本代码
真正调用时运行

标准目录结构

skill-name/├── SKILL.md          # 核心:元数据 + 使用指南├── scripts/          # 可执行脚本(Python/Shell/JS)├── references/       # API 文档、Schema└── assets/           # 模板、图片等资源

二、SKILL.md:给 AI 看的“操作手册”

SKILL.md 是 Skill 的灵魂,采用 YAML Frontmatter + Markdown 正文 的双层结构。

YAML 元数据:告诉 AI“你是谁”

name: pdf-rotatedescription: "旋转 PDF 页面,支持 90/180/270 度批量处理"metadata:  openclaw:    emoji: "📄"    requires:      bins: ["python3""pdftk"]

关键字段:

  • description触发核心,AI 据此判断是否调用

  • requires.bins:依赖声明,不满足则 Skill 不加载

Markdown 正文:告诉 AI“怎么用”

正文用自然语言详细描述:

  • 何时使用 / 何时不用

  • 操作步骤和命令示例

  • 参数说明和常见问题

描述质量直接决定调用成功率。 AI 不调用或总出错,问题往往在描述文件,而非脚本本身。

三、完整执行链路:从意图到行动

当用户发起请求,整个链路分四步走:

用户提问 → 匹配 description → 加载 SKILL.md → 调用 exec 执行脚本 → 返回结果

1️⃣ 发现阶段

OpenClaw Gateway 启动时,会读取所有 Skill 的描述信息作为“工具”提供给大模型。AI 根据description字段做初步匹配。

2️⃣ 决策阶段

匹配成功后,AI 加载 Skill.md 正文,理解使用方法和参数规则,然后生成完整的 Shell 命令。

3️⃣ 执行阶段:exec 工具接手

这是最关键的一环。AI 调用 exec 工具来执行具体命令(如 python3 rotate.py --angle 90)。

exec 两种执行模式:

  • 前台模式(默认):等待命令结束,直接返回输出,适合快速任务

  • 后台模式:适合耗时任务,可通过 background: true 或 yieldMs 触发,立即返回 sessionId 供后续管理

关键参数:

参数
说明
workdir
工作目录
env
环境变量
timeout
超时时间(默认 1800 秒)
pty
是否需要伪终端
host
执行位置:gateway/sandbox/node

安全控制

OpenClaw 提供多层安全机制:

  • 依赖门控requires.bins 不满足时 Skill 不加载

  • 路径隔离:支持沙箱执行

  • 变量保护:拒绝 PATH 和 LD_* 等关键变量覆盖

  • 审批机制:高危命令可配置人工确认

四、执行环境的本质

exec 工具本身不包含 Python 执行能力。它的本质是在指定主机上运行 Shell 命令,最终调用的是本机安装的 Python 解释器

脚本能正常运行的前提:

1. 目标主机已安装 Python

2. 依赖包已提前装好

3. SKILL.md中声明了所需工具

OpenClaw 的设计哲学是 “声明,而非强制安装” ——检查依赖是否满足,但不自动安装系统包。

五、一次完整的执行流程

用户:“帮我把这个 PDF 旋转 90 度”    ↓AI 扫描 Skill 描述,匹配到 pdf-rotate    ↓AI 读取 SKILL.md,获取使用方法    ↓AI 生成命令:python3 /path/to/rotate.py --angle 90 -f report.pdf    ↓AI 调用 exec 工具执行命令    ↓exec 在本机 Shell 中运行    ↓Python 解释器执行 rotate.py    ↓exec 捕获输出返回给 AI    ↓AI 回复:“PDF 已旋转 90 度,保存为 report_rotated.pdf

结语:从“建议者”到“执行者”

Skill 的本质,是将“命令式执行”转化为“意图式响应”。

它让 AI 在合适的时机自动调用你的脚本,成为感知和改造世界的延伸器官。从此,AI 不再只是一个只会提建议的聊天机器人,而是一个能真正替你“动手”的数字助理。

而这,才是智能体该有的样子。