Auto Skill Loader

Polar Sponsor
爱发电 赞助
.NET 9.0

自动检测任务类型并动态加载对应 Skill;新任务到达时分析意图匹配最佳 Skill 并自动加载。支持 core/protected/dynamic 分级保护,即插即用、零配置,兼容任意 OpenClaw 部署。触发词:"自动加载skill"、"动态加载"、"智能匹配skill"。

Auto Skill Loader v2.0

功能概述

Auto Skill Loader v2.0是一项面向实际任务的技能,主要用于即插即用 · 核心锁定 · 零配置;零配置启动 - 安装即用,不需要修改任何参数;

核心要点

  • 核心保护 - core 级 Skill 绝不被自动加载器干扰;
  • 通用兼容 - 不假设任何 Agent 名称、路径或环境;
  • 最小加载 - 只加载必要的 Skill,节省 token;

使用与执行

Skill 保护等级;每个 Skill 可在 SKILL.md frontmatt。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

Auto Skill Loader v2.0

即插即用 · 核心锁定 · 零配置

设计原则

  1. 零配置启动 - 安装即用,不需要修改任何参数
  2. 核心保护 - core 级 Skill 绝不被自动加载器干扰
  3. 通用兼容 - 不假设任何 Agent 名称、路径或环境
  4. 最小加载 - 只加载必要的 Skill,节省 token

Skill 保护等级

每个 Skill 可在 SKILL.md frontmatter 中声明 level:

---
name: my-skill
level: core    # core | protected | dynamic(默认 dynamic)
---
级别 标识 自动加载器行为 适用场景
🔒 core core 完全跳过,不触碰 内存管理、行为审计、安全监控
🛡️ protected protected 不自动卸载,加载需显式确认 心跳机制、风控、proactive-agent
🔄 dynamic dynamic 自由加载/卸载 天气、股票分析、文案生成等

未声明 level 的 Skill 默认为 dynamic。

内置 core Skill 白名单

即使 Skill 未声明 level,以下类型的 Skill 始终视为 core:

  • 名称包含 memory 的 Skill(如 memory-distiller)
  • 名称包含 audit 或 security 的 Skill
  • 名称包含 proactive 的 Skill

此白名单可通过配置文件覆盖。

执行流程

Step 1: 扫描可用 Skill

按 OpenClaw 标准目录结构扫描,不硬编码任何路径:

# 优先级从高到低:
L1: {workspace}/.agents/skills/*/SKILL.md     # Agent 专属
L2: ~/.agents/skills/*/SKILL.md               # 全局共享
L3: {openclaw_install}/skills/*/SKILL.md      # OpenClaw 内置
L4: {openclaw_install}/extensions/*/skills/*/SKILL.md  # 扩展 Skill

路径解析规则:

  • {workspace} = 当前工作目录(自动检测)
  • ~ = 用户主目录(跨平台兼容)
  • {openclaw_install} = OpenClaw 安装目录(通过 npm root -g 或环境变量检测)

Step 2: 解析 Skill 元数据

读取每个 SKILL.md 的 frontmatter:

  • name - Skill 名称
  • description - 功能描述(用于意图匹配)
  • level - 保护等级(默认 dynamic)
  • version - 版本号(可选)

只解析 frontmatter,不读取全文(节省 token)。

Step 3: 过滤受保护 Skill

可加载列表 = 所有 Skill - core Skill - protected Skill(除非显式请求)

Step 4: 意图匹配

根据用户消息,从可加载列表中匹配:

匹配策略(优先级从高到低):

优先级 策略 说明
P1 触发词匹配 消息包含 Skill description 中的触发词
P2 语义匹配 消息意图与 description 语义相近
P3 领域匹配 消息领域与 Skill 领域一致

冲突解决:

  • 同名 Skill → 高层级目录优先(L1 > L2 > L3 > L4)
  • 多个匹配 → 选最具体的(description 最相关的)
  • 无匹配 → 不加载任何 Skill,正常回复

Step 5: 加载执行

找到匹配 Skill 后:

  1. 读取完整 SKILL.md
  2. 按其指导执行任务
  3. 如需要,加载 scripts/ 或 references/ 下的资源

Step 6: Agent 路由(可选)

如果任务不属于当前 Agent 的职责范围,尝试动态路由给其他 Agent:

路由流程:

  1. 调用 agents_list 获取当前可用 Agent 列表
  2. 读取各 Agent 的 SOUL.md 或 IDENTITY.md 判断职责匹配度
  3. 找到最匹配的 Agent,通过 sessions_send 转发任务

路由失败处理:

以下情况视为"无法发现其他 Agent":

  • agents_list 返回空列表(单 Agent 部署)
  • agents_list 报错(服务异常)
  • 返回的 Agent 列表中只有当前 Agent 自己
  • 其他 Agent 的 SOUL.md/IDENTITY.md 无法读取或职责不匹配

此时应直接回复用户,告知路由失败:

这个任务更适合 [目标 Agent 类型,如:A股量化专家/P哥] 处理。

但当前环境无法自动路由:[具体原因]
- 原因 A:当前是单 Agent 部署,未发现其他 Agent
- 原因 B:其他 Agent 未配置或不在线
- 原因 C:无法读取其他 Agent 的职责描述

**你可以:**
1. 直接 @[目标 Agent 名] 联系他
2. 让我在当前 Agent 尝试处理(可能不够专业)
3. 检查其他 Agent 是否已启动并配置正确

为什么不静默 fallback?

  • 避免用户误以为任务已转发,实际没有
  • 诚实透明,不给虚假希望
  • 让用户掌握控制权,决定下一步

配置文件(可选)

文件:auto-skill-loader.config.yaml
位置:Skill 目录内 或 workspace 根目录

# auto-skill-loader.config.yaml
# 所有字段可选,均有合理默认值

# 额外标记为 core 的 Skill(名称列表)
coreSkills: []
  # - my-custom-audit-skill
  # - my-critical-skill

# 排除不参与自动加载的 Skill(名称列表)
skipSkills: []
  # - deprecated-skill

# 是否启用 Agent 路由(默认 true)
enableRouting: true

# 匹配模式:strict(仅触发词)| normal(触发词+语义)| fuzzy(全部)
matchMode: normal

# 日志级别:silent | info | debug
logLevel: info

不创建此文件 = 使用全部默认值 = 直接能用。

使用示例

场景 1:用户问天气

用户:北京今天天气怎么样?
→ 匹配 weather skill(dynamic)
→ 自动加载 weather/SKILL.md
→ 按其指导获取天气

场景 2:触及 core Skill

用户:关闭记忆管理
→ 检测到 memory-distiller 是 core 级
→ 拒绝操作,提示:此 Skill 为核心级,不可自动卸载

场景 3:无匹配

用户:帮我写一首诗
→ 无 Skill 匹配
→ 正常回复(不加载任何 Skill)

Dry Run 模式

预览匹配结果,不实际加载:

在消息中包含 --dry-run 或在配置中设置:

dryRun: true  # 全局 dry run

输出格式:

🔍 Auto Skill Loader - Dry Run
任务: "北京今天天气怎么样"
匹配: weather (dynamic, L3, score: 0.95)
候选: [weather, summarize]
操作: 将加载 weather/SKILL.md

兼容性

环境 支持
Windows ✅
macOS ✅
Linux ✅
单 Agent ✅
多 Agent ✅
ClawHub 安装 ✅
手动安装 ✅

变更日志

v2.0 (2026-03-19)

  • 🔒 新增 Skill 三级保护机制(core/protected/dynamic)
  • 🔌 移除所有硬编码(Agent 名称、路由表、路径)
  • ⚙️ 新增可选配置文件(零配置也能用)
  • 🏷️ 新增 dry-run 预览模式
  • 🌍 通用化:兼容任何 OpenClaw 部署

v1.0 (2026-03-18)

  • 初始版本,基本自动加载功能

相关专题

更多
OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

2026.10.16

0

10

OpenJDK怎么配置Java开发环境
OpenJDK怎么配置Java开发环境

怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。

2026.10.16

0

10

OpenJDK怎么部署Java应用
OpenJDK怎么部署Java应用

Java项目开发完成后,怎样部署到目标环境并正常运行?本专题介绍OpenJDK应用部署流程,涵盖运行环境准备、版本兼容检查、应用打包、启动参数配置和日志查看,帮助你理清部署前后的操作顺序,减少环境差异造成的运行问题。

2026.10.16

0

10

Revel框架模板渲染与表单验证
Revel框架模板渲染与表单验证

本专题围绕Revel框架视图层开发,介绍模板语法、变量输出、布局复用、表单提交、参数绑定与验证规则,帮助开发者完成安全规范的页面交互。

2026.10.16

0

15

Revel框架MVC路由与控制器
Revel框架MVC路由与控制器

本专题聚焦Revel框架MVC核心机制,讲解路由定义、控制器Action、参数绑定、请求响应和反向路由,并结合常见场景梳理接口请求处理流程。

2026.10.16

0

15

Revel框架入门与安装配置
Revel框架入门与安装配置

本专题从Revel框架环境搭建讲起,系统介绍命令行工具安装、项目创建、目录结构、配置文件及热代码重载,帮助开发者快速完成首个Go Web应用。

2026.10.16

0

15

Linux 新手先学哪些命令
Linux 新手先学哪些命令

Linux新手命令专题汇集终端基础、文件目录操作、文本查看、软件安装和权限管理等入门文章,帮助按实际任务练习常用命令并建立命令行操作习惯。

2026.10.15

0

20

MySQL 忘记密码怎么办
MySQL 忘记密码怎么办

MySQL忘记密码专题汇集不同版本与系统下的root密码重置方法,覆盖MySQL 5.7、8.0、Mac、Linux及本地集成环境,并提示恢复权限与重新登录的检查步骤。

2026.10.15

0

18

Vue.js 中 ref 和 reactive 的区别
Vue.js 中 ref 和 reactive 的区别

Vue.js中ref和reactive的区别专题汇集两种响应式API的定义、访问方式、对象解构、侦听与性能取舍等文章,帮助结合实际状态类型选择合适写法。

2026.10.15

0

20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.7万人学习