一、Skill 系统概述:Agent 的能力扩展
Skill(技能)是 OpenClaw 的核心扩展单元。它让 Agent 能够调用外部工具、访问 MCP 服务、操作用户文件。不同于传统硬编码的工具调用,OpenClaw 的 Skill 以声明式配置文件(SKILL.md)为基础,支持动态发现、热插拔安装和版本管理。

▲ Skill 定义核心结构:SKILL.md 描述元数据 + handler 入口函数 + 参数 schema
二、Skill 加载与初始化流程
OpenClaw 启动时,会扫描配置的 Skill 目录(默认为 workspace/skills/),逐个读取 SKILL.md,构建 Skill 注册表(SkillRegistry)。
Skill 加载四步: ① 目录扫描 — 遍历 skills/ 目录,查找所有 SKILL.md 文件 ② 元数据解析 — 解析 SKILL.md 中的 name/description/triggers 字段 ③ 注册到 SkillRegistry — 构建 name→SkillDescriptor 的映射表 ④ 初始化 MCP 连接 — 对需要 MCP 工具的 Skill,建立 MCP 连接池

▲ Skill 加载流程:目录扫描 → 元数据解析 → 注册表构建 → MCP 连接初始化
三、Skill 的触发与执行机制
用户消息进入 Agent 后,经过意图识别模块,匹配到对应 Skill 的触发词(trigger),再由 SkillExecutor 分发执行。
🔗 Skill 触发与执行链路
- 意图识别
— 对用户输入做 embedding,与 Skill 描述做余弦相似度匹配 - Skill 调度
— SkillExecutor 根据匹配结果,选择最优 Skill 分发任务 - 参数提取
— 根据 Skill 的 parameterSchema 提取用户输入中的参数 - 执行与响应
— 调用 Skill handler,将结果返回给 Agent 对话层 - 错误处理
— 执行失败时,SkillExecutor 自动降级到通用 LLM 回复
Skill 执行器核心逻辑: 根据触发词置信度阈值(默认 0.65),判断是调用 Skill 还是回退到通用 LLM。当多个 Skill 置信度接近时,执行并行推理,选择最优候选。
四、Memory 系统:Agent 的记忆中枢
OpenClaw 的 Memory 系统分为两层:会话级记忆(SessionMemory)和长期记忆(PersistentMemory)。两者协同工作,保证 Agent 在单次会话和跨会话场景下都有上下文感知能力。
Memory 两层架构: · SessionMemory — 保存在当前会话内存中,会话结束后销毁,适合即时上下文 · PersistentMemory — 持久化到磁盘/数据库,支持跨会话记忆复用,适合用户偏好、关键事实
五、Session 与 Memory 的协同设计
OpenClaw 的 Session 管理器(SessionManager)负责创建、销毁和路由会话。每个 Session 绑定独立的 Memory 实例,并通过 SessionContext 在整个请求生命周期内传递。
Session 生命周期: ① 创建 Session — SessionManager 根据用户标识创建新 Session,分配 Memory 实例 ② 请求路由 — 消息路由到对应 Session,SessionContext 携带 Memory 和 Agent 状态 ③ 响应生成 — Agent 参考 Memory 上下文生成回复,Memory 自动更新 ④ Session 销毁 — 超时或主动关闭时,持久化必要记忆,释放资源
六、第3篇小结
- Skill 系统
:声明式 SKILL.md + SkillRegistry + SkillExecutor 四步加载 - 触发机制
:embedding 相似度匹配 + 置信度阈值 + 降级策略 - Memory 两层
:SessionMemory(会话级)+ PersistentMemory(持久化) - Session 管理
:SessionManager 负责生命周期 + Memory 绑定 + 上下文传递
预告:OpenClaw 源码解析系列第4篇,将深入讲解 OpenClaw 的 Plugin 机制与 Gateway 架构设计。
夜雨聆风