在 DeepSeek Harness (DSH) 的開發中,管理常駐的系統提示詞或項目背景上下文往往比較麻煩。直接在官方配置頁修改容易導致配置臃腫,而在代碼中維護又缺乏靈活性。@gw/dsh-text-inject 插件提供了一個解決方案:在 DSH 官方設置頁左側欄新增「文字注入」分區,將文本注入到系統提示詞或會話上下文中。內容存儲在獨立文件,支持熱加載與歷史備份。
核心功能¶
- 提示詞注入:
## [system] 名稱塊會被追加進系統提示詞,每輪對話生效。 - 上下文注入:
## [context] 名稱塊會被合成一條 user 消息注入會話。通過kind字段去重,通過trigger關鍵詞門控(例如:trigger: 項目,需求)。 - 文件管理:內容全部存儲在獨立文件(默認
~/.dsh/text-inject/inject.md)中,與官方配置隔離。 - 熱加載:修改文件保存後立即生效,無需重啓 DSH。
- 歷史備份:每次保存自動備份到
history/目錄,保留最近 30 份,支持一鍵恢復。
安裝與啓用¶
- 複製插件目錄到對應 profile 的
node_modules:
cp -r dsh-text-inject ~/.dsh/profiles/web/node_modules/@gw/
- 在 profile 的
cordis.patch.yml中追加 loader 入口:
- insert:
- id: gw-text-inject
name: '@gw/dsh-text-inject'
- 重啓 DSH,打開設置頁,左側欄會出現「文字注入」分區。
配置文件格式¶
插件首次加載會自動創建默認的 inject.md 文件。文件內容支持 Markdown 格式,通過區塊頭區分注入類型:
## [system] 我的常駐規則
order: 40
這段會追加進系統提示詞,每輪生效。
## [context] 項目背景
kind: gw-project
trigger: 項目,需求
當消息裏出現「項目」或「需求」時,這段作爲一條 user 消息注入會話。
- 區塊頭:
## [system] 名稱或## [context] 名稱(大小寫不敏感)。 - 元數據:緊跟在塊頭之後,使用英文冒號。支持
order(排序)、kind(上下文去重)、trigger(關鍵詞觸發)、enabled(啓用/禁用)。 - 正文:元數據之後的內容。
[context] 塊必須有 kind(唯一,用於去重);trigger 留空則每輪注入。enabled: false 可臨時禁用某塊。
注意事項¶
- 隱私與安全:插件不訪問網絡、不讀取憑據、不上報任何數據。讀寫僅限於指定的數據文件。
- 性能影響:注入的內容會進入每一輪請求,會放大提示詞體積。建議
[context]塊配合trigger使用,避免全量常駐。 - 依賴要求:依賴 DSH 的
systemPrompt和webServer服務。 - 兼容性:兼容 DSH 版本
>=0.1.2-rc.1。
總結¶
@gw/dsh-text-inject 通過將提示詞和上下文管理從代碼或官方配置中剝離,轉向獨立的 Markdown 文件管理,結合熱加載和備份功能,爲 DSH 用戶提供了更靈活的配置方式。適合需要頻繁調整系統指令或管理項目上下文的場景。
插件目錄:https://www.skillhub.cn/plugins/1497105876/dsh-text-inject
源碼地址:https://github.com/1497105876/dsh-text-inject