deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
Turn everyday DSH work into a private, continuous learning loop.
dsh-explain is a learning-mode plugin for DeepSeek Harness. It turns useful concepts from completed work sessions into structured explanations, keeps them in one global learning thread, and adapts future explanations to what the user already knows.
The primary agent stays untouched: Explain uses its own model calls, scheduler, context, and local SQLite database.

Select text or choose Learn from this answer, review the editable /explain draft, generate a learning card, then mark it understood. This demonstration used real DSH Web sessions and real DeepSeek main-agent and Explain model rounds; the exact commits and recording conditions are preserved in PR #16.
Explain currently targets DSH 0.1.0-rc.7.
npx @deepseek-ai/dsh@0.1.0-rc.7 plugin --profile web add github:yuezengwu/dsh-explain
npx @deepseek-ai/dsh@0.1.0-rc.7 web
Then open Settings → Learning, select 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.
| 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. It never submits automatically. |
| Learn from this answer | Creates an editable draft tied to the exact finalized assistant turn. |
| Automatic evaluation | After an eligible completed turn, Explain may add one useful explanation within the configured budget. |
Use /explain on, /explain off, and /explain status to control or inspect the runtime without leaving the composer.
Each learning card answers three questions:
Choose Got it to close the card, or Not yet to request a different explanation. Rephrasing remains available even if the source session is later deleted.
Every $DSH_HOME owns exactly one Explain learning thread. Individual work sessions contribute material, but resumes and forks never copy the learning state.
ExplainContext tracks explanation preferences, knowledge level, and learning progress.| Data | Behavior |
|---|---|
| Learning thread | Stored in $DSH_HOME/dsh-explain/v1/thread.sqlite. |
| Enablement and model settings | Stored through DSH settings in $DSH_HOME/settings.yaml. |
| Source material | Reduced to bounded capsules; rephrasing retains at most a 2,000-character restricted source summary. |
| Global learning context | Sent only to the auxiliary Explain model, never to the primary agent. |
| Primary session | Never receives Explain events, prompts, or learning context. Primary turns are not blocked. |
Explain uses first-party DSH conversation.view, composer, assistant-action, and settings extension points. It does not require better-sidebar or patches to other plugins.
0.1.0-rc.7.DSH is still a developer preview. Explain follows the current public API line and does not retain compatibility layers for earlier private-preview packages.
The default install uses the published rc.7 API packages. Assembled-Web tests also need a built DSH rc.7 source checkout:
pnpm install
DSH_SOURCE_DIR=/absolute/path/to/dsh pnpm run dsh:link
DSH_SOURCE_DIR=/absolute/path/to/dsh pnpm run dsh:link:check
pnpm run typecheck
pnpm test
DSH_SOURCE_DIR=/absolute/path/to/dsh pnpm run test:web
DSH_SOURCE_DIR=/absolute/path/to/dsh pnpm run test:m6
pnpm run 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
test:web starts a fresh keyless DSH Web composition and verifies the Learning view, settings, source navigation, and missing-source fallback. test:m6 installs only Explain and verifies both editable-draft shortcuts plus clean unload and reinstall behavior.
| Document | Purpose |
|---|---|
| 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 | Current follow-up work and sequencing. |
The detailed design documents are currently written in Chinese.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。