self-evolving-skill

Verified·Scanned 2/19/2026

This package implements a self‑evolving OpenClaw skill with MCP tools and a local MCP server. It launches local Python processes (spawn('python3', ...)) and sets/reads environment variables such as MCP_STORAGE_DIR and STORAGE_DIR; these are local, purpose‑aligned operations.

from clawhub.ai·v5ff7618·38.2 KB·0 installs
Scanned from 1.0.2 at 5ff7618 · Transparency log ↗
$ vett add clawhub.ai/whtoo/self-evolving-skill

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创建Skillname, 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