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.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

@nelsonlongxiang/dsh-prompt-templates

Prompt Templates

Quick prompt templates for DeepSeek Harness: global and per-session templates, a browser panel, and a pure-TS node:sqlite persistence backend

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

npx -y @deepseek-ai/dsh plugin --profile web add @nelsonlongxiang/dsh-prompt-templates@0.13.1
READMECompatibilityVersions

Compatibility and provenance

Prompt Templates is published as @nelsonlongxiang/dsh-prompt-templates and currently resolves to version 0.13.1. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
10/27/2026

Versions

0.13.1stable
10/27/2026
0.11.2stable
9/22/2026
0.9.0stable
8/29/2026
Show 1 more versionCollapse versions
0.4.4stable
8/22/2026

Related plugins

Loading related plugins…

Latest
0.13.1
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
382.1 kB
Files
51
Surface
web
License
MIT
Source
npm
GitHub
★ 2
Weekly downloads
0
Last push
10/28/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 productivity-workflow.

Client Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.Web All@linxin666/dsh-web-allDSH Web UI 全家桶聚合插件:一键安装全部功能插件(task-board / pet / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。Ds Harness Remoteds-harness-remoteEnd-to-end encrypted remote access to DeepSeek Harness and experimental Codex workspaces from desktop, web, and Android, with dsh-TUI Host support.Archive Manager@michengai/dsh-archive-manager归档、恢复、收藏和永久删除会话,并诊断损坏的会话日志。 · Archive, restore, favorite, and permanently delete sessions, and diagnose damaged session logs.

README

@nelsonlongxiang/dsh-prompt-templates

English | 中文

Quick prompt templates for DeepSeek Harness: global and per-session templates, a right-side browser panel, and pure-TS SQLite persistence via node:sqlite — one self-contained plugin, installable with dsh plugin.

The templates panel

Install

dsh plugin --profile web add @nelsonlongxiang/dsh-prompt-templates

Restart dsh web, then look for the templates button in the composer tool row. Since 0.12.0 the same library is also a right-sidebar tab: open it from the sidebar's + guide page (entry “Prompt templates”) — it lives beside the conversation, keeps the composer visible, and always targets the session the sidebar is viewing. On hosts without the sidebar services the tab stays dormant and the floating panel keeps working.

No Python toolchain required — since 0.3.0 the host half persists templates through node:sqlite (Node ≥ 24) directly inside the host process, reading and writing the same $DSH_HOME/ext/prompt-templates/db.sqlite3 the former Python child owned (zero data migration).

What you get

  • Global + per-session templates — globals apply everywhere; session templates stay private to one conversation and can be promoted to global in one click
  • Scheduled auto-injection — per-template switch and interval: the host re-surfaces an enabled template into the model context at the first request of every Nth round, persisted in SQLite and logged as a durable session event; the library toolbar shows a ⟳N badge with the session's latest injection (turn, time, template names)
  • Insert or send — one click inserts the template at the composer caret (or replaces the current selection); send-now dispatches immediately; edit, delete, and make-global all live in the row
  • Right-sidebar tab — the full library also docks as a sidebar tab (DSH ≥ 0.2.x): open it from the + guide and it follows the session you are viewing; the floating panel remains for quick one-shot use
  • Search & scroll — filter the list as you type, reliable scrolling for long collections
  • Drag to reposition, double-click to reset — the panel remembers where you put it
  • Durable by design — templates persist in SQLite through a pure-TS store (node:sqlite) owned by the host plugin and closed with its lifecycle

Auto-inject

Each template (global or session-scoped) carries its own switch + interval N. When on, the host injects the template at the first request of every Nth round of the conversation — N=5 means rounds 5, 10, 15, …; rounds count user→assistant exchanges and keep their numbering across restarts.

  • The injected content arrives as one durable <system-reminder> user message recorded in the session log (source kind prompt-template-schedule), so replays and audits reconstruct exactly what the model saw
  • A boundary round is never injected twice, even across restarts or step retries
  • Config persists in the plugin's SQLite database (schema v3); the deployment can silence everything with injectEnabled: false in the patch config

How it works

src/                  TypeScript plugin (host half + browser half)
  index.ts            Host: owns the TS store, exposes the HTTP routes
  store.ts            Pure-TS template store over node:sqlite (schema v3)
  inject.ts           Host: scheduled auto-injection on the pre-step waterfall
  invariant.ts        Host: registers the package's invariant companion
  cli/                The sync CLI (export/diff/merge/import) shipped as bin
  client/             Browser: shared template library mounted as both the
                      shell.overlay floating panel and the right-sidebar
                      tab body (sidebar.right.pane.tab), plus the
                      conversation.input.right toggle button
cordis.patch.yml      Bundle patch: mounts the plugin row

The store is pure TS inside the host half; no child process is spawned.

Security

  • Template content reaches a model request in exactly two ways: as ordinary user text the user chose to insert, or as scheduled auto-injection of templates where the switch was explicitly enabled — every injection is a durable session event
  • The panel talks to the host store over the Host's plugin routes only; no extra listener, no outbound network

Database sync CLI

The package ships a deterministic, local-only CLI for comparing and merging prompt-template databases across DSH homes. It never writes a remote database directly.

# Export a schema-v3 snapshot (canonical order + data_sha256)
dsh-prompt-templates export --db /path/to/db.sqlite3 --out snapshot.json --output=json

# Compare two snapshots (exit 1 with --fail-on-diff)
dsh-prompt-templates diff left.json right.json --output=json --fail-on-diff

# Merge into a JSON artifact only; equal-time or name conflicts block by default
dsh-prompt-templates merge base.json incoming.json --strategy newer --out merged.json --output=json

# Dry-run import (the default): review summary_sha256 and database hash
dsh-prompt-templates import --db /path/to/db.sqlite3 --in merged.json --output=json

# Apply only after binding both reviewed values; creates a backup, then one transaction
dsh-prompt-templates import --db /path/to/db.sqlite3 --in merged.json --apply \
  --expect-db-sha256 <db-sha256> --confirm-summary-hash <dry-run-summary-sha256> --output=json

import inserts/updates by template id and never prunes rows. It rejects unknown snapshot fields, unsupported schemas, mismatched hashes, same-name/different-id conflicts, and changes above --max-changes (default 100). Schema-v2 snapshots (pre-auto-inject) still import — the inject facts default to off; exports are always v3.

Development

pnpm install
pnpm verify            # typecheck
pnpm build             # tsc host + tsc client + tsdown browser bundle

Known limitations

  • Session templates need a current session — with no session open, only global templates are reachable
  • Injections don't render in the chat transcript — the DSH chat view omits injected context rows by design (they carry a non-user message source); see them in the trajectory tab. Templates with delivery mode visible are the exception: they render as ordinary user messages
  • Install from the npm registry, not from a Git URL — the plugin compiles against the DSH harness checkout; pnpm add github:<user>/<repo> fails at the prepare build step because the published @deepseek-ai/* npm snapshots lag the harness source. Use dsh plugin --profile <name> add @nelsonlongxiang/dsh-prompt-templates instead

License

MIT