dsh-explain: A Local-First Learning Mode DSH plugin for DeepSeek Harness

yuezengwu/dsh-explain

Data & KnowledgeVerified
Listed on 2026-08-20
Page last updated 2026-08-20

A DSH plugin that turns work sessions into a local-first cross-session learning thread with per-source explanations.

Turn useful material from multiple work sessions into one private learning thread that adapts explanations to your knowledge level.

install
dsh plugin --profile web add github:yuezengwu/dsh-explain
Category
Data & Knowledge
Platform
DSH-Plugin
Author
yuezengwu
Distribution
Plugin

dsh-explain Key Features

Cross-session learning threadPer-source explanationsAdaptive explanationsGlobal schedulerDiagnostic settings UI

dsh-explain Repository

yuezengwu
Publisher
yuezengwu
Repository
yuezengwu/dsh-explain
11
Stars
0
Forks
0
Watchers
0
Open issues
LanguageTypeScript
LicenseMIT License
Website
Repo last push2026-08-20 10:25:01
Repo created2026-08-12 17:11:07
Topics
dshdsh-plugindsh-plugins
Default branchmain

dsh-explain Repo Summary

dsh-explain is a local-first learning mode plugin (DSH plugin) for DeepSeek Harness, maintained by yuezengwu under the MIT license, last updated in 2026-08. It addresses the problem that DSH can complete complex work, but the result alone may not teach the concepts, tradeoffs, and common pitfalls involved. The plugin turns useful material from multiple work sessions into one private, local-first learning thread, continuously adapting explanations to the user's knowledge, preferences, and learning progress. Core capabilities include a cross-session global learning thread, per-source explanations, a private global ExplainContext, compaction, and a diagnosable settings UI.

What core features does the dsh-explain DSH plugin support?

dsh-explain maintains exactly one local learning thread in $DSH_HOME; work sessions, resumes, and forks do not copy its state. Each top-level source session may have one explanation awaiting feedback, and while one remains open, that source cannot generate another; other sources may continue independently. Users can request an explanation with /explain <learning request> and manage the feature with /explain on, /explain off, and /explain status. Manual explanations, autonomous explanations, rephrases, and compaction share one global scheduler, with at most one auxiliary model request running at a time. Autonomous evaluation defaults to 50 requests per rolling 24-hour window; usage survives restarts, failures and retries count, while manual explanations, rephrases, and compaction do not.

How do ExplainContext and compaction work in dsh-explain?

The private global ExplainContext summarizes conversation preferences, knowledge level, and learning progress; it is sent only to the auxiliary model and never injected into the primary agent. Auxiliary history is compacted after new structured observations or closed explanations remain untouched for 30 minutes, or before a request would exceed 50% of the selected model's context window; user-visible history is never deleted. The primary model does not know that Explain exists; Explain does not write to the primary session log, modify the primary model context, or block the primary turn. Learning history, active-source state, compaction checkpoints, and ExplainContext are stored in $DSH_HOME/dsh-explain/v1/thread.sqlite, while enablement and model settings use $DSH_HOME/settings.yaml.

How does the dsh-explain learning thread integrate into the DSH UI?

The learning thread appears in the first-party conversation.view slot as a Learning tab; configuration and diagnostics use the first-party settings.section, with no external UI host required. The Learning tab is session-scoped, but every tab reads the same global client store and typed Remote, so all work sessions display the same learning thread. The settings page controls the auxiliary model, enablement, and rolling autonomous-request budget, and reports routing, budget recovery, context pressure, and the latest compaction. If a source still exists in the current session inventory, its explanation can open it directly; deleted sources remain readable but are marked unavailable. P0 never switches views automatically, empty Hero sessions do not display view tabs, and the work-session composer remains available while the Learning view is open.

How do I install dsh-explain?

To install dsh-explain as a DSH plugin, use the following command:

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

After installation, use /explain commands in the session composer. The plugin has no external UI dependency and does not bundle or require better-sidebar.

Which DeepSeek Harness versions and platforms are compatible with dsh-explain?

dsh-explain passes the DSH 0.1.0-rc.6 acceptance gates, with M6 implemented entirely in Explain and no other plugin requiring a patch or runtime dependency. It is written in TypeScript and depends on multiple official DSH packages such as @deepseek-ai/dsh-api-gateway, @deepseek-ai/dsh-client-ui-slots, and @deepseek-ai/dsh-llm, ensuring tight integration with the DeepSeek Harness ecosystem.

View more DSH plugins at dsh-plugin.org

DSH-Plugin FAQ