鱼皮AI导航
鱼皮AI导航
  • 主页
  • 社区
  • AI工具
  • AI知识库
  • AI提示词
  • MCP
  • Skills
  • AI学习资源
  • AI资讯
  • GitHub开源
登录/注册

dsh-skill-evolution

观察 agent 执行轨迹,在每个成功回合结束时按信号触发 LLM 评审,把值得复用的工作流结晶为已注册技能,并随后续运行持续改进。

技能包
访问 GitHub
文档README

dsh-skill-evolution

English | 中文

A skill self-evolution plugin for DeepSeek Harness (DSH): it watches agent execution traces and, at the end of every successful turn, fires an LLM review when signals trip — distilling workflows worth reusing into crystallized skills registered in the skill catalog. Later runs of the same workflow fold fresh lessons into the existing skill — skills are alive and get better with use.

Highlights

  • Event-driven crystallization — review fires at turn end, not on pure frequency counting; any of three signals (complex / recovered / repeated) sends the turn to review
  • Strict review gate — LLM reviewer plus a hard do-not-capture list keeps junk out; NOTHING_TO_SAVE is a first-class outcome
  • Skills keep evolving — new evidence is merged into existing skills (version bump); semantic dedup (FOLD_INTO) blocks near-duplicates reached through different tool sequences
  • Full management UI in Settings — tabbed skills/settings views, master switch, skill cards with value/version/invocation chips, a tuning pipeline diagram with controls embedded in-place, and editable review prompts
  • Persistent & self-contained — skills persist under generated/ and re-register on restart; host half depends only on node: builtins

Screenshots

Skills tab — skill cards with value (high/medium/low), version, invocation count and update-time chips; expand for crystallization signals, tool sequence and the full SKILL.md:

Skills tab

Settings tab — status overview, review model, generation language and the configuration panels:

Settings tab

Thresholds & controls — every parameter embedded in the pipeline diagram, editable exactly where it takes effect:

Tuning pipeline with embedded controls

How it works

Signal detection

At every turn end (turn/end), successful traces meeting a minimum step count are checked against three signals:

SignalConditionMeaning
complexsuccessful turn with ≥ minToolCalls tool calls (default 5)completed a complex task
recoveredhad failed steps but the turn still succeededhit dead ends and found a working path around them
repeatedsame tool sequence recurred ≥ minPatternOccurrences times with success rate ≥ minSuccessRatea recurring, proven workflow

Corroboration gate (complexRequiresCorroboration, on by default): a lone complex signal is weak evidence (any long turn qualifies), so by default it must be corroborated by recovered or repeated before review; withheld turns are logged and re-submitted once the sequence later earns a corroborating signal.

Review gate

The reviewer LLM receives full evidence (signals, user intent, tool sequence, per-step outcomes and summaries) plus the existing evolved-skill list, and answers one of: SAVE (crystallize a new skill), FOLD_INTO (merge into an existing skill), or NOTHING_TO_SAVE.

Hard do-not-capture list — the following is never crystallized:

  • environment-dependent failures (missing binaries, unconfigured credentials, uninstalled packages)
  • negative claims about tools ("tool X is broken" would freeze into a long-lived refusal)
  • transient errors cured by a retry (the lesson is the retry pattern, not the original error)
  • one-off task narratives, unresolved failures

Continuous evolution

  • Progressive improvement — when new evidence lands on an existing skill's sequence (especially error-recovery experience), the reviewer merges the new lessons into the skill body and bumps the version instead of creating a duplicate
  • Semantic dedup (FOLD_INTO) — the same class of experience can reappear via a different tool sequence, which pure sequence matching cannot catch. The crystallization reviewer sees the existing skill list (name + description) and may answer VERDICT: FOLD_INTO: <existing-skill-name>; the host then runs the improvement pipeline against that skill

Output format

Class-level, kebab-case skills with the standard SKILL.md shape (# Title / ## When to Use / ## Procedure / ## Pitfalls / ## Verification). NAME and section headings are always English; body language follows skillLanguage.

Install

Option 1: official CLI (once published to npm)

▼
bash
复制代码
dsh plugin --profile web add dsh-skill-evolution

The bundled dsh.bundle.patch mounts automatically — no profile edits needed.

Option 2: git clone + link

▼
bash
复制代码
git clone https://github.com/VanadisGithub/dsh-skill-evolution.git ~/Code/dsh-skill-evolution

Add to dependencies in ~/.dsh/profiles/web/package.json:

▼
json
复制代码
"dsh-skill-evolution": "link:/Users/<you>/Code/dsh-skill-evolution"

Then run pnpm install in ~/.dsh/profiles/web and hard-refresh the browser.

Option 3: file:// manual mount (prototype debugging)

Place the repo anywhere (e.g. ~/.dsh/plugins/skill-evolution/) and append to ~/.dsh/cordis.patch.yml:

▼
yaml
复制代码
- insert: - id: 'skill-evolution' name: file:///Users/<you>/.dsh/plugins/skill-evolution/plugin.mjs?v=1 config: minToolCalls: 5 minPatternOccurrences: 3 autoRegister: true llmProvider: deepseek # adjust to a provider available in your deployment llmModel: deepseek-chat

?v=N busts the Node module cache; bump it whenever plugin.mjs changes. Host-half changes need a loader patch replay; browser-half changes just need a hard refresh.

⚠️ Pick exactly one option — duplicate mounts cause a dual instance.

Configuration

Every key below works both via mount config and directly in the Settings panel (panel edits persist to runtime-config.json in the plugin directory, overriding mount config across restarts):

KeyDefaultDescription
enabledtruemaster switch: false stops turn observation and review (existing skills stay registered)
minTraceSteps3minimum trace steps (noise floor)
minToolCalls5complex signal threshold
minPatternOccurrences3repeated signal threshold
minSuccessRate0.7repeated signal success-rate floor
signalsall on{complex, recovered, repeated} individual toggles
complexRequiresCorroborationtruea lone complex signal needs corroboration before review
autoRegistertrueauto-register crystallized skills into the catalog
llmProvider / llmModeldeepseek / deepseek-chatreview model (the picker cascades to the provider's model catalog)
skillLanguageengenerated-skill language: zh / en
maxEvolvedSkills20evolved-skill capacity
improvementEvery3trigger an improvement review every N same-sequence reruns
maxImprovementsPerSkill5max improvements per skill
maxEvidenceSteps30max evidence steps sent to review (truncation guard)
maxTracesPerSession200per-session trace cache cap (memory guard)
maxStepTextLength200per-step summary truncation length
reviewSystemPromptbuilt-inoverride the crystallization review system prompt
improveSystemPromptbuilt-inoverride the improvement review system prompt

Management panel

The "Skill Evolution" section in Settings, a two-tab layout with a master switch in the top-right corner:

  • Skills tab — skill cards: name, description, value chip (high/medium/low, rated from crystallization and improvement counts), version, invocation count (skill-tool calls + user-explicit injection), update time; expand for crystallization signals, tool sequence and the full SKILL.md; delete/clear use two-step confirmation
  • Settings tab — status overview, review model (provider-cascaded picker), generation language, and four panels:
    • Thresholds & controls — all thresholds drawn as one pipeline (turn end → observation filter → signal detection → corroboration gate → LLM review → crystallization → continuous improvement), each parameter embedded in the step where it takes effect
    • Review prompts — edit the crystallization/improvement system prompts in place (draft–save workflow), resettable to built-ins at any time
    • Live pattern stats — observed tool-sequence patterns and trigger counts
    • Danger zone — clear all evolved skills (two-step confirmation)

Data & privacy

  • Trace evidence lives in memory only (bounded cache), never on disk
  • On disk: crystallization artifacts (generated/*.json: SKILL.md body, signals, sequences, stats) and runtime-config.json
  • Review LLM calls go through providers already configured in the deployment — no external endpoints introduced
  • Uninstalling the plugin removes all data (generated/ goes with the directory)

Layout & development

Two-sided plugin package (host + web client):

FileRole
plugin.mjshost half: trace observation, signal detection, LLM review, skill registration, ./generated/ persistence, authenticated /skill-evolution RPC channel (list / get / remove / clear / listModels / setModel / setLanguage / setEnabled / setTuning / setPrompt …)
client.jsbrowser half: the Settings "Skill Evolution" section
cordis.patch.ymldsh.bundle.patch mount layer
test/smoke.mjshost-half smoke test (mock cordis context, 51 assertions covering crystallization/improvement/FOLD_INTO/dedup/RPC/counting)
test/screenshot.mjsheadless screenshot script (CDP-driven, full-screen mode)
▼
bash
复制代码
node --check plugin.mjs && node --check client.js # syntax node test/smoke.mjs # smoke test node test/screenshot.mjs <output-dir> # re-capture README screenshots

Only node: builtins are imported — no @deepseek-ai packages — avoiding any dual-instance conflict with the host's own cordis.

License

MIT

技能包

快捷安装

复制到终端去安装插件

dshplugin--profilewebaddgithub:VanadisGithub/dsh-skill-evolution

温馨提示

装插件等于在本机跑第三方代码,权限与你相同,能读文件、用凭据、访问网络,工具审批管不到。请只装可信来源,并尽量锁定 commit。

站长:程序员鱼皮 老鱼简历 商务合作 增值电信业务经营许可证
2026 鱼皮AI导航 | 沪ICP备19026706号-6
站长:程序员鱼皮 老鱼简历 商务合作 增值电信业务经营许可证
2026 鱼皮AI导航 | 沪ICP备19026706号-6
🔥热门工具
朱雀AI检测朱雀AI检测
朱雀AI检测助手朱雀AI检测助手
LovartLovart
老鱼简历老鱼简历
WritePass官网WritePass官网
面多多面多多
CursorCursor
星月写作星月写作
零感AI零感AI
墨得问题墨得问题
dsh 插件推荐
dsh-skill-manager
DeepSeek Harness 技能生命周期管理:技能库(纯技能池)、工作区启用白名单、会话勾选三层模型;Web 设置面板与对话页内嵌视图,支持技能文件浏览/编辑、zip 与文件夹批量导入、引擎实际加载校验。
dsh-session-lab
用于打包可验证会话、评测可复用技能和对比受控会话轨迹的 DSH 工作流。
dsh-amphoreus
把 δ-me13(翁法罗斯)的 13 张黄金裔角色技能卡变成席位工作区:逐席配色与壁纸、首轮自动注入技能卡、对话表情、每席记忆便签与预设、Alt+数字切席,以及用于派发与移交的总览画布;技能套件本身从可配置的本地目录读取,不随插件打包。
dsh-plugin-zerone
DeepSeek Harness 的 ZERONE 模式:16 个 OMZ SDD 工作流技能(澄清/PRD/issue 驱动编码、审查、进化机制)全局注册,零落盘安装(技能内嵌,不写入用户目录)。
cloudq-for-dsh
腾讯云智能顾问集成:CloudQ 对话模式,附用量、灵感、制品与架构图面板。