前言¶
DeepSeek Harness(DSH)支持插件扩展,但在处理提示词注入时,往往缺乏统一的管理和持久化机制。winrngs/dsh-session-prompt-standalone 旨在为 DSH 提供全局默认提示词与工作区层级的持久化注入能力。它在保留 DSH 原有 Harness Identity、Agent Preset 和工具说明的基础上,增加了可配置、可排序的提示词层,解决多场景下规则管理混乱的问题。
功能概览¶
该插件提供以下核心能力:
* 双层级支持:全局默认提示词与当前工作区提示词可以同时启用。
* 身份选择:每层可选择 System 或 User Context 身份。
* 独立控制:每层可独立设置启用状态和排序值,数值越小越靠前。
* 持久化存储:设置长期保存在 DSH 数据目录中,重启和上下文压缩后仍会重新装配。
* 可视化预览:设置界面可预览当前会话的段落顺序、来源与最终文本。
* 安全审批:模型发起的修改必须经过 DSH 原生审批,不能静默改写设置。
* 并发与兼容:支持多 profile 并发保护、revision 冲突检测和外部文件热重载。
* 数据保护:提供版本化设置迁移、异常数据保护和恢复默认功能。
安装与启用¶
使用以下命令将插件安装到指定的 profile(默认为 web):
dsh plugin --profile web add "github:WinRNGS/dsh-session-prompt-standalone#main"
安装完成后重启该 DSH profile 即可生效。插件会自动在 DSH 数据目录下创建配置文件。
使用步骤¶
在会话输入栏右侧点击 Prompt 注入:
- 选择层级:选择“全局默认”或“当前工作区”。
- 选择身份:选择
System或User Context身份。 - 配置参数:设置排序值、启用状态和正文内容。
- 保存生效:保存后,下一次模型请求即应用新的提示词层。
- 检查预览:展开装配预览,检查段落顺序、来源与最终文本。
身份与排序机制¶
- 身份类型:
System:每次模型请求时重新装配进真正的 system prompt,恢复会话或压缩上下文后仍然存在。User Context:生成带来源信息的 user-role runtime-context 快照,只在内容变化时投影新快照。
- 排序规则:数值越小越靠前。参考顺序通常为 Harness Identity (
-100)、Agent Preset (0)、插件全局层 (10)、插件工作区层 (20)、DSH 工具说明 (100–199)。 - 并发保护:写入使用临时文件与原子替换,并用跨 profile 文件锁保护。API 使用 revision 与
If-Match检测陈旧草稿,冲突返回 409。
数据限制与安全¶
- 存储限制:单段正文上限 256 KiB,请求体上限 1 MiB,设置文件上限 4 MiB。最多保存 512 个工作区层。
- 数据保护:整份 JSON 损坏时,下次保存前会生成带时间标记的备份。单个无效层会保留可恢复正文但自动禁用,不影响其他有效层。
- 环境安全:插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。
- 变量处理:DSH 会解释双花括号模板变量,但插件定位为纯文本注入,拒绝此类结构以避免后续请求失败。
总结¶
winrngs/dsh-session-prompt-standalone 为 DSH 提供了一套结构化的提示词管理方案。通过区分全局与工作区层、支持 System 与 User Context 以及严格的权限审批,它帮助开发者在不破坏原有会话逻辑的前提下,实现更精细的提示词控制。
项目地址:https://github.com/WinRNGS/dsh-session-prompt-standalone