DSH Exploration Kit
A hands-on, nine-lesson curriculum for learning DeepSeek Harness (dsh) by building real plugins — from mounting your first plugin to unattended automation.
Learn DeepSeek Harness (dsh) by building things that run. Nine lessons, each producing a working artifact, each teaching exactly one new part of the harness.
DSH is enormous but its mechanism is small and uniform: every capability is a plugin mounted into one shared context, reacting to typed events, owning a lifecycle. This kit teaches that mechanism once and then points it at a different extension seam in every lesson.
Start here
- Learning path — the ordering, why it is ordered that way, the dependency graph, and five progress checkpoints.
- Capability map — every DSH capability grouped by subsystem, with the package or seam that provides it.
- Lesson 1 — Mount your first plugin — needs no API key.
Short on time? The learning path has a defensible 30-minute subset — Lessons 1 and 3 — and says what it leaves out.
The nine lessons
| # | Lesson | New mechanism | API key? |
|---|---|---|---|
| 1 | Mount your first plugin | Plugin tree, shapes, fiber lifecycle | No |
| 2 | Register a tool, compose with config | ctx.tools, Schemastery, patch layers | No |
| 3 | Services, isolation, and hot reload | ctx.* services, inject, HMR, inventory | No |
| 4 | Build a policy gate | tools/* and fs/* waterfall events, guards | Optional |
| 5 | Assemble context deliberately | Context hooks, skills, commands | Yes |
| 6 | Give the session durable state | ctx.sessionProjections, durable derived state | No |
| 7 | Operate the harness | Session query, telemetry, token accounting | Yes |
| 8 | Orchestrate multiple agents | Subagents, forks, workflow engine | Yes |
| 9 | Automate the harness | Headless, SDK/ACP, schedules, webhooks | Yes |
How to use this kit
Each lesson has the same shape: goal → concepts → steps → verification → exit check → next. Do not skip the verification step. DSH fails loudly by design, and reading the failure is most of the learning.
Every lesson assumes:
A DeepSeek Harness source checkout with
pnpm run buildalready run.dshon yourPATH(see installing the dsh CLI).The path convention
<kit>meaning this repository's root.The kit's exercise plugins installed as a bundle. Lesson 1 does this once:
shcd <kit>/kit-plugins && pnpm install && cd - dsh plugin --profile kitdemo add link:<kit>/kit-plugins
link: symlinks the package, so edits you make while working the lessons are live. Your own scratch plugins go under <kit>/plugins/.
Plugins ship as a bundle, not as loose files. A --patch overlay resolves its row relative to the patch file, and a loose source file cannot import @deepseek-ai/* packages — pnpm symlinks only declared dependencies. This was verified by running it; see the kit's bundle documentation at https://github.com/kbaynes/dsh-exploration-kit/blob/main/kit-plugins/README.md.
Run boot commands in your own shell, not through a sandboxed agent's bash tool. The default file sandbox blocks dsh from writing its composed profile under ~/.dsh, and the boot fails with EPERM.
Compatibility
Authored and verified against DeepSeek Harness 0.2.0-rc.2 (commit 639ed01539). DSH is a developer preview with explicitly breaking changes, so a different version may require adjustments. See VERIFIED.md for exactly which steps have been executed and which are documented but unrun.
Contributing
Corrections, clearer explanations, and additional lessons are welcome — see CONTRIBUTING.md. The content is an Open Knowledge Format bundle, so every file is plain markdown with YAML frontmatter.
Attribution
This is an independent, unofficial teaching resource. DeepSeek Harness is developed by DeepSeek AI and licensed under MIT (see THIRD-PARTY.md). The knowledge here was derived from the public DSH documentation and source; the lesson design, exercises, and explanations are original. Not affiliated with or endorsed by DeepSeek AI.
Bundle
- Lessons — the lesson directory listing
- Learning path — the curriculum design document
- Capability map — the capability inventory