
zangxx66/dsh-prompt-setting
dsh-prompt-setting
dsh-prompt-setting is a community DeepSeek Harness plugin. Read the repository README before installing.
Install
npx @deepseek-ai/dsh plugin --profile <name> add dsh-prompt-settingRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-prompt-setting)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from zangxx66/dsh-prompt-setting, cleaned of badges and images.
dsh-prompt-setting
English | 中文
System Prompt management for DSH (DeepSeek Harness). It adds a Prompt manager to the Web GUI's Settings: you can see the system prompt a session actually assembles on every turn, search it, write your own instructions into it, and roll back a bad edit — all without touching the global DSH install.
- Zero runtime dependencies, zero build step: one package of plain JS — nothing to fetch, nothing to compile.
- Upgrade-safe: configuration is written only to the plugin's own data directory, so upgrading or reinstalling DSH neither loses nor overwrites it.
1. What problem this solves
Every DSH turn is injected with a base system prompt assembled by @deepseek-ai/dsh-system-prompt.
Until now the only way to adjust it was to hand-edit files inside the global pnpm node_modules.
The cost of that:
- the next DSH upgrade overwrites it and your changes are gone;
- it pollutes a global install, so nobody else — and no other machine — can reproduce it;
- there is no record of what changed, or of what it looked like before;
- and worst of all, you cannot see what the finally assembled system prompt actually looks like.
This plugin moves that into the Settings page: the assembly is laid out section by section, the part you write is its own section pinned to the end, every other built-in section stays read-only, and changes come with history, diffs and exportable backups.
2. What you get after installing
Settings gains a "Prompt settings" pane (id: prompt-setting) with six top-level tabs:
| Tab | What you can do |
|---|---|
| My Prompt | The only write surface: write your own system-level instructions (pick a layer → edit → save), plus a one-click "Restore default". This text is placed after every built-in section. The "View scope" selector is inside this panel, under its title (since g-071): it decides which layer a save lands in, and it is the only place the scope is changed (the panel also repeats the current target as a read-only line). Since g-084 a read-only two-line status summary sits under that target line: the latest key node's assembly / delivery verdicts and "this layer: N override(s) · M not in effect". It follows "View scope" (a global scope says so and borrows no session), "Details" opens Advanced pinned to that session, and it carries no switch and no per-entry reason. "Restore default" deletes only this layer's My Prompt entry and keeps the layer's other overrides. |
| My presets | Your catalogue of reusable texts: save a text as a preset (create / edit / delete), then apply it to a workspace (it is written into that workspace layer's reserved section) or cancel the application, which restores exactly what that workspace held before. Deleting an applied preset cancels its applications first: every affected workspace is restored to what it held before, and only then is the preset removed from the library (the confirmation names those workspaces). Tags (g-082): the library has its own tag set; a preset may carry 0–N tags and the list filters by one tag at a time. Tags are created, renamed and deleted under "Manage tags"; a deletion asks first and states how many presets lose the tag — the presets keep their other tags and only that tag goes. |
| Prompt overview | Read-only: the assembled section list (status marks / search / filters / copy), the full text, and a `base ↔ effe |
…
