DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

@nelsonlongxiang/dsh-prompt-templates

Prompt Templates

DeepSeek Harness 的快速提示词模板:全局和每会话模板、浏览器面板,以及纯 TypeScript 的 node:sqlite 持久化后端

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add @nelsonlongxiang/dsh-prompt-templates@0.13.1
README兼容性版本

兼容性与来源证明

Prompt Templates 以 @nelsonlongxiang/dsh-prompt-templates 发布,当前版本为 0.13.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/10/27

版本

0.13.1stable
2026/10/27
0.11.2stable
2026/9/22
0.9.0stable
2026/8/29
查看其余 1 个版本收起版本
0.4.4stable
2026/8/22

相关插件

正在加载相关插件…

最新版
0.13.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
382.1 kB
文件数
51
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 2
周下载
0
最近提交
2026/10/28
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 productivity-workflow 分类下经过校验的插件。

Client Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。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-remote通过桌面端、网页端和 Android 端,端到端加密远程访问 DeepSeek Harness 和实验性 Codex 工作区,并支持 dsh-TUI Host。Archive Manager@michengai/dsh-archive-manager归档、恢复、收藏和永久删除会话,并诊断损坏的会话日志。

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