chenzheshushi-commits/dsh-evolve
dsh-evolve
Self-evolving memory + skill lifecycle for DeepSeek Harness — durable cross-session memory with zero-token deterministic recall, tiered approval, reinforcement learning from repetition, and anti-bloat convergence for both skills and memory.
Install
npx @deepseek-ai/dsh plugin --profile web add github:chenzheshushi-commits/dsh-evolveRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/chenzheshushi-commits-dsh-evolve)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from chenzheshushi-commits/dsh-evolve, cleaned of badges and images.
dsh-evolve
Self-evolving memory and skill lifecycle for DeepSeek Harness.
Your agent forgets everything between sessions. This plugin gives it durable memory, turns repeated procedures into reusable skills, and — crucially — keeps that knowledge from growing into a noise pile. Real evolution is mutation plus selection plus pruning; most memory plugins only do the first.
The plugin ships blank. It has no preloaded opinions about you or your work: only mechanisms and rules. Everything it learns is local to your install and never leaves it.
Requirements
| Requirement | Why |
|---|---|
| Node.js >= 22.5.0 | Uses the built-in node:sqlite module for FTS5 full-text search. Node 20 will not work. |
DeepSeek Harness 0.1.0-rc.7+ | Host platform. Provides tools, storage, LLM, and (optionally) the web server. |
git on PATH (optional) | Enables automatic memory checkpoints you can roll back. Without it, checkpoints are skipped. |
tar on PATH (optional) | Enables pre-operation skill backups and skill_rollback. Without it, backups are skipped. |
| Linux / macOS | Developed and tested here. Windows is untested — path handling is platform-neutral, but git/tar availability differs. |
Degradation is graceful by design: if SQLite/FTS5 is unavailable the plugin falls back to pure bigram recall, and any optional dependency that's missing disables only its own feature. It never blocks the harness from booting.
Install
Straight from this repository — no npm package needed:
dsh plugin --profile web add github:chenzheshushi-commits/dsh-evolve
Pin a specific release instead of tracking main:
dsh plugin --profile web add "https://github.com/chenzheshushi-commits/dsh-evolve/releases/download/v0.4.2/dsh-evolve-0.4.2.tgz"
Then restart the harness — tools are discovered at startup, not hot-reloaded.
Or clone for development:
git clone https://github.com/chenzheshushi-commits/dsh-evolve.git
cd dsh-evolve
pnpm install
pnpm run build # builds the web-settings client bundle
pnpm run test # smoke + registration probe + web-route e2e
What it does
Cross-session memory
Structured records (fact / preference / decision / lesson / todo / note) with scope
(user = everywhere, project = here) and importance 1–3. Storage is JSON as the source of
truth plus a Markdown mirror you can read and hand-edit.
Recall is zero-token and deterministic: bigram-Jaccard similarity fused with SQLite FTS5 BM25 through Reciprocal Rank Fusion. No embedding API, no per-turn model call. CJK text is tokenized correctly (searching 苹果 does not match 水果).
Relevant memories inject automatically each step based on the current message, and durable user preferences/facts inject as an always-on snapshot at the start of every turn.
Tiered approval, not "confirm everything"
Model-written memories pass through a deterministic gate that decides auto-confirm vs. hold for review, judged only on properties a model cannot flatter:
- reversibility (importance level)
- conflict with something you already confirmed
- overlap with existing memory
- whether the write traces back to something you actually said
…

