在 DeepSeek Harness (DSH) 的开发与使用过程中,频繁切换提示词模板、处理变量填充以及维护不同上下文的会话是常见需求。dsh-knj-prompts 旨在解决这些问题,通过场景化管理提示词,支持变量预览与自动会话切换。
插件定位¶
这是一个客户端插件,由 yangdongzhen590 维护。它提供了一套可视化的提示词场景管理机制,支持变量填充、场景编辑以及场景包的导出与导入。
核心功能¶
场景选择与变量填充¶
在输入框工具行右侧点击「✦ 提示词」按钮,会列出全部场景。内置场景带有「内置」标记,变量以 chip 形式展示。
如果场景提示词中包含 {变量},点击后会先弹出填充面板。用户逐个输入变量值,输入时右侧会实时预览最终效果,确认后自动填充到输入框。
会话自动处理¶
根据当前会话状态,插件会采取不同的填充策略:
* 空白会话:直接在当前会话中填充草稿。
* 已有对话:自动通过官方 New Session 通道在同工作区创建新会话,并将提示词填充至草稿区。
场景管理¶
点击「管理场景…」可打开管理弹窗,支持:
* 新增 / 编辑 / 删除:内置场景可编辑但不可删除。
* 保存全部:将更改落盘。
场景数据存储在 <DSH_HOME>/knj-prompts/scenes.json,支持原子写操作,文件损坏时会自动备份重建。内置 seed 会合并到本地数据。
场景包 (Scene Package)¶
插件内置了「导出场景包」与「安装场景包」两个场景,用于引导 AI 使用相应的 skill。
场景包是普通场景的可迁移 ZIP 文件,不包含普通 DSH 插件代码,也不复制运行配置值。其标准结构如下:
<scene-id>.dshscene.zip
├─ manifest.json
├─ scene.json
├─ README.md
├─ skills/ # 可选:<skill-id>/SKILL.md 及其文件
└─ materials/ # 可选:操作说明中列出的素材
安全执行机制¶
插件不会执行场景包内的内容。
* 安装流程:选择「安装场景包」会打开文件选择器,仅接受 ZIP 格式,暂存到 <DSH_HOME>/knj-prompts/imports/,并在安装会话草稿中写入服务器返回的真实路径。
* 执行主体:具体的解压、安装 skill、写运行配置等动作由 AI 通过 installer skill 完成。执行前会预检、展示计划并询问环境配置。若嵌入的 skill 在目标根目录同名,整体阻断,确认前和发生冲突时不得部分写入。
安装与启用¶
在插件目录下执行以下命令进行构建与打包:
npm.cmd run typecheck && npm.cmd run check:client && npm.cmd run build && npm.cmd run build:client && npm.cmd run pack
构建完成后,在 web profile 的 package.json 中将依赖指向新生成的 tgz 文件并重装即可启用。
典型用法¶
- 使用场景:输入框右侧「✦ 提示词」下拉选择一个场景。
- 处理变量:如果场景包含
{变量},先在弹出的面板中输入变量并实时预览,确认后点击确认。 - 发送对话:根据当前会话状态,如果是空白会话则直接发送;如果已有对话,插件会自动切到新会话,用户微调后发送。
- 导入场景:选择「安装场景包」场景,选择一个
.dshscene.zip文件。插件将其上传,随后由 AI 读取该文件并按照其定义的流程进行安装。
注意事项¶
- 权限范围:插件以当前 DSH 进程权限运行。安装前应检查源码与许可证。
- V1 版本限制:当前版本不支持多场景包、覆盖/合并、远程仓库、签名、依赖图、更新同步或自动配置发现。
- 技能文件:插件首启时仅从本包
skills/复制scene-package-exporter和scene-package-installer到<DSH_HOME>/skills/。如果本地已有同名目录,一律保留,绝不覆盖或合并。
总结¶
dsh-knj-prompts 通过结构化的场景管理和严格的执行流程,解决了 DSH 中提示词复用和变量填充的痛点。它将场景包视为可迁移的 ZIP,并将实际执行权交给 AI skill,在保证灵活性的同时限制了插件的执行权限。