JayYuen666/dsh-lesson-loop
A self-evolution loop for DSH: guard denials, gate failures, abnormal resumptions and human negative feedback go through one bus, sink into project lessons and rule cards, and confirmed rules get injected back into the model at session start. Four stages — observe and sink, promotion (human-only; a machine never promotes a rule), remind via a permanent systemPrompt section plus agent.inject on agent/created, and measure/decay. The host half provides a lessonLoop service; the client half is a web settings card with a rule review desk.
dsh-lesson-loop is a self-evolution loop for DSH: guard denials, gate failures, abnormal resumptions and human negative feedback go through one bus, sink into project lessons and rule cards, and confirmed rules get injected back into the model at session start. It has four stages. Observe and sink: each report() appends a line to $DSH_HOME/cache/lesson-loop/events.jsonl and merges it into a candidate card keyed by project, category and signature until the promotion threshold is reached. Promotion is human-only — a machine never promotes a rule, and arm may carry a rewritten statement while reject/demote/archive/edit/revive round out the state machine. Remind: a permanent systemPrompt section plus the project's full armed rules injected into the root session via agent.inject on agent/created, skipping subagents. Measure and decay: violation, suppressed and samples are tracked, with one decay pass at load and every decayIntervalMs (24 hours by default). The host half provides a lessonLoop service other plugins can read via ctx.get, and the client half is a web settings card with switches and a rule review desk.
Install
dsh plugin --profile web add @jayyuen66/dsh-lesson-loopCopied verbatim from the README's Install block, which notes both this package and its runtime dependency @jayyuen66/dsh-plugin-shared are on the public npm registry so installs need no credentials; remove it with dsh plugin --profile web remove @jayyuen66/dsh-lesson-loop.
Compatibility
The three host packages resolve as required peerDependencies and are deliberately never listed under dependencies: consumer profiles install with nodeLinker: hoisted and autoInstallPeers: false, and @deepseek-ai/dsh-tools keys an internal symbol per module instance, so a duplicated host package makes every native tool call throw Cannot read properties of undefined (reading 'prepare'). The README pins this invariant in a publish-manifest test. settings is the only plugin-level hard dependency; every other service (timer / commands / systemPrompt / llm) is read optionally.
Details
- Repo: JayYuen666/dsh-lesson-loop
- Category: Skills
- Stars: 0
- Version: GitHub repo JayYuen666/dsh-lesson-loop; npm package @jayyuen66/dsh-lesson-loop at 0.1.1 (registry check 2026-10-11; registry repository field resolves back to this repo). Runtime dependency @jayyuen66/dsh-plugin-shared; host peers @deepseek-ai/schemastery, @deepseek-ai/dsh-home-paths, @deepseek-ai/dsh-brand.
- Last push: 2026-10-11
- First seen: 2026-09-20
Alternatives
AKS1st/dsh-skill-manager · Cavan-Ou/hermes-dsh-collab · cheshireez/dsh-skill-hub