DeepSeek Harness 插件:dsh-prompt-injector(通用每輪上下文注入)

前言

在 DeepSeek Harness (DSH) 的 Web 配置文件開發中,若僅依靠 Persona 或 System 層面的規則來約束模型,在長會話中往往不可靠:模型會逐漸遺忘這些規則,即使規則寫得再明確(例如“每次編碼前刷新代碼圖譜”、“遇到事實問題先查 Wiki”),在後續輪次中也可能靜默失效。

dsh-prompt-injector 解決了這個問題。它複用了 dsh-mem0-plugins 中的記憶召回機制,將其通用化:你可以在設置頁面維護一個提示詞列表,插件會在每次對話輪次中,將這些提示詞以“Context injection”通知行的形式注入到模型上下文的前置位置。這確保了關鍵規則或提醒在每一輪都能被模型“看到”,從而提高執行的一致性。

插件定位

  • 名稱:runfali/dsh-prompt-injector
  • 維護者:runfali
  • 許可:MIT
  • 核心能力:爲 DSH Web 配置提供通用的每輪上下文注入機制,支持通過 UI 管理注入內容,且不侵入 DSH 源碼。

核心功能

該插件主要提供以下能力:

  1. 每輪注入:在 agent/pre-step 階段,當檢測到新輸入時,將所有已啓用的提示詞追加到本輪上下文中,作爲一條摺疊的“Context injection”通知行。
  2. 觸發模式:
    • everyTurn(默認):每次對話輪次都注入。
    • postCompaction:在上下文壓縮/摘要生成後注入一次。
  3. 全局開關:通過 enabled 配置項控制全局注入開關。
  4. 簡略輪次過濾:默認開啓 skipTrivial,會自動跳過“好的/嗯/收到/繼續/ok/thanks”等簡略確認語,避免干擾實質性對話。
  5. 提示詞管理 UI:支持在 DSH 設置頁面直接添加、刪除、編輯提示詞,並單獨控制每行的啓用狀態。
  6. 僅提醒,不執行:插件本身不調用任何工具,不執行任何檢查,僅負責將文本注入上下文,決策權完全在模型。
  7. 零侵入:不修改 DSH 源碼,僅依賴兩個較小的運行時包。

安裝與配置

插件以標準 DSH Bundle 插件形式發佈。

安裝命令:

dsh plugin add

配置方式:
安裝後,在 DSH 的設置頁面即可找到該插件的配置卡片。你可以在此管理提示詞列表:
* 標題:用於 UI 展示的行標題。
* 內容:實際注入的提示詞文本。
* 開關:每行可獨立啓用或禁用。
* 觸發模式:選擇 everyTurn 或 postCompaction。
* 過濾:確認 skipTrivial 是否開啓。

工作原理

插件在 agent/pre-step 掛載點運行,向 decision.messages 追加消息。注入的消息格式如下:

  • Role:user
  • Source:
    • kind: plugin:dsh-prompt-injector(使用插件自己的命名空間,符合 V4 消息規範)
    • form: notice
    • summary: 插件的行標題

DSH UI 會將這類消息渲染爲摺疊的“Context injection”通知行,模型在規劃回覆時即可看到這些前置信息。

安全與依賴

  • 運行時依賴:插件僅聲明瞭三個 peerDependencies,均由 DSH 宿主提供:
    • @deepseek-ai/dsh-settings
    • @deepseek-ai/schemastery
    • react
  • 權限邊界:
    • 無網絡訪問權限。
    • 無子進程創建權限。
    • 無文件系統寫入權限。
    • 任何注入錯誤都被隔離,不會導致整個對話輪次崩潰。
  • 要求:
    • DSH 版本:>=0.1.2-alpha.3
    • Node.js 版本:^22.19.0 || >=24.0.0

適用場景

此插件適合需要在每一輪對話中反覆強調特定約束或規則的開發者。例如:
* 在編碼任務中反覆提醒模型“先查圖譜再寫代碼”。
* 在複雜問答中反覆提醒模型“遵循安全紅線清單”。
* 在長對話中強制刷新特定的上下文摘要。

插件的設計哲學是“提醒而非執行”,它將規則下沉到上下文中,讓模型在生成最終回覆時自行判斷何時執行。

結語

dsh-prompt-injector 通過將通用化的上下文注入機制集成到 DSH 的工作流中,解決了長會話中規則遺忘的問題。其零侵入的設計和基於 UI 的管理方式,使其易於維護和調試。

  • GitHub 倉庫:https://github.com/runfali/dsh-prompt-injector
  • 插件目錄:https://www.skillhub.cn/plugins/runfali/dsh-prompt-injector
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜