๐ŸŽ Get the FREE AI Skills Starter Guide โ€” Subscribe โ†’
BytesAgainBytesAgain
๐Ÿฆ€ ClawHub

Hermes Evolution

by @wuritu

Hermes Evolution enhances OpenClaw with fast PM routing, proactive self-check, auto skill generation, user profiling, layered memory, and continuous learning.

Versionv1.0.0
Downloads1,592
Starsโญ 1
TERMINAL
clawhub install hermes-evolution

๐Ÿ“– About This Skill

Hermes Evolution - ็ˆฑ้ฉฌไป•่‡ชๅŠจ่ฟ›ๅŒ–็‰ˆ

> ็‰ˆๆœฌ: v1.0.0 > ไฝœ่€…: ๆฃฎๆฃฎ > ้€‚็”จ: OpenClaw ๆ‰€ๆœ‰็‰ˆๆœฌ > ๅฎšไฝ: PM Router ๆ™บ่ƒฝๅขžๅผบๅฑ‚


๐ŸŽฏ ็ฎ€ไป‹

Hermes Evolution๏ผˆ็ˆฑ้ฉฌไป•่‡ชๅŠจ่ฟ›ๅŒ–็‰ˆ๏ผ‰ๆ˜ฏๆฃฎๆฃฎๅœจ OpenClaw ๅŸบ็ก€ไธŠๆž„ๅปบ็š„ๆ™บ่ƒฝๅขžๅผบๅฑ‚๏ผŒๅฎž็Žฐไบ†ไธปๅŠจๆœๅŠกใ€่‡ชๅŠจ่ฟ›ๅŒ–ๅ’Œ็”จๆˆท็†่งฃไธ‰ๅคงๆ ธๅฟƒ่ƒฝๅŠ›ใ€‚

ๆ ธๅฟƒ็‰นๆ€ง

  • โšก ้ซ˜ๆ€ง่ƒฝ: FTS ๆฃ€็ดข 0.03ms/ๆฌก๏ผŒไปปๅŠกๆŸฅ่ฏข O(1)
  • ๐ŸŽฏ ไธปๅŠจๆ™บ่ƒฝ: Periodic Nudge ไธปๅŠจ่‡ชๆฃ€๏ผŒไธ็ญ‰ๆŒ‡ไปค
  • ๐Ÿ”ฎ ่‡ชๅŠจ่ฟ›ๅŒ–: AutoSkillGenerator ่‡ชๅŠจๅˆ›ๅปบ Skill
  • ๐Ÿ‘ค ็”จๆˆท็†่งฃ: Honcho ็”จๆˆท็”ปๅƒ + ้œ€ๆฑ‚้ข„ๆต‹
  • ๐Ÿ’พ ็จณๅฎš่ฎฐๅฟ†: Frozen Memory ๅˆ†ๅฑ‚็ฎก็†
  • ๐Ÿ“Š ๅฎŒๆ•ด้—ญ็Žฏ: Self-Improving v2 ่ง„ๅˆ™ๆƒ้‡ๅญฆไน 

  • ๐Ÿ“ฆ ๅŒ…ๅซๆจกๅ—

    ๆ ธๅฟƒ่ทฏ็”ฑ

    | ๆจกๅ— | ๆ–‡ไปถ | ๅŠŸ่ƒฝ | |------|------|------| | PM Router | sensen-pm-router.js | ่ทฏ็”ฑๆ ธๅฟƒ + Agent Profile | | Intent Router | intent-router.js | TF-IDF ็ฝฎไฟกๅบฆ่ฎก็ฎ— | | Agent Profiles | agent-profiles.js | Agent ่ง’่‰ฒๅฎšไน‰ |

    ไปปๅŠก็ฎก็†

    | ๆจกๅ— | ๆ–‡ไปถ | ๅŠŸ่ƒฝ | |------|------|------| | Task Manager | task-manager.js | ไปปๅŠก็Šถๆ€ๆœบ | | Task Store | task-store.js | ๅ†…ๅญ˜็ผ“ๅญ˜ + ็ดขๅผ•ๅŠ ้€Ÿ | | Task DAG | task-dag.js | DAG ไพ่ต–็ฎก็† |

    ๅญฆไน ่ฟ›ๅŒ–

    | ๆจกๅ— | ๆ–‡ไปถ | ๅŠŸ่ƒฝ | |------|------|------| | Self-Improving v2 | sensen-self-improving-v2.js | ่ง„ๅˆ™ๆƒ้‡ + ็‰ˆๆœฌ็ฎก็† | | Frozen Memory | frozen-memory.js | ๅ†ป็ป“่ฎฐๅฟ†๏ผŒไธ‹ๆฌก็”Ÿๆ•ˆ | | Patch Store | patch-store.js | ๅขž้‡ๆ›ดๆ–ฐ |

    ๆ™บ่ƒฝๅขžๅผบ

    | ๆจกๅ— | ๆ–‡ไปถ | ๅŠŸ่ƒฝ | |------|------|------| | FTS Indexer | fts-indexer.js | ๅ…จๆ–‡ๆฃ€็ดข๏ผŒ0.03ms/ๆฌก | | Progressive Disclosure | progressive-disclosure.js | ๆธ่ฟ›ๅผๅŠ ่ฝฝ๏ผŒToken ๆŽงๅˆถ | | Periodic Nudge | periodic-nudge.js | ไธปๅŠจ่‡ชๆฃ€ๅผ•ๆ“Ž |

    ็”จๆˆท็†่งฃ

    | ๆจกๅ— | ๆ–‡ไปถ | ๅŠŸ่ƒฝ | |------|------|------| | Honcho Profiler | honcho-profiler.js | ็”จๆˆท็”ปๅƒ + ้œ€ๆฑ‚้ข„ๆต‹ | | AutoSkill Generator | auto-skill-generator.js | ่‡ชๅŠจๅˆ›ๅปบ Skill | | LLM Summarizer | llm-summarizer.js | ๆฃ€็ดข็ป“ๆžœๆ‘˜่ฆ |

    ็ณป็ปŸๅทฅๅ…ท

    | ๆจกๅ— | ๆ–‡ไปถ | ๅŠŸ่ƒฝ | |------|------|------| | Logger | sensen-logger.js | ็ป“ๆž„ๅŒ–ๆ—ฅๅฟ— | | Collaborator | sensen-collaborator.js | ๅคš Agent ๅไฝœ | | Collab Visualizer | sensen-collab-visualizer.js | ๅไฝœๅฏ่ง†ๅŒ– | | Template Engine | template-engine.js | ๆจกๆฟๆธฒๆŸ“ | | Scheduler | sensen-scheduler.js | ๅฎšๆ—ถไปปๅŠก | | Feishu Notifier | sensen-feishu-notifier.js | ้ฃžไนฆ้€š็Ÿฅ | | Spawner | sensen-spawner.js | Agent Spawn |


    ๐Ÿš€ ๅฟซ้€Ÿๅผ€ๅง‹

    1. ๅฎ‰่ฃ…

    # ๆ–นๅผไธ€๏ผšไปŽ ClawhHub ๅฎ‰่ฃ…
    clawdhub install hermes-evolution

    ๆ–นๅผไบŒ๏ผšๆ‰‹ๅŠจๅคๅˆถ

    ๅฐ† modules/ ็›ฎๅฝ•ๅคๅˆถๅˆฐ skills/sensen-pm-router/

    2. ้ชŒ่ฏๅฎ‰่ฃ…

    node skills/sensen-pm-router/modules/test-task-store.js
    node skills/sensen-pm-router/modules/test-intent-router.js
    

    3. ๅŸบ็ก€ไฝฟ็”จ

    // ๅœจไฝ ็š„ไปฃ็ ไธญๅผ•ๅ…ฅ
    const TaskStore = require('./modules/task-store');
    const IntentRouter = require('./modules/intent-router');
    const SelfImproving = require('./modules/sensen-self-improving-v2');

    // ๅˆ›ๅปบไปปๅŠก const task = TaskStore.createTask({ title: 'ๆต‹่ฏ•ไปปๅŠก', assignedTo: 'Marketing', priority: 'P0' });

    // ่ทฏ็”ฑ const result = IntentRouter.route('ๅ‘ๅธƒๅฐ็บขไนฆๅ†…ๅฎน'); console.log(result.agent); // 'Marketing'

    // ่ฎฐๅฝ•็บ ๆญฃ SelfImproving.logCorrection({ type: 'format', originalText: 'ๅคช้•ฟไบ†', correction: '่พ“ๅ‡บ็ฎ€ๆด' });


    ๐Ÿ“Š ๆžถๆž„่ฎพ่ฎก

    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
    โ”‚                        OpenClaw Gateway                         โ”‚
    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
    โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
    โ”‚   โ”‚  Router    โ”‚โ”€โ”€โ”€โ–ถโ”‚  Sessions  โ”‚โ”€โ”€โ”€โ–ถโ”‚  Skills         โ”‚   โ”‚
    โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
    โ”‚         โ”‚                                       โ”‚              โ”‚
    โ”‚         โ–ผ                                       โ–ผ              โ”‚
    โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”‚
    โ”‚   โ”‚              ็ˆฑ้ฉฌไป•ๅขžๅผบๅฑ‚ Hermes Evolution            โ”‚     โ”‚
    โ”‚   โ”‚  PM Router โ†’ Task Store โ†’ Self-Improving โ†’ Frozen   โ”‚     โ”‚
    โ”‚   โ”‚  Intent Router โ†’ FTS Index โ†’ Progressive Disclosureโ”‚     โ”‚
    โ”‚   โ”‚  Periodic Nudge โ†’ Honcho Profiler โ†’ AutoSkill     โ”‚     โ”‚
    โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ”‚
    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
    


    โš™๏ธ ้…็ฝฎ

    Agent Profiles

    ็ผ–่พ‘ agent-profiles.js ่‡ชๅฎšไน‰ Agent ่ง’่‰ฒ๏ผš

    const profiles = {
      Marketing: {
        keywords: ['ๅฐ็บขไนฆ', 'ๅ†…ๅฎน', 'ๅ‘ๅธƒ', 'ๆŠ–้Ÿณ', '็ŸฅไนŽ'],
        excludeWords: ['ๆœๅŠกๅ™จ', 'ไปฃ็ ', 'bug'],
        description: '่ดŸ่ดฃๅ†…ๅฎน่ฟ่ฅๅ’Œๅ‘ๅธƒ'
      },
      // ...
    };
    

    ๅฎšๆ—ถไปปๅŠก

    ็ผ–่พ‘ sensen-scheduler.js ้…็ฝฎๅฎšๆ—ถไปปๅŠก๏ผš

    const schedules = [
      { time: '09:00', name: 'ๅฐ็บขไนฆ็ƒญ้—จ', task: 'summarize_topics' },
      { time: '12:00', name: '่ง‰้†’ๆ—ฅ่ฎฐ', task: 'diary' },
      // ...
    ];
    


    ๐Ÿ“– API ๅ‚่€ƒ

    TaskStore

    // ๅˆ›ๅปบไปปๅŠก
    TaskStore.createTask({ title, assignedTo, priority });

    // ๆŸฅ่ฏข TaskStore.queryByStatus('inbox'); TaskStore.queryByAssignee('Marketing');

    // ็ปŸ่ฎก TaskStore.getStats();

    // ็œ‹ๆฟ TaskStore.printKanban();

    IntentRouter

    // ่ทฏ็”ฑ
    IntentRouter.route('ๅ‘ๅธƒๅฐ็บขไนฆ');

    // ๆทปๅŠ ๅ…ณ้”ฎ่ฏ IntentRouter.addKeyword('AgentName', ['keyword1', 'keyword2']);

    SelfImproving

    // ่ฎฐๅฝ•็บ ๆญฃ
    SelfImproving.logCorrection({ type, originalText, correction });

    // ่Žทๅ–่ง„ๅˆ™ SelfImproving.getActiveRules();

    // ๅŒน้… SelfImproving.matchRule('ๅคช้•ฟไบ†็ผฉ็Ÿญ');

    PeriodicNudge

    // ๅˆ›ๅปบๅผ•ๆ“Ž
    const engine = createEngine({ interval: 60 * 60 * 1000 });

    // ๅฏๅŠจ engine.start();

    // ่Žทๅ–็Šถๆ€ engine.getSummary();

    HonchoProfiler

    // ่Žทๅ–็”ปๅƒ
    const profile = profiler.getProfile('user_001');

    // ้ข„ๆต‹้œ€ๆฑ‚ profile.predictNeeds();

    // ่Žทๅ–ๆŽจ่ profile.getRecommendations();


    ๐Ÿงช ๆต‹่ฏ•

    # ่ฟ่กŒๆ‰€ๆœ‰ๆต‹่ฏ•
    node modules/test-task-store.js
    node modules/test-intent-router.js
    node modules/test-self-improving-v2.js
    node modules/test-fts-indexer.js
    node modules/test-honcho-profiler.js
    node modules/test-periodic-nudge.js
    node modules/test-auto-skill-generator.js
    node modules/test-logger.js
    node modules/test-dag.js
    node modules/test-template.js
    node modules/test-collaborator.js
    node modules/test-collab-visualizer.js
    


    ๐Ÿ”ง ๆ•…้šœๆŽ’ๆŸฅ

    ๅธธ่ง้—ฎ้ข˜

    Q: TaskStore ๆŸฅ่ฏข่ฟ”ๅ›ž็ฉบ

    // ๆฃ€ๆŸฅ็ดขๅผ•
    console.log(TaskStore.getStats());
    // ้‡ๅปบ็ดขๅผ•
    TaskStore.rebuildIndex();
    

    Q: IntentRouter ่ทฏ็”ฑ้”™่ฏฏ

    // ๆฃ€ๆŸฅๅ…ณ้”ฎ่ฏ
    console.log(IntentRouter.getKeywords());
    // ๆทปๅŠ ็ผบๅคฑ็š„ๅ…ณ้”ฎ่ฏ
    IntentRouter.addKeyword('Agent', ['keyword']);
    

    Q: Self-Improving ไธ็”Ÿๆ•ˆ

    // ๆฃ€ๆŸฅ่ง„ๅˆ™ๆ–‡ไปถ
    const fs = require('fs');
    console.log(fs.readdirSync('./rules'));
    


    ๐Ÿ“ ๆ›ดๆ–ฐๆ—ฅๅฟ—

    v1.0.0 (2026-04-11)

  • ๅˆๅง‹ๅ‘ๅธƒ
  • 23 ไธชๆ ธๅฟƒๆจกๅ—
  • P0/P1/P2 ๅฎŒๆ•ดๅŠŸ่ƒฝ

  • ๐Ÿ“„ ่ฎธๅฏ่ฏ

    MIT License


    ๐Ÿ‘ค ไฝœ่€…

    ๆฃฎๆฃฎ - ่‹่‹ๅญๆฃฎ็š„ AI ๅŠฉ็†


    *ๆœ€ๅŽๆ›ดๆ–ฐ: 2026-04-11*

    ๐Ÿ“‹ Tips & Best Practices

    Q: TaskStore ๆŸฅ่ฏข่ฟ”ๅ›ž็ฉบ

    // ๆฃ€ๆŸฅ็ดขๅผ•
    console.log(TaskStore.getStats());
    // ้‡ๅปบ็ดขๅผ•
    TaskStore.rebuildIndex();
    

    Q: IntentRouter ่ทฏ็”ฑ้”™่ฏฏ

    // ๆฃ€ๆŸฅๅ…ณ้”ฎ่ฏ
    console.log(IntentRouter.getKeywords());
    // ๆทปๅŠ ็ผบๅคฑ็š„ๅ…ณ้”ฎ่ฏ
    IntentRouter.addKeyword('Agent', ['keyword']);
    

    Q: Self-Improving ไธ็”Ÿๆ•ˆ

    // ๆฃ€ๆŸฅ่ง„ๅˆ™ๆ–‡ไปถ
    const fs = require('fs');
    console.log(fs.readdirSync('./rules'));