Tommy00748/dsh-self-evolution ↗★ 0

dsh-self-evolution

Self-evolution for DeepSeek Harness: bounded self-managed memory, an automatic per-turn review that writes plain-language notes and refines skills instead of duplicating them, a skill health check, cross-session recall, a durable learning row inside the conversation itself, and a card above the composer reserved for changes waiting on your decision. 适合希望Agent具备跨会话记忆、自我技能优化和后台自动复盘演进能力的用户。

Package
dsh-self-evolution
Compatibility
Unverified
Harness peer range
>=0.0.1-rc.1 <0.1.0 || >=0.1.0-rc.1 <0.2.0-0
Version
0.9.0
License
MIT
Last updated
Oct 2, 2026

Other repositories with this package name

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Tommy00748/dsh-self-evolution

Configuration

Override the bundle's row by id self-evolution in your profile cordis.patch.yml. A patch replaces the whole config object rather than merging into it, so list every key you want to keep.

- id: self-evolution
  name: 'dsh-self-evolution'
  config:
    storeDir: ''                # '' → /self-evolution
    memoryCharLimit: 2200
    userCharLimit: 1375
    extraSkillDirs: []          # extra skill roots to scan (absolute paths)
    skillsDir: ''               # '' → 
/.dsh/skills
    enableMemoryTool: true
    enableSkillTools: true
    guidance: true
    scanOnWrite: true
    # background review
    autoReview: true
    reviewMinSteps: 2           # turns with fewer tool steps than this are skipped
    reviewMaxTokens: 1200       # how much one review may write
    reviewMaxEvents: 40         # events of the turn the review sees
    reviewMaxChars: 6000        # character cap on those events
    reviewProvider: ''          # '' → whatever model the session is using
    reviewModel: ''
    reviewTimeoutMs: 90000
    learningLog: ''             # '' → /learnings.jsonl
    # interface
    transcriptRow: true         # write one durable row into the conversation per turn that learned something
    uiMode: auto                # auto (default) | always | off
    notify: verbose             # verbose (default) | on | off
    approveReviewEdits: true    # deletes/rewrites need your yes (default); false = let it merge on its own