前言¶
在 DeepSeek Harness(DSH)里反复输入同一套提示词——代码审查模板、周报骨架、带变量的任务说明——既费时间,也容易在复制粘贴里漏改占位符。把片段记在笔记或独立文件里再手工贴回输入框,分类和版本也往往是另一套流程。社区插件 dsh-prompt-snippets(维护者 dadazhangn)面向这类需求:在本机保存片段,用 {{占位符}} 填表或默认值直插,并通过输入框下方的「📋 片段库」面板浏览、搜索、编辑后插入当前草稿。数据默认只存本机;除你主动使用「✨ AI 优化」时会把当前那条片段文本发给已配置的模型服务外,插件自述不与网络通信。
这是什么¶
dsh-prompt-snippets 是 DSH 的客户端类插件:host 半处理 /snippet 命令与 JSON 持久化,client 半在会话输入框 dock 挂载可拖动、可缩放的面板。片段落在 <DSH_HOME>/data/prompt-snippets/snippets.json(未设置 DSH_HOME 时为 ~/.dsh)。仓库 GitHub 当前 npm 版本为 1.3.0,许可证 MIT,要求宿主 DSH >=0.2.1-rc.3(package.json 的 engines.dsh)。社区目录页:skillhub.cn/plugins/dadazhangn/dsh-prompt-snippets(独立站点,与 DeepSeek / 幻方无官方从属关系)。
核心功能¶
命令行管理片段¶
- 保存:
/snippet add <名称> <内容>,同名即更新;行尾--cat=<分类>或-c=<分类>指定分类(正文中间的--cat按字面保留;要在正文结尾写--cat时用--结束选项)。 - 查询与维护:
list、show、rm、undo(软删除可恢复)、mv;重名时用#id前缀精确指定。 - 标签与收藏:
/snippet tag <名称> <标签…>;/snippet pin/unpin;add也可--tag=、--pin。 - 导入导出:
/snippet export [文件名]写入exports/目录;/snippet import <路径>,支持--replace、--dry。 - AI 优化(命令):
/snippet optimize <名称>(面板内 ✨ 为同一能力的 UI 入口)。
面板与快捷插入¶
装完并重启 DSH、刷新页面后,输入框下方出现「📋 片段库」。按分类浏览,点击片段插入草稿;支持实时搜索(名称/分类/正文)、键盘导航、↑ ↓ + Enter + Esc。面板内 ✏️ 编辑、底部「+ 新建」、🕘 版本历史(每片段最多 20 版)、🗑 删除带最近 5 条撤销条。视图切换:全部 / ★ 收藏 / 最近使用(最多 20 条)。
任意时刻 Ctrl+Shift+K 或 Ctrl+Shift+P 打开全局片段搜索浮层,无需先点开 dock。
占位符与动态变量¶
正文中的 {{变量名}} 在插入时按规则处理:无占位符直接插入;全非必填且有默认值则按默认值插入;有必填或缺元数据则弹表单。\{{字面量}} 插入字面 {{字面量}}。内置宏 {{date}}、{{time}}、{{datetime}} 用本地时间替换,不弹表单。变量元数据支持 label、default、options(下拉)、required,可在面板编辑器里维护。
AI 优化(对比后决定)¶
点 ✨ 用默认模型改写当前片段,进入「原文 / 优化后」双栏对比,不自动落盘。优化后一栏可编辑;对比视图显示字节数变化与占位符是否保全。「替换片段正文」 是唯一写回库的动作(带 expectedRevision 乐观锁);「插入优化版」 只进输入框。未配置默认模型时按钮置灰。最多「再试」3 次。
存储与可靠性¶
写入采用临时文件 → fsync → 轮换 .bak → rename;并发保存串行排队。保留 snippets.json.bak 及最多 7 级 .bak.N;JSON 损坏时备份为 snippets.corrupt-<时间戳>.json 并以空库继续,面板提示。旧数据 version 1–3 首次读取迁移到 version: 4,迁移前保留 snippets.json.pre-v4.bak。首次运行且数据文件不存在时预置一组内置模板(代码审查、Git 提交信息、Bug 排查、周报、日报等);已有文件(哪怕清空)不会再次注入。
安装与启用¶
将 web 换成你实际使用的 profile 名(本机 profile 在 ~/.dsh/profiles/<名字>):
dsh plugin --profile web add dsh-prompt-snippets
也可从 GitHub 安装(跟踪仓库 HEAD,不跟随 npm 发布):
dsh plugin --profile web add github:dadazhangn/dsh-prompt-snippets
本地源码调试可用 link: 路径安装。装完重启 DSH并刷新页面,确认出现「📋 片段库」按钮。
典型用法¶
先通过命令保存几条片段,再在会话里用面板插入:
/snippet add 代码审查 请审查以下代码并指出问题:{{代码}}
/snippet add 周报 总结本周工作:{{要点}} --cat=写作
/snippet list
/snippet show 周报
/snippet pin 周报
/snippet tag 周报 工作、总结
/snippet export 我的片段
/snippet import 我的片段.json --dry
/snippet import 我的片段.json
经过上面的步骤,在任意会话点击「📋 片段库」→ 选择片段 → 内容进入当前草稿。改名称、分类或正文可在面板 ✏️ 内完成,不必再敲命令。
适用场景与注意¶
适合需要固定提示词模板、带占位符的表单式填充、本机分类与版本历史的 DSH 用户;团队共享可通过 export/import JSON 交换,默认不上传云端。
安装前建议自行查看 仓库源码 与 MIT 许可证。插件以当前 DSH 进程权限读写本机 snippets.json 与导出目录;使用 AI 优化时会向你所配置的模型服务发送当前那条片段文本。不满足 engines.dsh 时,市场安装入口会禁用并说明原因。
结尾¶
dsh-prompt-snippets 把常用提示词收进可 crash-safe 的本机 JSON 库,用占位符、面板与全局快捷键缩短从模板到草稿的路径。详情与 issue 见 GitHub 仓库,安装与简介见 SkillHub 目录页。