DSH Plugin Store
Back to home

pingfanfan

hello-dsh

从零开始,看懂 DeepSeek Harness 的「万物皆可插件」— 零基础插件开发教程(含 22 个中文技能实例)| Zero-to-plugin tutorial for DeepSeek Harness

Stars
28
Language
Python
Created
Aug 13, 2026
Updated
Aug 14, 2026
Other
GitHub repoHomepage

Introduction

Hello DSH — Everything is a Plugin

The first lesson for DeepSeek Harness

From "open a terminal" to your first plugin, in 30 minutes

Tutorial Skills DSH License

English · 中文 · Start →


DSH introduces itself as "Everything is a Plugin."

That is not marketing. Open Settings → Plugins → Plugin list and look at the count:

Plugin list

133 of them. llm (the model adapter), session (conversation history), webserver (the page you are looking at), ui-sidebar (the sidebar on the left), and agent-loopthe agent loop itself is a plugin.

This repo walks you from "open a terminal" to building your own plugin and watching its lifecycle.


Start here

Full tutorial: Hello DSH

🌏 The tutorial is currently written in Chinese. An English version is in progress. The code, commands, and screenshots are language-neutral, so the walkthrough is still followable — and the skills in examples/skills/ work regardless of what language you read.

⚠️ Launch the web UI with --patch, or skills silently do nothing. See the gotcha below.

It assumes you have nothing: no Node.js, no command-line experience. Every section ends with a checkpoint — you don't move on until you see the expected result.

StepsWhatTime
1–2Open a terminal, install Node.js7 min
3–5Launch DSH, configure the API key, pick a workspace10 min
6See all 133 plugins for yourself3 min
7–8Build your first plugin, watch its lifecycle10 min
9–10What's next, theory (optional)13 min

Steps 1–8 take about 30 minutes and leave you with a working setup.


Two routes to extend DSH

RouteWhat you writeEffortGood for
Markdown (skill)One text file5 minutesChanging how the model judges, formats, and works
TypeScript (code plugin)A code module30+ minutesNew tools, external services, UI changes

Rule of thumb: if you can explain it in plain language, take the Markdown route.

The tutorial walks through both.


Ready-made examples

Once you're through the tutorial, examples/skills/ has 22 Chinese-language skills ready to use.

Let an AI install them (easiest)

Hand this link to Codex, Claude Code, or DSH itself:

https://github.com/pingfanfan/hello-dsh/blob/main/INSTALL-FOR-AGENTS.md
install this

It checks Node, DSH, and the API key first, then copies files.

Or run one command

git clone https://github.com/pingfanfan/hello-dsh.git
cd hello-dsh && ./install.sh

Preview first: ./install.sh --dry-run Remove: ./install.sh --uninstall

The skills

SkillUse it when
hello-dshStart here: verify the plugin system, lifecycle, theory
dsh-onboardingFirst run of DSH, or stuck on startup, workspace, permissions
dsh-skill-devFull rules for writing skills (Markdown route)
dsh-first-pluginBuilding your first code plugin (tested walkthrough)
dsh-plugin-devFull rules for writing plugins (TypeScript route)
dsh-troubleshootWon't start, config not applying, UNKNOWN_TOOL, missing skills
plan-before-codeA task spanning several files, with unknowns
code-review-cnReviewing a change, PR, or diff
debug-systematicallyA bug, a failing test, "it worked yesterday"
explain-codebaseGetting oriented in an unfamiliar project
refactor-safelyRefactoring, splitting functions, removing duplication
test-firstWriting tests, implementing a feature, fixing a bug
api-designDesigning an interface, adding a public method
error-handlingDesigning error handling, throw vs return
perf-optimizeOptimizing performance, finding what's slow
security-review-cnSecurity review, attack surface, credential handling
commit-messageWriting commit messages, splitting changes
pr-descriptionWriting a PR description, preparing review
write-tech-cnWriting Chinese docs, READMEs, technical posts
write-docs-cnWriting or organizing project docs, API references
web-researchResearching online, verifying facts, evaluating options
ask-good-questionsAsking a technical question, reporting a bug

Once installed, say "hello dsh" to DSH and it walks you through, one layer at a time.


One gotcha

⚠️ The DSH web UI ships with skills disabled (the CLI profile has them on). Verified on 0.1.0-rc.6.

To use skills in the web UI:

npx @deepseek-ai/dsh web --patch ./enable-skills-in-web.yml

That file is in this repo's root.


What this tutorial found

Writing this meant running DSH end to end on two clean Macs. These behaviors are documented in the tutorial because each one silently blocks a beginner:

FindingWhy it matters
The web profile ships with tool-skill and skill-filesystem disabled; headless has them onSame skill works in the CLI, silently does nothing in the web UI, with no error
The web UI requires a workspace before the send button activatesThe CLI has no such requirement, so it's easy to miss when testing
A stale DSH process holding port 3080 makes the page load normallyNew instance exits with EADDRINUSE; the browser silently talks to the old one and no config change appears to take effect
--patch inserts rather than overrides, so patched plugins mount twiceHarmless, but the plugin list shows 7 skill plugins instead of 5
A camelCase frontmatter key drops the entire skill, warning onlyDocumented fail-closed behavior, but hard to diagnose without knowing it

All verified on 0.1.0-rc.6.

Companion tool

dsh-doctor — config health checks that catch silent failures:

npx dsh-doctor

Read-only. Every rule maps to a real failure documented in DeepSeek's own docs or postmortems.


How these skills are written

Following DSH's own .agents/skills/ — 11 skills DeepSeek wrote for internal use. What they have in common:

  1. Guidance, not a checklist (their words: "This skill is guidance, not a complete checklist")
  2. Name the sources of truth, and say "read them, don't restate them"
  3. Layer it: blocking requirements / manual checks / what not to do
  4. A dedicated "what not to do" section — it prevents more than the positive instructions do

See docs/writing-skills.md.

Contributing

See CONTRIBUTING.md. Two requirements: Chinese, and you actually use it.

License

MIT


Unofficial community project. Not affiliated with DeepSeek.