DeepSeek Harness Plugin

yuezengwu/dsh-explain

Stars ★ 12 Category Sessions & Messages Added 2026-08-13

Local-first learning mode: cross-session learning threads with per-source explanations.

Install

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:yuezengwu/dsh-explain

Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).

README

dsh-explain is a learning-mode plugin for DeepSeek Harness. It turns useful concepts from completed work into structured explanations, schedules lightweight reviews, and lets you inspect or correct what it learns about you.

The primary agent stays untouched. Explain uses its own model calls, scheduler, context, and local SQLite database.

See the learning loop

A real DSH Web flow that captures a completed answer, reviews a concept, corrects a learner preference, and exports local data

The 28-second preview runs against real assembled DSH Web 0.1.2-rc.1 with deterministic, private fixture data. Watch the higher-quality MP4 or read the recording contract.

Capture Review Adapt
Turn a finalized answer or selected text into an editable /explain draft. Nothing submits automatically. Revisit due concepts through recall, application, and distinction questions. Inspect explanation preferences and topic familiarity, then correct or forget an inference.

Quick start

DSH 0.1.7-rc.2 support is available on main and has not been tagged as a new Explain release. It preserves the thirteen previously verified hosts. The latest Explain release, v0.3.1, supports DSH through 0.1.6-alpha.2. See the compatibility contract for exact source revisions and evidence.

For the current DSH release candidate, install the current development branch:

npx @deepseek-ai/dsh@0.1.7-rc.2 plugin --profile web add github:yuezengwu/dsh-explain#main
npx @deepseek-ai/dsh@0.1.7-rc.2 --profile web

For the existing tagged release, keep DSH 0.1.6-alpha.2 and install github:yuezengwu/dsh-explain#v0.3.1. As checked on 2026-09-28, npm latest and next both resolve to 0.1.7-rc.2; alpha remains 0.1.7-alpha.2. The commands above pin rc.2 so a future dist-tag change cannot silently change the host version.

Open Settings → Learning, choose an auxiliary provider and model, enable learning mode, and save. Explain observes only future completed top-level turns; it does not scan existing history.

Git-hosted plugins build during installation. If pnpm requests build approval, add the printed dsh-explain entry to the profile's pnpm-workspace.yaml, then repeat the install command. For automated runs that should not open a browser, start DSH with --no-open.

v0.3.1 adds DSH 0.1.6-alpha.2 support while retaining all eight previously verified hosts. It fixes source navigation and Explain shortcuts for the new Session API, with live plugin disable/re-enable coverage. Existing learning data remains compatible (SQLite schema 4, backup v3).

Start from the work itself

Entry point What happens
/explain <request> Requests an explanation using the current session as bounded source context.
Explain selected text Creates an editable /explain --selection … draft from visible text.
Learn from this answer Creates an editable draft tied to the exact finalized assistant turn.
Automatic evaluation May add one useful explanation after an eligible turn, within your configured budget.
/review Opens or resumes a local review round in the Learning tab.

Each explanation answers three practical questions: What is it? Why does it matter here? What is the common pitfall? Choose Got it to close the card, or Not yet for a different explanation.

Review, then correct the model

Concepts marked Got it enter a local spaced-review schedule. Learning → Today's review selects up to three due concepts. Each concept advances from recall to application to distinction after successful answers; an unsuccessful answer repeats that skill next time. The auxiliary model evaluates each answer as Mastered, Partial, or Forgotten and schedules the next review at a deterministic interval. Partial or forgotten concepts are treated as learning again and can receive a new explanation; an active explanation pauses that concept's quiz.

Learning → Learning overview exposes the current judgments about explanation length, structure, examples, terminology, and topic familiarity—with confidence and source links. You can correct an inference, forget it, or set an explicit preference. Precedence is fixed and visible: explicit preference → user correction → model inference.

One learning thread, many sessions

  • Every $DSH_HOME owns exactly one Explain learning thread; resumes and forks never copy it.
  • Every source session has at most one explanation awaiting feedback.
  • One global scheduler serializes explanations, reviews, autonomous evaluation, rephrases, and compaction.
  • Autonomous evaluation has a persistent rolling 24-hour budget, configurable in Settings.
  • Rephrasing still works if a source session is later deleted because only a bounded source summary is retained.

Local-first by design

Data Behavior
Learning thread Stored in $DSH_HOME/dsh-explain/v1/thread.sqlite.
Enablement and model settings DSH 0.1.7 stores live fields in the active profile patch; older hosts use $DSH_HOME/settings.yaml. Explain imports its own legacy section once per profile, preserves explicit profile overrides and the original file, and leaves storage paths unchanged.
Source material Reduced to bounded capsules; rephrasing retains at most a 2,000-character restricted summary.
Global learning context Sent with bounded source text to the configured auxiliary provider. Local storage does not imply offline model inference.
Export A versioned local backup excludes private source summaries and filters common credential/path formats in public text. Arbitrary private prose may remain; review before sharing.
Clear A typed CLEAR confirmation atomically removes learned content while preserving runtime settings and the active budget window.

Explain uses first-party DSH conversation, composer, assistant-action, and settings extension points. It does not require patches to DSH or other plugins.

Compatibility and verification

Check Current result
DSH compatibility 0.1.7-rc.2 published packages; 0.1.2-rc.1, 0.1.3-alpha.1, 0.1.3-alpha.2, 0.1.5-alpha.1, 0.1.5-alpha.2, 0.1.5-rc.1, 0.1.5-rc.2, 0.1.5-rc.3, 0.1.6-alpha.1, 0.1.6-alpha.2, 0.1.7-alpha.1, 0.1.7-alpha.2, 0.1.7-rc.1, 0.1.7-rc.2 assembled source
Unit and integration 90 tests on each source version
Assembled DSH Web 7 shared scenarios; 0.1.7 adds legacy-settings migration and restart coverage
Explain-owned shortcuts 3 M6 scenarios; 0.1.6-alpha.2 and all 0.1.7 hosts also exercise live disable/re-enable
Production package Frozen install, build and pack
Real auxiliary model DSH 0.1.6-alpha.1 + deepseek-flash: explanation, rephrase, corrected preference, correct/incorrect review, exact-answer command, export and clear

See the acceptance matrix for coverage and the 2026-09-15 real-model acceptance for the current model route, sample, screenshots, and test limits. DSH remains a developer preview; Explain follows its current public API line instead of retaining compatibility layers for private-preview packages.

Local development

The default development install uses published 0.1.7-rc.2 API packages, with a version-scoped repair for their missing store runtime dependencies. Assembled-Web tests accept a built DSH checkout for any of the fourteen versions above. The existing demo recording remains on 0.1.2-rc.1:

pnpm install
DSH_SOURCE_DIR=/absolute/path/to/dsh pnpm dsh:link
DSH_SOURCE_DIR=/absolute/path/to/dsh pnpm dsh:link:check
pnpm typecheck
pnpm test
DSH_SOURCE_DIR=/absolute/path/to/dsh pnpm test:web
DSH_SOURCE_DIR=/absolute/path/to/dsh pnpm test:m6
pnpm build

Install this checkout directly for manual development:

dsh plugin --profile web add /absolute/path/to/dsh-explain
dsh --profile web --dump-config
dsh --profile web

Documentation

Document Purpose
Demo production Storyboard, privacy contract, commands, assets, and artwork provenance.
Product requirements User model, scope, policies, and acceptance criteria.
Architecture Persistence, scheduling, RPC, UI integration, and failure behavior.
Acceptance matrix Automated and real-flow evidence.
Iteration plan Completed milestones and follow-up sequencing.

License

MIT

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Community comments

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.