前言¶
DeepSeek Harness (DSH) 採用了插件化架構。在進行復雜的智能體開發或任務編排時,維護一套穩定的系統指令是核心需求。dsh-instruction-memory 專門解決這一痛點:它允許用戶在 DSH 的設置界面維護長期指令,這些指令會被自動注入到後續每一輪對話的系統提示詞中,而無需用戶手動重複輸入。
核心功能¶
本插件提供以下核心能力:
- 用戶主導的維護:指令內容僅由用戶輸入和修改,模型無任何寫入權限,確保指令的準確性。
- 自動注入:維護的指令會自動附加到每一輪對話的系統提示詞中。
- 多實例併發保護:支持多實例與多窗口併發,通過寫鎖和修訂號機制防止數據衝突。
- 外部文件同步:通過 SSE 機制,外部修改文件會自動觸發設置頁刷新。
- 數據管理:支持記憶的導出與導入,也支持直接編輯 JSON 文件。
安裝與啓用¶
安裝插件需要使用 DSH 的插件管理命令。請確保宿主版本落在 peerDependencies 聲明的兼容性範圍內,否則安裝會被拒絕。
dsh plugin --profile web add dsh-instruction-memory
安裝完成後重啓 DSH,在設置頁面會出現「指令記憶」入口。如需卸載:
dsh plugin --profile web remove dsh-instruction-memory
使用方法¶
- 添加指令:在設置頁的「指令記憶」模塊中,點擊添加條目,輸入標題、內容和適用場景。
- 配置優先級:通過優先級控制注入順序。
- 利用適用場景:填寫「適用場景」有助於模型判斷該條指令是否適用於當前對話。
- 數據遷移:首次運行時不會立即創建磁盤文件(惰性創建),第一次保存或導入時會自動生成。
數據存儲與同步¶
記憶文件默認存儲在 DSH 數據根目錄下:
<DSH_HOME>/instruction-memory/memory.json
DSH_HOME 默認爲 ~/.dsh。路徑優先級遵循官方 @deepseek-ai/dsh-home-paths 規範。
- 外部文件修改:設置頁打開期間,如果外部進程修改了
memory.json,設置頁會通過 SSE 機制自動刷新,無需手動重新載入。 - 備份與恢復:保存操作採用原子替換策略。若
memory.json解析失敗,系統會自動嘗試從memory.json.bak恢復。 - 導出與導入:支持將記憶導出爲 JSON 文件,也支持從文件導入併合並現有記憶(去重邏輯:按 id 與「標題+內容」)。
技術要求與注意事項¶
- 環境要求:宿主環境需滿足 Node.js >= 20。
- 注入限制:注入字數上限爲 40000 字符,超出時按優先級截斷。
- 版本兼容:宿主版本必須在
peerDependencies聲明的範圍內,否則安裝會被拒絕。 - 安全提示:若宿主綁定到非迴環地址(如
0.0.0.0),插件會自動關閉 Host 頭校驗以避免阻斷正常訪問,此時路由不再具備安全防護,存在被惡意請求修改指令的風險,需自行承擔安全責任。