在 DeepSeek Harness(Cordis 運行時)的插件生態中,爲不同會話或模型實例注入固定的上下文信息(如系統提示詞、角色設定)是一個常見需求。現有的方式往往需要手動編輯配置文件或修改代碼。dsh-custom-context-injector 插件提供了可視化的配置入口,將這段上下文內容自動注入到模型的 systemPrompt 中,並支持跨會話的持久化存儲。
插件簡介¶
這是一個由 LiKanGame 維護的模型推理類插件。它通過在設置頁提供“自定義上下文”配置項,解決“如何在 Harness 中統一管理並注入一段固定文本”的問題。插件將內容同步注入到系統提示詞,並自動處理內存緩存與磁盤文件的落盤。
核心功能¶
-
自定義上下文設置頁
在 Harness 的設置界面新增一頁“自定義上下文”。該頁面包含“啓用注入”開關、一個多行文本輸入框以及“保存”按鈕。 -
自動注入
啓用注入開關後,保存的文本內容會作爲一個systemPromptsection 被注入到模型的每次調用裝配中。開啓後,當前會話以及之後通過“新對話”開啓的會話都會攜帶這段內容。 -
跨會話持久化
插件在內存中維護一份緩存,供實時注入使用。同時,保存操作會將內容寫入磁盤 JSON 文件。重啓 Harness 後,該內容會自動恢復,實現跨重啓保留。
安裝與啓用¶
當前該插件並非可獨立安裝的 npm 包,依賴 DSH 動態運行時注入的全局/服務,因此無法直接使用 dsh plugin add 命令安裝。它需要作爲動態插件集成。
-
獲取源碼
克隆倉庫 dsh-custom-context-injector。 -
動態加載
將src/host.js和src/client.js按照 Cordis 動態插件流程define+run到當前運行實例。 -
配置入口
在 Harness 設置頁找到新增的“自定義上下文”頁面。
典型用法¶
- 在設置頁打開“啓用注入”開關。
- 在多行輸入框中輸入需要注入的上下文內容(例如特定的角色設定、開發規範或任務說明)。
- 點擊“保存”。
- 此時當前會話以及之後通過“新對話”開啓的會話,都會自動攜帶這段內容作爲
systemPrompt的一部分。
注意事項與邊界¶
- 依賴關係:客戶端部分依賴 Harness 內部包(如
@deepseek-ai/dsh-*),在內部包未對外暴露解析機制前,無法作爲獨立 npm 包使用。它當前是動態運行的臨時形態。 - 持久化路徑:持久化文件默認位於宿主工作目錄下的
.dsh-custom-context.json。該文件位於項目根目錄,並已加入.gitignore。 - 作用域:注入作用域僅限於加載該插件的 realm,不會影響全局或加載其他插件的 realm。
- 降級處理:若磁盤寫入不可用,內容將僅保留在內存中,並在設置頁提示用戶。
結語¶
該插件爲需要在 Harness 中統一管理上下文信息的場景提供了一種輕量級的解決方案。更多細節請查閱 GitHub 倉庫。