前言¶
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