dsh-model-compat-guard:DSH 第三方模型兼容守衛

DeepSeek Harness (DSH) 的設計理念是「一切皆插件」。在使用第三方模型(如 GPT、Qwen-thinking)時,模型往往不適應 DSH 的某些內部機制,導致壓縮失敗、沙箱提權報錯或工具調用異常。dsh-model-compat-guard 是一個第三方模型兼容守衛插件,通過攔截和修復特定類型的請求,解決這些高頻兼容性問題。

核心功能

該插件通過 DSH 的插件機制對請求流進行干預,主要修復以下四個問題:

  1. 思考型模型壓縮截斷
    根因是 dsh-compaction-basic 的默認 maxTokens 限制爲 8192,而思考型模型的思考 token 會計入同一輸出預算,容易燒穿限制。插件會攔截 purpose === "compaction" 的請求,將 maxTokens 提升至 32768(可配置),並將推理檔位降至模型支持的最便宜檔,避免截斷報錯。

  2. 沙箱提權請求失敗
    在沙箱執行器掛載時,工具 schema 會全局廣告 sandbox_permissions 字段,而實際模式是按會話解析的。當模型在 danger-full-access 模式下申請提權時,因無法找到更寬的模式且 justification 必須非空,會導致 fail-closed。插件會解析 ctx.sandboxPolicy,剝離必敗的提權請求(sandbox_permissions + justification),按當前模式執行。

  3. 工具描述缺失
    bash、run_code 等工具將 description 設爲必填,模型經常漏傳。插件攔截 tools/execute 流水線,在嚴格校驗前檢查 schema:若必填的 description 缺失,會自動合成(如 bash 取命令首行,run_code 取首行有效代碼)。

  4. Code Mode run_code 高頻報錯
    模型生成的 TS 程序語法不完整(如引號未配對)或錯誤使用 bash 結果(將其當作字符串而非結構化對象)。插件檢測 Code Mode 請求(僅 run_code 工具時),在 system prompt 末尾追加紀律塊,規範工具返回值讀取方式。

安裝與啓用

安裝插件需要指定固定版本 v0.4.0。安裝後需重啓 DSH 進程使配置生效。

dsh plugin --profile web add github:782042369/dsh-model-compat-guard#v0.4.0

卸載命令:

dsh plugin --profile web remove dsh-model-compat-guard

配置與典型用法

插件支持在 ~/.dsh/compat-guard.json 中進行配置。默認配置已覆蓋常見場景,零配置即可使用。

配置文件示例 (~/.dsh/compat-guard.json):

{
  "compactionMaxTokens": 32768,
  "compactionEffort": "auto",
  "compactionPurposes": ["compaction"],
  "fillDescription": true,
  "descriptionTools": ["bash", "run_code", "subagent", "subagent_fork", "workflow"],
  "codeDiscipline": "off",
  "stripEscalation": "redundant",
  "unknownPolicy": "preserve",
  "modelInfoTtlMs": 300000,
  "modelInfoTimeoutMs": 5000,
  "logFixes": true
}

配置項說明:
* compactionMaxTokens:壓縮請求的 token 上限,默認 32768。
* compactionEffort:推理檔位,"auto" 選最便宜檔,"keep" 不動。
* stripEscalation:提權剝離策略,"redundant"(默認,僅剝必敗請求)、"always"(連合法提權也剝)、"off"。
* codeDiscipline:Code Mode 紀律,"off"(推薦使用原生 ~/.dsh/AGENTS.md)、"auto"、"always"。
* fillDescription:是否自動填充缺失的工具描述,默認 true。

測試命令:

node test/smoke.mjs

適用場景與注意事項

該插件適用於在 DSH 中使用 GPT、Qwen-thinking 等思考型模型,或遇到 Code Mode 報錯的場景。

  • 運行環境:僅支持 Node.js >= 20.0.0。
  • 權限說明:插件以當前 DSH 進程權限運行,安裝前建議檢查 GitHub 源碼。
  • 許可證:MIT 許可證。

總結

dsh-model-compat-guard 通過攔截和修復請求流,解決了第三方模型在 DSH 環境下的兼容性問題。它不需要複雜的配置即可運行,適合需要穩定使用思考型模型或 Code Mode 的開發者。

GitHub 倉庫

羽毛球分组比赛记分
小程序二维码

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

小夜