self-evolving skill
13
总安装量
0
周安装量
#24734
全站排名
安装命令
npx skills add https://github.com/jackjin1997/clawforge --skill 'Self-Evolving Skill'
Skill 文档
Self-Evolving Skill
å 认ç¥èªå¦ä¹ ç³»ç» – åºäºé¢æµç¼ç åä»·å¼é©±å¨çSkillèªå¨æ¼åã
åè½
- ResidualPyramidéåå¡åè§£ï¼éå认ç¥ç¼ºå£ –: æ®å·® èªéåºåæè§¦å: åºäºæ®å·®è½éèªå¨å¤æä½æ¶éè¦å¦ä¹
- ç»éªåæ¾: ç¼å已妿¨¡å¼ï¼éä½éå¤è§¦å
- ä»·å¼é¨æ§: åªææåé¿æä»·å¼ææ¥ååå¼
- æä¹ å: ç»éªèªå¨ä¿å/å è½½
å®è£
# æè½å·²å®è£
å° ~/.openclaw/skills/self-evolving-skill
# æä½¿ç¨ClawHub
clawhub install self-evolving-skill
æ¶æ
self-evolving-skill/
âââ core/ # Pythonæ ¸å¿
â âââ residual_pyramid.py # æ®å·®éåå¡ï¼SVDåè§£ï¼
â âââ reflection_trigger.py # èªéåºè§¦åå¨
â âââ experience_replay.py # ç»éªåæ¾ç¼å
â âââ skill_engine.py # æ ¸å¿å¼æ+ValueGate
â âââ storage.py # æä¹
å
â âââ mcp_server.py # MCPæå¡å¨
âââ src/ # TypeScript SDK
â âââ index.ts # 主å
¥å£
â âââ cli.ts # CLI
â âââ mcp-tools.ts # å·¥å
·å®ä¹
âââ skills/ # OpenClaw Skill
â âââ self-evolving-skill/ # æè½å°è£
âââ MCP_CONFIG.md # MCPé
ç½®
âââ README.md # ææ¡£
MCPå·¥å ·
| å·¥å · | æè¿° | åæ° |
|---|---|---|
skill_create |
å建Skill | name, description |
skill_execute |
æ§è¡å¹¶å¦ä¹ | skill_id, context, success, value |
skill_analyze |
åæåµå ¥ | embedding |
skill_list |
ååºSkills | – |
skill_stats |
ç³»ç»ç»è®¡ | – |
skill_save |
æä¹ åä¿å | skill_id |
skill_load |
å è½½ | skill_id |
ä½¿ç¨æ¹å¼
CLI
# ååºææSkill
openclaw skill self-evolving-skill list
# å建Skill
openclaw skill self-evolving-skill create --name "MySkill"
# æ§è¡
openclaw skill self-evolving-skill execute <id> --success
# åæ
openclaw skill self-evolving-skill analyze --embedding '[0.1,0.2,...]'
# ç»è®¡
openclaw skill self-evolving-skill stats
MCPæå¡å¨
# å¯å¨MCPæå¡å¨
cd ~/.openclaw/skills/self-evolving-skill
./run_mcp.sh
# æä½¿ç¨éé
å¨
python3 mcporter_adapter.py skill_list '{}'
ç¼ç¨
import { SelfEvolvingSkillEngine } from 'self-evolving-skill';
const engine = new SelfEvolvingSkillEngine();
await engine.init();
const { skillId } = await engine.createSkill({ name: 'Analyzer' });
const stats = await engine.stats();
æ ¸å¿ç®æ³
1. æ®å·®éåå¡åè§£
pyramid = ResidualPyramid(max_layers=5, use_pca=True)
decomposition = pyramid.decompose(embedding)
# è¾åº:
# - residual_ratio: æ®å·®è½éæ¯ç
# - suggested_abstraction: POLICY / SUB_SKILL / PREDICATE
# - novelty_score: ç»¼åæ°é¢æ§
2. ä¸å±è·è¿è§å
| è¦çç | æ½è±¡å±çº§ | æä½ |
|---|---|---|
| >80% | POLICY | è°æ´çç¥æé |
| 40-80% | SUB_SKILL | çæåSkill |
| <40% | PREDICATE | å½çº³æ°è°è¯ |
3. èªéåºéå¼
trigger = ReflectionTrigger(
min_energy_ratio=0.10, # åå§éå¼
value_gain_threshold=0.20, # 触åéå¼
target_trigger_rate=0.15 # ç®æ 15%触åç
)
æä»¶ä½ç½®
| è·¯å¾ | 说æ |
|---|---|
~/.openclaw/skills/self-evolving-skill |
æè½æ ¹ç®å½ |
~/.openclaw/mcp_servers/self-evolving-skill.json |
MCPæå¡å¨é ç½® |
~/.openclaw/workspace/self-evolving-skill/storage |
æ°æ®åå¨ |
ç¸å ³ææ¡£
- README.md – 宿´ææ¡£
- MCP_CONFIG.md – MCPé 置说æ
- MEMORY.md – ç ç©¶ç¬è®°