dsh-plugin-prompt
Manifest validA sidebar prompt template library for DeepSeek Harness: browse, manage, and insert reusable prompts into the composer.
Prompt Library for DeepSeek Harness
English | 中文
A DeepSeek Harness Web plugin that keeps reusable prompt templates one click away. It adds a searchable template library to the sidebar and a compact picker to the message composer. Choosing a template inserts it at the caret, or starts a new conversation with the template already in the draft when no conversation is open.
Repository: https://github.com/qifenglun1/dsh-plugin-prompt
Features
- Sidebar library — a bookmark entry in the left sidebar opens a full library panel.
- Composer picker — a small bookmark button in the composer tool row opens a compact, searchable picker without leaving the conversation.
- Insert at the caret — templates are inserted into the current draft; a selection is replaced. The edit is undoable through the composer's normal undo history.
- No-conversation fallback — with no conversation open, choosing a template starts a new conversation and puts the template in the draft.
- Template management — create, edit, delete, duplicate, copy, search, and filter templates by category.
- Categories — create a category before it has templates. The empty category offers New template in this category. A name matching a built-in category label belongs to that built-in category instead of creating a duplicate.
- Eight built-in templates — code review, refactoring, tests, debugging, explanation, summarization, translation, and structured research. They follow the UI language and are read-only; Save as mine creates an editable copy.
- English and Simplified Chinese UI — the interface follows the DSH language setting.
- No configuration required — no API key, token, password, account, or external service.
Requirements
- DeepSeek Harness 0.2.1-rc.2 or newer, with the Web or Desktop UI.
- A DSH profile in which bundles can be installed (the default Desktop profile is fine).
- Network access to GitHub when installing from this repository.
The plugin is a bundle, not a standalone web page. Install it through DSH's plugin manager; do not try to open client.js directly.
The repository root is the installable package root. It contains package.json, cordis.patch.yml, index.js, and client.js; there is no monorepo subdirectory and no build step.
Install from GitHub
Desktop / Web (recommended)
-
In DSH, open Plugins.
-
Choose Add plugin → Install a third-party plugin.
-
Paste the repository address:
https://github.com/qifenglun1/dsh-plugin-prompt -
Review the trust notice and confirm the installation. DSH reads
package.jsonand installs the bundle. -
If the
prompt-libraryrow remains off, enable it in Plugins. -
If the sidebar bookmark does not appear, refresh the Web GUI once.
CLI
dsh plugin --profile <name> add ... forwards the install to pnpm in that profile. Use the profile you actually run (web, desktop, or a custom profile):
dsh plugin --profile web add github:qifenglun1/dsh-plugin-prompt
The equivalent GitHub URL form is accepted by pnpm-based installs:
dsh plugin --profile web add https://github.com/qifenglun1/dsh-plugin-prompt
A git install fetches sources, not a prebuilt artifact. This package is plain JavaScript with no prepare/build script, so pnpm does not need to run an install-time build and users are not asked to allow one.
Do not edit the profile's package.json or cordis.patch.yml by hand; the plugin manager owns those files.
Local checkout (development)
Install the absolute path to this repository as a linked bundle:
dsh plugin --profile dev add /absolute/path/to/dsh-plugin-prompt
The plugin manager links the checkout into the profile, so edits to client.js are picked up after a page refresh. Replace dev with a disposable profile name; do not mix development links into a profile you rely on.
Update and uninstall
DSH upgrades non-official plugins by uninstalling and reinstalling them. Uninstall the bundle in Plugins, then install the new repository version. With the CLI:
dsh plugin --profile web remove dsh-plugin-prompt
dsh plugin --profile web add github:qifenglun1/dsh-plugin-prompt
Removing the bundle removes the sidebar entry and composer picker. Templates already saved in the browser are not deleted by uninstalling; clear the keys below if you want to remove them.
Configuration
The plugin has no Config schema and no required settings. There is no API key, token, password, endpoint, or model selection to configure.
| Setting | Where |
|---|---|
| Templates | Managed in the library panel or the template editor. |
| Categories | Created with New category or by typing a new category in the template editor. |
| Language | Follows the DSH language setting (English or 简体中文). |
| Built-in templates | Fixed in the plugin; Save as mine creates an editable copy. |
Browser storage
Templates and categories are stored in the Harness Web origin's localStorage:
dsh.prompt-library.templates.v1— user templates.dsh.prompt-library.categories.v1— categories that exist independently of templates. When this key is missing, categories already used by saved templates are migrated into it.
localStorage is scoped to the Web origin. A different origin, browser profile, or cleared browser storage has separate data. The plugin does not write templates to the session log, does not send them to a server, and does not read credentials. When you send a message, its text reaches your configured model through DSH as usual.
Usage
Sidebar library
- Click the bookmark entry in the left sidebar.
- Search by title, text, or category, or choose a category chip.
- Choose Insert to put the template into the current draft, Copy to copy it, or Save as mine to duplicate a built-in template.
- Use New category to create a category before it has templates.
- Use the back arrow in the panel header to return to the conversation.
Composer picker
- Click the bookmark button in the composer's left tool row.
- In a new, empty conversation the picker opens as a centered dialog, so the search field is always visible; in an active conversation it opens above the composer.
- Search for a template. Use the arrow keys to move and Enter to insert, or click a row.
- The template is inserted at the caret (or replaces the current selection).
Example
Create a reusable review prompt:
-
Open the sidebar library.
-
Choose New template.
-
Set the title to
Review a pull request, the category toEngineering, and the body to:Review this change for correctness, edge cases, performance, security, and maintainability. List issues by severity, then give concrete fixes. -
Save. The template appears under My templates.
-
In any conversation, click the composer bookmark, choose the template, and it is inserted at the caret.
Empty categories
A newly created category is selected immediately. Until it has templates, the panel shows No templates in this category yet and New template in this category. That button opens the editor with the category prefilled.
Categories can be created and selected, but renaming or deleting a category is not yet supported.
Compatibility
- Built and verified with DeepSeek Harness 0.2.1-rc.2.
- The package declares
engines.dsh: ">=0.2.1-rc.2 <0.3.0". Installation and profile startup refuse a bundle outside that range. - The client half uses the public slot entries
sidebar.panellist,main,conversation.input.left, andconversation.input.overlay, plus the composer'sInputActions.captureInsertion()/insertText(). - If a future DSH release changes those slots, the plugin may need an update. Please include the DSH version in bug reports.
Privacy and security
- No analytics, telemetry, or network calls of its own.
- No credential, API key, token, cookie, or account access.
- No host filesystem access; the host half is an empty
apply()row. - Only templates and category names are stored, in this browser origin's
localStorage. - Built-in prompt text ships with the plugin and is not user data.
- Installing any third-party bundle executes its code inside DSH. Read the source before installing, and pin a commit with
github:qifenglun1/dsh-plugin-prompt#<sha>if you need a fixed revision.
Project layout
| File | Purpose |
|---|---|
package.json | Package metadata, bundle declaration, client entry, dsh.client inject list. |
index.js | Host half. A no-op apply() so the bundle has a host row and appears in the plugin inventory. |
client.js | Browser half: sidebar entry, library panel, composer picker, insertion, storage, locale dictionaries. |
cordis.patch.yml | Bundle patch inserting the prompt-library row. |
locale/en.json, locale/zh.json | Plugin Manager title and description. |
icon.svg | Plugin icon. |
README.md, README.zh.md | Documentation. |
LICENSE | MIT license. |
Development checks
npm run check
npm pack --dry-run
npm run check runs node --check on index.js and client.js and requires Node.js only. npm pack --dry-run prints the exact files npm would publish; confirm that package.json, cordis.patch.yml, index.js, client.js, the locale files, the icon, both READMEs, and LICENSE are present.
There are no runtime dependencies and no build step. The browser module uses the loader's baseline React and the host-provided client packages listed in dsh.client.inject.
Troubleshooting
- The sidebar icon is missing — refresh the Web GUI; confirm the Prompt Library bundle is enabled in Plugins; check the browser console for a client module load error.
- Installation fails — make sure the GitHub repository root contains
package.jsonwithdsh.bundle.patch; do not point the installer at a subdirectory. Check that the running DSH version satisfiesengines.dsh. If GitHub is unreachable, use the plugin manager's mirror or another installation source. - Templates disappeared — templates live in this browser origin's
localStorage. Check that you are using the same GUI origin and browser profile, and that site data was not cleared. - A template does not insert — the composer may be submitting or adjudicating at that moment. Try again after the send finishes.
License
MIT. See LICENSE. Copyright (c) 2026 qifenglun1.
The plugin icon and built-in prompt text are original to this project.
Comments
Loading…
Similar plugins
by FeatherHunter
Right-side prompt toolbox panel with 24 built-in deep templates plus user-defined ones, accessible via the /prompt slash trigger and a context-aware floating suggestion card; one-click inserts the sel
★ 48
↓ 3k/wk
MIT
JavaScript
Oct 19, 2026
dsh plugin --profile web add dsh-promptby NelsonLongxiang
Quick prompt templates for DeepSeek Harness: global and per-session templates, a right-side panel, and Python-backed SQLite persistence
★ 3
↓ 22/wk
TypeScript
Aug 29, 2026
dsh plugin --profile web add @nelsonlongxiang/dsh-prompt-templatesby master1Sun
DSH(DeepSeek Harness)Web 插件:在 composer 工具栏注入一个「提示词库」按钮,管理可复用的 prompt 片段,点击即可插入当前输入框。支持自动学习:输入复杂 prompt 文案时,插件会自动识别并保存到提示词库。
★ 15
↓ 387/wk
MIT
TypeScript
Sep 30, 2026
dsh plugin --profile web add @sunjuntao/dsh-prompt-libraryby SaiSenBox
Session-level multi-prompt library and system prompt injector for DeepSeek Harness Web
★ 9
↓ 253/wk
MIT
JavaScript
Sep 27, 2026
dsh plugin --profile web add dsh-prompt-managerby Frog755
Prompt Vault: 输入框上方的提示词库(DSH 插件)— 📚 按钮展开面板,点条目一键填入 prompt。DeepSeek Harness prompt library plugin.
★ 5
↓ 315/wk
MIT
JavaScript
Sep 10, 2026
dsh plugin --profile web add @frog755/dsh-prompt-vaultby LiWenzhuo001
Prompt optimizer plugin for DeepSeek Harness: one click rewrites your composer draft into a clear, verifiable prompt. Zero dependencies.
★ 1
MIT
JavaScript
Oct 1, 2026
dsh plugin --profile web add dsh-plugin-prompt-optimizer