DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Prompt Desk — DSH Plugin for DeepSeek Harness
← Plugins
P

dsh-prompt-desk

Prompt Desk

DSH Prompt Workbench: see every part of the system prompt, write your own house rules, check for repetition and contradictions, and record each change.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:Hwayn-pixel/dsh-prompt-desk#328c66ef5d07411f6ee6faa9f5ada7968b35caa8
READMECompatibilityVersions

Compatibility and provenance

Prompt Desk is published as dsh-prompt-desk and currently resolves to version 0.4.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
10/3/2026

Versions

0.4.0stable
10/3/2026
0.3.1
stable
10/2/2026
0.3.0stable
10/1/2026

Related plugins

Loading related plugins…

Latest
0.4.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 1
Weekly downloads
0
Last push
10/3/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in

Related plugins

More verified plugins in developer-tools.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Sdk App@deepseek-ai/dsh-sdk-appThe dsh SDK profile bundle: stdio JSON-RPC serving and process lifecycle over dsh-baseExperimental Inspector@deepseek-ai/dsh-experimental-inspectorExperimental cross-realm CDP hub for Host debugging and Client Runtime inspectionExperimental Inspector Profile@deepseek-ai/dsh-experimental-inspector-profileOptional Web bundle for raw Session logs and Chat node inspection

README

dsh-prompt-desk

English | 简体中文

npm: dsh-prompt-desk · one-line install: dsh plugin --profile web add dsh-prompt-desk

A co-pilot, not an autopilot.

dsh-prompt-desk gives DSH's system prompt a co-pilot: it lets you see which sections the manual is made of, write your own house rules, and call out repetition and bloat. It never edits for you and never keeps score — the wheel stays in your hands.


What it does

See itOpens the current system prompt as sections: what each one is called, where it comes from, how many bytes, and the raw text. It uses the real ctx.systemPrompt.assemble(), not a guess.
Edit it"My house rules": write a line and choose where it lands in the prompt (front / middle / back). Edits take effect immediately, with no restart — each section's text is a provider read at assembly time.
Understand it"Inspection": the same line in more than one section, two rules that contradict each other (one says "do", the other "don't"), a section that is unusually large, a rule left enabled but empty … facts only, no decisions made for you.
Undo itEvery contribution uses this plugin's own section names (copilot:pre / copilot:mid / copilot:post). Turn the switch off or remove the plugin and everything goes back to the way it was — it never rewrites anyone else's section.

Why the section names are not deployment:persona-prefix

DSH lets a section shadow another section of the same name (that is exactly how a preset can override the deployment persona). dsh-prompt-desk deliberately does not use shadowing: a co-pilot adds a layer of your voice, it does not quietly replace the captain's. To override the persona, use DSH's own preset mechanism — that is the front door for it.


Install

# the npm package name is dsh-prompt-desk (see below for why)
dsh plugin --profile web add dsh-prompt-desk

# local development (link mode; just rebuild after a change)
dsh plugin --profile web add -w .    # run this from the plugin directory

# restart the web host
dsh --profile web --no-open

# hard-refresh the browser (Ctrl+F5)

Open Settings → Prompt Desk.

When installing from a local link, the plugin directory's node_modules needs @deepseek-ai/schemastery (the copy bundled with DSH is fine); a normal install from npm resolves it through the declared dependency.

⚠️ A hard-won note for DSH plugin authors (verified): DSH plugin ids do not support npm scoped names. With the package named @hwayn/dsh-prompt-desk, the host loads it as usual (the routes work), but the client half is silently dropped from the module roster — the settings page simply vanishes, with no error in the front end. The name must be identical and unscoped in three places: package.json's name, the name in cordis.patch.yml, and the profile's dependencies key plus dsh.profile.bundles. Hence the repository is dsh-prompt-desk and the npm package is dsh-prompt-desk.

How to back out

  • To silence it temporarily: turn off "Enabled" on the settings page — the plugin stops writing anything into the prompt and touches nothing else.
  • To remove it entirely: delete the link under node_modules, remove dsh-prompt-desk from the profile's dsh.profile.bundles, and restart the host. House rules you have written stay in the profile's settings document and can be cleared by hand.
  • The plugin never modifies sections contributed by other plugins, so backing out needs no patch.

Interface (host half)

  • GET /dsh-prompt-desk/prompt → { ok, enabled, sections:[{name,bytes,text}], rendered, bytes, tools, contexts, ours, bands } Returns the prompt as it is really assembled right now. :3080/dsh-prompt-desk/prompt can be curled directly, which makes debugging easy.

Settings namespace: ui-prompt-desk.

FieldDefaultMeaning
enabledtrueMaster switch. When off, the plugin writes nothing into the prompt
rules[][]{ id, title, text, band: pre|mid|post, enabled }

Section placement (the numbers are free slots from DSH's SECTION_ORDERS):

bandorderPosition
pre700After the deployment persona, before the tool descriptions
mid5500After all tool sections
post10150At the end of the prompt, before the persona suffix

Known limitations (an honest list)

  • Add-only: today it can add sections, but cannot delete or rewrite sections contributed by other plugins. Making a section "disappear" currently relies on DSH's own configuration (for example disabling that plugin) or on writing a house rule that corrects it.
  • Inspection is heuristic: duplicate detection looks for "a normalized line of length ≥ 30 appearing in more than one section". It offers clues, not a verdict.
  • {{variables}} in the preview: the host half prefers dsh-system-prompt's renderPrompt() for interpolation; if that package does not resolve inside the profile, it falls back to "join as is" (keeping {{model}} and the like), in which case the preview is not the final text.
  • The assembly preview is produced without a concrete agent scope, so tools often shows 0 — in a real session the tool sections belong to each request's scope.

Status

🌱 v0.0.1 · the night of 2026-09-30. Foundation: ctx.systemPrompt from @deepseek-ai/dsh-system-prompt (a section registry plus assemble()). Verified end to end: register three sections → edit through the UI → the prompt content changes accordingly → remove them and it returns to zero.

Author: Hwayn (幻弈)