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.

System Prompt — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
S

@datawork-technology/dsh-system-prompt

System Prompt

Per-model system prompt injector for DeepSeek Harness: append custom prompt text to the system prompt for locally configured models, matched by exact provider/model route or a provider-wide provider/* rule, managed from a Settings page and persisted across restarts.

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

npx -y @deepseek-ai/dsh plugin --profile web add github:datawork-technology/dsh-system-prompt#2aa91598bf8531b7df9170f1a471d66436c9402a
READMECompatibilityVersions

Compatibility and provenance

System Prompt is published as @datawork-technology/dsh-system-prompt and currently resolves to version 1.0.1. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
9/24/2026

Versions

1.0.1stable
9/24/2026

Related plugins

Loading related plugins…

Latest
1.0.1
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
9/24/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

Related plugins

More verified plugins in models-usage.

Whale Widgetdsh-whale-widgetDeepSeek balance whale widget in the bottom-right corner of the DSH Web interface: balance/today’s usage/peak-off-peak pricing, customizable bubble click sequence (text/balance/today/peak-off-peak/image/random phrases and parallel weighted selection), per-line styles and fonts, floating quick editinCodex Connectdsh-codex-connectChatGPT OAuth and Codex models for DeepSeek Harness.Usage Stats@ychris12138/dsh-usage-statsToken usage heatmap, provider balances, and subscription quotas for the dsh web GUIDamage Pulsedsh-damage-pulseDeepSeek Harness balance monitor with a whale-girl companion and cache-aware damage animations for every token charge.

README

dsh-system-prompt

A DeepSeek Harness (DSH) plugin that appends custom system-prompt text to locally configured models: rules match an exact provider/model route or a provider-wide provider/* wildcard and are injected into the system prompt tail. Rules are managed per model from a Settings page and are persisted across DSH restarts.

Features

  • Per-route injection — on every model step, prompts of matching rules are appended to the system prompt (registered at order 9950, after every shipped tool and structured-output section). Applies to main sessions, subagents, and workflow children alike.
  • Two rule levels — a provider/* rule applies to every model of that provider; a provider/model rule applies only to that exact model. When both exist they stack in order: provider-wide first, then exact-model.
  • Settings page — Settings → System Prompt lists every locally configured provider and its models (same data source as the Models settings page). Each row can add/edit/clear a rule; injected rows show a badge and a content preview.
  • Persistent — rules live in <DSH_HOME>/system-prompt/config.json (default ~/.dsh/system-prompt/config.json) and are restored after a DSH restart.
  • Instant effect — saving a rule takes effect on the next model request, no restart required.

Install (standard DSH bundle)

dsh plugin --profile web add @datawork-technology/dsh-system-prompt --registry=https://registry.npmjs.org

Pin the npmjs registry explicitly so a local/mirror registry config does not redirect the install. Restart DSH afterwards (host load, typert registration, and client bundle injection all happen at startup); the System Prompt page then appears in Settings.

Uninstall:

dsh plugin --profile web remove @datawork-technology/dsh-system-prompt

Usage

  1. Open Settings → System Prompt (right after the Models page).
  2. The page lists a card per locally configured provider; the first row of each card is All models (provider-wide), followed by one row per model in that provider's config.
  3. Click Add prompt / Edit on a row, write the text to append, and Save — it takes effect immediately. Clear rule deletes that entry.
  4. Matching is an exact route match (provider/model, case-sensitive, e.g. minimax-cn/MiniMax-M3); model ids are exactly what the Models settings page is configured with.

Rule examples

Rule keyScope
deepseek-official/*Every model on the DeepSeek official route
minimax-cn/MiniMax-M3MiniMax-M3 only
zai-coding-cn/glm-5.3GLM-5.3 only

Typical use: append a strict working protocol (verify before claiming, minimal diffs, contract alignment, …) to weaker models, or attach project conventions / output-format requirements to a specific model.

Implementation notes

  • Injection is a dynamic section on the systemPrompt service: the section text is a function evaluated each time the model step is assembled. The runtime assembly context carries the agent, and the target route for this request is resolved with the same precedence the host's model-selection layer uses (UI selection → logged request header → creation-time options; since DSH 0.1.5 agent.options alone is only a creation-time snapshot). Unmatched routes return "", and the renderer drops empty sections (zero cost).
  • The section registers at order 9950 (SECTION_ORDER in index.js). That is after every shipped tool / structured-output section, but not the absolute last order on newer hosts, which also register HARNESS_SOURCE = 10000, WEB_SURFACE = 10100, and DEPLOYMENT_PERSONA_SUFFIX = 10200. Raise the constant above those if the text must land after them too.
  • Rules are read/written through the plugin's own Typert Remote service (systemPromptInjector.getState / setRule); the client mounts the namespace itself via ctx.remote.$mount.

Development

npm run check   # node --check index.js client.js typert.host.js

Local link: install (the plugin directory must already have node_modules, see AGENTS.md):

npm install --no-save --registry=https://registry.npmjs.org @deepseek-ai/cordis@4.0.2 @deepseek-ai/dsh-typert-protocol@0.1.2-rc.1 zod@4.5.4
dsh plugin --profile web add /path/to/dsh-system-prompt
# restart DSH to take effect

Release

Push a v* tag: .github/workflows/release.yml builds the tgz, publishes a GitHub Release, and publishes to npm through OIDC Trusted Publishing (configure the trusted publisher on npmjs.com first: this repository + .github/workflows/release.yml).

Attribution

dsh-system-prompt is a rebranded derivative of MoonlitDropOfBlood/dsh-model-prompt-injector (MIT © duke). The logic is unchanged; the package name, identifiers (plugin id, service name, section name, persistence directory), repository metadata, UI branding, and documentation were rebranded. The upstream MIT notice is retained in LICENSE.

License

MIT © datawork-technology — see LICENSE.