dsh-prompt-shelf:在 DSH 输入框工具行里管理常用提示词

前言

在 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)。

典型用法

  1. 在输入框写好一段常用提示,打开「常用提示词」,点「存入当前输入」归档。
  2. 需要时打开列表,搜索标题或正文,对目标卡片点「插入」拼进当前草稿,或点「替换」整框使用。
  3. 对要经常改动的片段,在卡片正文里写 {{项目名=默认名}},使用时在变量框填值再插入。
  4. 变量或正文里用 @ 选工作区文件路径,让模型按 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 会话内完成。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜