前言¶
在 DeepSeek Harness(DSH)里反复写同类提示——代码审查模板、需求拆解句式、带占位符的说明——通常会复制旧对话里的片段,或依赖浏览器书签与外部笔记。这些内容不进输入框上下文,改一版也要多处同步。dsh-prompt-shelf 把常用提示词收进输入框底部工具行:列表里搜索、在光标处插入或整框替换,支持 {{变量}} 与回收站,数据落在本机宿主目录,不依赖按 origin 隔离的 localStorage。
这是什么¶
dsh-prompt-shelf 是社区维护的 DSH 插件(维护者 taoziliyouchong,MIT 许可,当前包版本 0.1.4)。它在会话输入框卡片底部、「完全权限」右侧增加「常用提示词」入口(带条数);新会话空白页同样有该入口。分类上属于 DSH 社区目录中的「记忆」类插件,解决的是:在本机会话里快速存取、复用提示词模板,并与 DSH 输入框草稿 API 对接,而不改编辑器 DOM。
入口与界面¶
界面挂在 list 槽 conversation.input.left(session 范围,渲染在 permission / plan 之后)。点开列表后是覆盖层窗口(createPortal 到 document.body,避免输入框容器裁剪);可用右上角 ×、点窗口外暗区或 Esc 关闭(编辑中 Esc 先退出编辑)。
核心功能¶
存、写、找、用、改、删¶
- 存:「存入当前输入」把输入框现有内容存成一条;空框时按钮不可用,与已有正文相同则不会重复存。
- 写:「+ 新建」在窗口内写标题与正文,保存后排在卡片最前。
- 找:顶部搜索框按标题和正文过滤。
- 用:卡片头右侧「插入」在光标处追加内容;「替换」将整框换成该条正文。插入不关窗口,可连续选多条。
- 改:卡片内展开可编辑标题与正文;标题留空时自动取正文首行。
- 删:条目进入回收站,默认保留 3 天;工具行右侧「回收站」可查看剩余天数并一键恢复。保留天数可在 1~365 之间修改,改完后按新规则清理过期项。
变量模板¶
正文中使用 {{名称}} 或 {{名称=默认值}},使用卡片时该位置变为输入框:插入时用填写值替换,未填则用默认值;同名变量共用一份值。变量框内输入 @ 可引用工作区文件(见下文 @ 选用)。
编辑时看到的是带 {{…}} 的原文。新建或编辑时,正文框下方有「+ 变量」;光标放到目标位置后点击,会在光标处插入 {{变量}} 并选中「变量」两字以便改名。正文框内 Alt+V(或 Ctrl+Alt+V)等效,仅在该框生效。
@ 引用¶
- 任务输入框内
@:先只出现「常用提示词」;选中后展开条目列表,再选一条将正文落到光标处。展开后可按关键词过滤;Esc 关闭后草稿可能残留@常用提示词,删掉即可。 - 新建 / 编辑卡片的标题框、正文框内
@:候选分「常用提示词 / 文件与文件夹 / 对话 / 插件」;标题框选常用提示词插条目名,正文框插整段正文;选文件与文件夹插@路径(目录带尾斜杠,路径含空格时用@"路径")。 - 卡片上的变量框内
@:同样分类;选常用提示词填整段正文,选文件填@路径;插入或替换进任务输入框后,模型按 @ 引用读取。
数据存储¶
真源在宿主侧 $DSH_HOME/data/dsh-prompt-shelf/state.json(写入先落 .tmp 再改名,旧文件留 .bak),经插件本机路由读写;浏览器侧另存 localStorage 缓存(键 dsh.prompt-shelf.v1)用于首屏。与插件包分开存放,重装或升级插件不影响条目。插件不联网、不上传内容。
宿主注册三条仅接受回环地址的本机路由:GET/POST /dsh-prompt-shelf/api/state(读写条目)、GET /dsh-prompt-shelf/api/files(按查询词列工作区文件,递归 3 层、最多 400 条)、GET /dsh-prompt-shelf/api/plugins(插件加载器实时表中的第三方插件)。
安装与启用¶
要求 DSH >= 0.2.1-alpha.1;README 记载在 0.2.1-alpha.3、0.2.2-rc.1 上验证通过,更高版本未验证。适用桌面端或 dsh web。
桌面 profile 从 GitHub 安装:
dsh plugin --profile desktop add github:taoziliyouchong/dsh-prompt-shelf
发布到 npm 后也可:
dsh plugin --profile desktop add dsh-prompt-shelf
装完后重启 DSH。若使用其他 profile,将命令中的 desktop 换成你的 profile 名。
插件以当前 dsh 进程权限运行;安装前建议在 GitHub 仓库查看源码与 MIT 许可证,并确认环境满足 engines.dsh 与 Node 要求(package.json:node 为 ^22.19.0 || >=24.0.0,dsh 为 >=0.2.1-alpha.1)。
典型用法¶
- 在输入框写好一段常用提示,打开「常用提示词」,点「存入当前输入」归档。
- 需要时打开列表,搜索标题或正文,对目标卡片点「插入」拼进当前草稿,或点「替换」整框使用。
- 对要经常改动的片段,在卡片正文里写
{{项目名=默认名}},使用时在变量框填值再插入。 - 变量或正文里用
@选工作区文件路径,让模型按 DSH 的 @ 机制读取文件内容。
适用场景与限制¶
适合需要在本机会话中高频复用提示模板、又希望与输入框草稿和 @ 引用打通的 DSH 用户。
已知限制(来自 README):
- 条目上限 5000 条、单次写入上限 1MB,超出会被拒并提示。
- 仅在本机回环地址下可用;远程访问 DSH 时相关路由返回 403。
- 「替换」会覆盖输入框全部现有内容;「插入」不会。
社区插件目录站(如 skillhub.cn)与 DeepSeek / 幻方无官方从属关系,属社区「一切皆插件」生态内的独立收录。
反馈与链接¶
问题可按 README 建议:先在 https://github.com/taoziliyouchong/dsh-prompt-shelf/issues 开 Issue;或 QQ 2171960697(请注明所装插件)。反馈时建议附带 DSH 版本、插件版本、报错原文与截图。
- 社区目录页:https://www.skillhub.cn/plugins/taoziliyouchong/dsh-prompt-shelf
- 源码与文档:https://github.com/taoziliyouchong/dsh-prompt-shelf
dsh-prompt-shelf 把提示词收进输入框工具行一侧:本机持久化、搜索与变量模板、插入/替换与 @ 联动,适合把重复劳动从剪贴板迁回 DSH 会话内完成。