Self-Evolving Skill - OpenClaw集成

项目结构

self-evolving-skill/
├── core/                    # Python核心模块
│   ├── residual_pyramid.py   # 残差金字塔分解
│   ├── reflection_trigger.py  # 自适应触发器
│   ├── experience_replay.py  # 经验回放
│   ├── skill_engine.py       # 核心引擎
│   ├── storage.py           # 持久化
│   └── mcp_server.py        # MCP服务器
├── src/                     # TypeScript封装
│   ├── index.ts            # 主入口
│   ├── cli.ts              # CLI
│   └── mcp-tools.ts        # MCP工具定义
├── skills/                 # 供OpenClaw调用
│   └── self-evolving-skill/  # OpenClaw Skill
├── SKILL.md                # 技能文档
├── package.json
└── README.md

安装到OpenClaw

# 方式1: 链接到OpenClaw skills目录
cd skills/self-evolving-skill
npm install
npm run build

# 链接
ln -s $(pwd)/skills/self-evolving-skill ~/.openclaw/skills/self-evolving-skill

# 方式2: 通过ClawHub
clawhub install self-evolving-skill

OpenClaw中调用

// 直接调用MCP工具
const result = await useTool('skill_create', {
  name: 'ProblemSolver'
});

const analysis = await useTool('skill_analyze', {
  embedding: [0.1, 0.2, 0.3, ...]
});

MCP工具列表

工具 描述 参数
skill_create 创建Skill name, description
skill_execute 执行并学习 skill_id, context, success
skill_analyze 分析嵌入 embedding
skill_list 列出Skills -
skill_stats 系统统计 -
skill_save 持久化保存 skill_id
skill_load 加载 skill_id

示例

// 1. 创建Skill
const skill = await useTool('skill_create', {
  name: 'TextAnalyzer',
  description: '文本分析自学习Skill'
});

// 2. 执行并观察学习
const result = await useTool('skill_execute', {
  skill_id: skill.skill_id,
  context: { task: 'sentiment' },
  success: true,
  value: 1.0
});

console.log('反思触发:', result.reflection_triggered);

// 3. 分析新输入
const analysis = await useTool('skill_analyze', {
  embedding: generateEmbedding(text)
});

配置

在OpenClaw配置文件中

skills:
  self-evolving-skill:
    max_layers: 5
    energy_threshold: 0.1
    similarity_threshold: 0.85
    target_trigger_rate: 0.15
    storage_dir: ~/.openclaw/self-evolving
Description
元认知自我学习系统——自动技能进化。
Readme 36 KiB
Languages
TypeScript 47.4%
Python 27.4%
JavaScript 20.8%
Shell 4.4%