dsh-prompt-presets
Verifieddsh-prompt-presets · v1.0.4 · MIT · Web UI
Reusable prompt presets for DeepSeek Harness: manage a preset library in Settings and inject any preset at the start of the composer draft with one click. / DeepSeek Harness 提示词预设库:设置页管理、对话框一键注入。
Install
dsh plugin add dsh-prompt-presets Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Tags
Creators
Readme
打开 设置 → 提示词预设 管理预设(新建 / 编辑 / 删除带确认 / 排序),然后在对话框输入栏点击模型选择旁的「提示词」按钮,选中预设一键插入到草稿开头——不自动发送,内容仍由你掌控。
功能 · 截图 · 兼容性 · 安装 / 卸载 · 工作原理 · 数据与隐私 · 开发
截图
| 设置页 | 对话框菜单 |
|---|---|
![]() |
![]() |
功能
| 功能 | 说明 |
|---|---|
| 📚 预设库 | 每条预设 = 标题(≤50 字)+ 内容(≤10000 字);列表展示标题和首行预览 |
| ✏️ 完整管理 | 新建、编辑、删除(行内二次确认)、上移/下移排序——所有修改即时落盘 |
| 💬 一键注入 | 输入栏「提示词」按钮弹出底部菜单;选中预设后点「注入到输入框」 |
| ✍️ 草稿友好 | 注入语义为 预设 + 空行 + 原有草稿;草稿为空时只写入预设。绝不自动发送 |
| 💾 持久存储 | 走官方 settings 服务,存进 $DSH_HOME/settings.yaml 的 prompt-presets: 命名空间——重启不丢,也可手工编辑 |
| 🌗 主题与多语言 | 全部使用官方主题变量;内置中英词典,跟随界面语言切换 |
| 🔌 零自定义 RPC | 浏览器半区直接走共享的 settings.describe / settings.replace 通道;Host 半区只注册校验 schema |
兼容性
| 项目 | 说明 |
|---|---|
| DSH 版本 | 官方安装器 web profile(Windows 实测) |
| 安装机制 | dsh plugin --profile web add(bundle 补丁 + 双半区) |
| 依赖 | settings 服务(Host)、slots / locale / connection 服务(Client) |
安装 / 卸载
# 从 GitHub 安装(推荐)
dsh plugin --profile web add github:zhangdong456/dsh-prompt-presets#main
# 从 npm 安装
dsh plugin --profile web add dsh-prompt-presets
# 从本地目录安装
dsh plugin --profile web add file:./dsh-prompt-presets
安装后请重启 DeepSeek Harness,并在网页里按一次 Ctrl+F5。
lib/构建产物直接随仓库提交,从 GitHub 安装无需本地构建。
| 操作 | 命令 |
|---|---|
| 升级 | dsh plugin --profile web update dsh-prompt-presets(或重新 add),然后重启 DSH |
| 卸载 | dsh plugin --profile web remove dsh-prompt-presets |
预设数据保存在 $DSH_HOME/settings.yaml 的 prompt-presets: 键下,安装、升级、卸载都不受影响。
快速上手
- 安装插件,重启 DSH,网页按
Ctrl+F5。 - 打开 设置 → 提示词预设 → 「新建预设」→ 填标题和提示词内容 → 保存。
- 在任意会话中点击输入栏上方的「提示词」→ 选择预设 → 「注入到输入框」。
- 自由修改注入后的文本,正常发送即可。
工作原理
lib/index.js Host 半区(ESM) 注册 `prompt-presets` settings 命名空间:
schema 校验/修正每次写入(id、标题 ≤50、
内容 ≤10000、时间戳),并规范化 order
(去重 + 补齐缺失 id);注册本身是 fiber effect,
插件卸载时自动清理
lib/client.js 浏览器半区 经典脚本向 window.__ModuleLoader__ 注册工厂;
React 解析自 shell 共享模块表。注册两个槽位:
settings.section → 管理页
conversation.input.right → 提示词按钮 + 菜单
数据通过 connection.api.settings.describe /
.replace 携带乐观版本号读写——零自定义 RPC
cordis.patch.yml bundle 补丁(插入 prompt-presets 行)
注入语义:draft === '' ? preset.content : preset.content + '\n\n' + draft。
数据与隐私
- 预设全部存在本地
$DSH_HOME/settings.yaml,插件自身不发起任何网络请求。 - 该命名空间就是普通 YAML——可以备份、同步或手工编辑:
prompt-presets:
presets:
- id: p-example
title: 代码审查助手
content: 你是一位资深代码审查专家……
createdAt: 1787322246076
updatedAt: 1787322246076
order:
- p-example
- 若 settings 服务不可用或文档只读,界面会禁用编辑并明确提示,不会静默失败。
开发
dsh-prompt-presets/
├── package.json dsh.bundle 清单 + client 半区声明
├── cordis.patch.yml bundle 补丁(插入 prompt-presets 行)
├── lib/
│ ├── index.js Host 半区(ESM,零依赖)
│ └── client.js 浏览器半区(module-loader 工厂,纯 JS)
└── assets/screenshots/ README 配图
无需构建:两个半区均为手写纯 JavaScript 直接提交。Fork → 修改 → dsh plugin --profile web add file:./dsh-prompt-presets → 重启 DSH。
参与贡献:欢迎 Issue 和 PR——请附上 DSH 版本号和完整报错文本。
许可证
MIT — 见 LICENSE。

