zhangdong456/dsh-prompt-presets
Open Settings → Prompt Presets to manage your library (create / edit / delete with confirmation / reorder), then click the Prompts button next to the model selector in the composer to pick a preset and insert it at the start of your draft — no auto-send, you stay in control.
catalog descriptioncatalog 简介 / catalog description:Prompt Presets to manage your library
Project Overview项目介绍
This is a reusable prompt preset plugin for DeepSeek Harness. It lets you create, edit, reorder and delete custom prompts to manage your personal prompt library, and insert any selected preset to the start of your composer draft with one click. Use it when you need to reuse common prompts. Presets are stored locally, and don't send automatically—always edit before sending.
这是DeepSeek Harness的可复用提示词预设插件。支持在设置中创建、编辑、排序、删除自定义提示词,管理个人提示词库,可一键将选中预设插入对话编辑区开头。需要重复使用常用提示词时使用,预设仅本地存储,插入后不会自动发送,请编辑后再发送。
请帮我了解并安装插件:【dsh-prompt-presets】【https://github.com/zhangdong456/dsh-prompt-presets】
Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add dsh-prompt-presets
把 zhangdong456/dsh-prompt-presets 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-prompt-presets
Reusable prompt presets for DeepSeek Harness — build your own prompt library in Settings, then inject any preset at the start of the composer draft with one click from the chat input bar.
Open Settings → Prompt Presets to manage your library (create / edit / delete with confirmation / reorder), then click the Prompts button next to the model selector in the composer to pick a preset and insert it at the start of your draft — no auto-send, you stay in control.
Features · Screenshots · Compatibility · Install / Uninstall · How It Works · Data & Privacy · Development
Screenshots
| Settings page | Composer menu |
|---|---|
![]() |
![]() |
Features
| Feature | Description |
|---|---|
| 📚 Preset library | Title (≤ 50 chars) + content (≤ 10 000 chars) per preset; list shows title plus a first-line preview |
| ✏️ Full CRUD | Create, edit, delete (with inline confirmation), and reorder (↑/↓) — all changes persist immediately |
| 💬 One-click inject | The Prompts button in the composer opens a bottom-anchored menu; select a preset, click Insert into composer |
| ✍️ Draft-friendly | Injection prepends preset + blank line + existing draft; an empty draft receives just the preset. Nothing is ever sent automatically |
| 💾 Durable storage | Lives in the official settings document ($DSH_HOME/settings.yaml, namespace prompt-presets) via the standard settings service — survives restarts, editable by hand |
| 🌗 Theme & i18n | Built entirely on official theme tokens; ships Chinese and English dictionaries that follow the UI language |
| 🔌 Zero custom RPC | The browser half reads/writes through the shared settings.describe / settings.replace wire face; the host half only registers the validating schema |
Compatibility
| Item | Value |
|---|---|
| DSH version | Official installer, web profile (verified on Windows) |
| Install mechanism | dsh plugin --profile web add (bundle patch + dual half) |
| Depends on | settings service (host), slots / locale / remote/remote.settings services (client) |
Install / Uninstall
# From GitHub (recommended)
dsh plugin --profile web add github:zhangdong456/dsh-prompt-presets#main
# From npm
dsh plugin --profile web add dsh-prompt-presets
# From a local checkout
dsh plugin --profile web add file:./dsh-prompt-presets
After installing, restart DeepSeek Harness and press Ctrl+F5 once in the web page.
lib/artifacts are committed, so GitHub installs need no local build.
| Action | Command |
|---|---|
| Upgrade | dsh plugin --profile web update dsh-prompt-presets (or re-run add), then restart DSH |
| Uninstall | dsh plugin --profile web remove dsh-prompt-presets |
Your presets live in $DSH_HOME/settings.yaml under the prompt-presets: key and survive install, upgrade, and uninstall.
Quick Start
- Install the plugin, restart DSH, press
Ctrl+F5. - Open Settings → Prompt Presets → New Preset → fill in a title and the prompt content → Save.
- In any conversation, click Prompts above the composer → pick a preset → Insert into composer.
- Edit the injected text freely, then send as usual.
How It Works
lib/index.js host half (ESM) registers the `prompt-presets` settings namespace:
schema validates/coerces every write (id, title ≤ 50,
content ≤ 10 000, timestamps) and normalizes `order`
(dedupe + append missing ids); registration is a fiber
effect, so uninstalling cleans up after itself
lib/client.js browser half classic script registering a factory with
window.__ModuleLoader__; React resolves against the
shell's shared module table. Registers two slot rows:
settings.section → management page
conversation.input.right → Prompts trigger + menu
Data flows through remote.settings.describe /
.replace with optimistic-revision writes — no custom RPC
cordis.patch.yml bundle patch inserting the prompt-presets row
Injection semantics: draft === '' ? preset.content : preset.content + '\n\n' + draft.
Data & Privacy
- Presets are stored locally in
$DSH_HOME/settings.yaml. Nothing leaves your machine; the plugin makes no network requests of its own. - The namespace is plain YAML — you can back it up, sync it, or edit it by hand:
prompt-presets:
presets:
- id: p-example
title: Code review assistant
content: You are a senior code reviewer…
createdAt: 1787322246076
updatedAt: 1787322246076
order:
- p-example
- If the settings service is unavailable or the document is read-only, the UI disables editing and says so instead of failing silently.
Development
dsh-prompt-presets/
├── package.json dsh.bundle manifest + client-half declaration
├── cordis.patch.yml bundle patch (inserts the prompt-presets row)
├── lib/
│ ├── index.js host half (ESM, no dependencies)
│ └── client.js browser half (module-loader factory, plain JS)
└── assets/screenshots/ README images
No build step: both halves are hand-written plain JavaScript committed directly. Fork → edit → dsh plugin --profile web add file:./dsh-prompt-presets → restart DSH.
Contributing. Issues and PRs welcome — please include your DSH version and the exact error text.
License
MIT — see LICENSE.


YuJunZhiXue/dsh-purge
yejiming/MuseAI
superdesigndev/superdesign-skill
FSMargoo/dsh-at-file
Rain-kl/dsh-preset-plus
bugmaker2/dsh-plugin-template