1.SKills机制概述
OpenClaw中的Skills是一种基于提示驱动的能力扩展机制,其本质并非传统意义上的可执行插件,而是通过结构化描述文件(SKILL.md)对大模型行为进行约束与引导。
Skills 的核心作用在于:为Agent提供“何时使用某种能力”以及“如何调用底层工具”的决策依据,从而实现复杂任务的模块化拆解与自动化执行。
从系统架构角度看,OpenClaw的能力体系可分为三层:
● Tool层:提供底层可执行能力(如命令执行、网页访问等)
● Skill层:定义任务流程与工具使用策略
● Plugin层:对工具与技能进行封装与分发
2.Skills工作机制
Skills 的执行依赖于大模型推理过程,其核心流程如下:
- 用户输入请求(Prompt)
- OpenClaw将所有已加载Skills的描述信息(SKILL.md)注入系统提示(System Prompt)
- 大模型基于:用户请求和Skills描述(description + instructions)来进行推理决策 判断是否需要调用某个Skill
- 若需要,则按照Skill中定义的流程调用对应Tool
- Tool返回结果后,由模型整合生成最终输出
因此,Skills的触发机制本质上是“基于语义匹配的提示选择”,而非显式函数调用。
由于Skills描述会被注入上下文,每次推理都需要携带相关信息,因此在 Skills 数量较多时,会显著增加上下文长度与 Token 消耗。
3.自定义Skills的实现方式
3.1 基本结构
OpenClaw会从这几个地方加载skill:
● bundled skills:OpenClaw自带(随着npm安装包一起提供的)
●~/.openclaw/skills:本机共享skill
●/skills:当前workspace专属skill
优先级是:
workspace/skills > ~/.openclaw/skills > bundled skills
也就是说,你自己写的 skill,最常见就是放在当前workspace的skills/目录下。
.openclaw\workspace\skills\
└── my-skill\
├── SKILL.md
├── scripts/ # 脚本
├── references/ # 说明文档、schema、流程
└── assets/ # 模板、素材、
712




被折叠的 条评论
为什么被折叠?



