DeepSeek Harness 插件:dsh-gpt-tool-compat

前言

某些模型調用方(例如通過第三方提供方路由的 gpt-5.6-terra)會給每一個工具調用都附上提權參數。這會導致調用在參數校驗階段失敗。DSH 插件 dsh-gpt-tool-compat 解決了這個問題。

插件簡介

這是一個非破壞性的 DSH 工具調用兼容層,由 YoungUsing 維護。它在 tools/pre-execute 階段攔截並剝離必然校驗失敗的提權參數,把調用還原成模型本意要執行的普通調用。

核心功能

  1. 攔截與剝離:在 tools/pre-execute 階段攔截提權參數。
  2. 容錯處理:剝離空 justification 或不成對字段。
  3. 保留有效提權:允許真正更寬的提權(如 read-only -> workspace-write)通過。
  4. 異常保護:意外異常會被捕獲並放行原調用。

安裝與啓用

方式 A:作爲 bundle(推薦)

  1. 將本包裝進 web profile 的 node_modules:
   cd $env:USERPROFILE\.dsh\profiles\web
   npm install <本包路徑,如 D:\Users\yq\Documents\code-and-repos\dsh-workspace\dsh-gpt-tool-compat>
  1. 在 ~\.dsh\profiles\web\package.json 的 dsh.profile.bundles 數組裏加入 "dsh-gpt-tool-compat":
   "dsh": {
     "profile": {
       "bundles": [
         "@deepseek-ai/dsh-base",
         "@deepseek-ai/dsh-web-app",
         "dsh-gpt-tool-compat"
       ]
     }
   }
  1. 重啓 dsh web 服務並刷新頁面。

方式 B:直接插行

  1. 同上安裝包到 profile 的 node_modules。
  2. 在 ~\.dsh\profiles\web\cordis.patch.yml 裏插入:
   - insert:
       - id: gpt-tool-compat
         name: 'dsh-gpt-tool-compat'
  1. 重啓 dsh web 服務。

驗證與用法

重啓服務後,使用帶空 justification 的工具調用測試,或觀察之前失敗的會話重試。調用應正常執行,不再報 invalid justification / not strictly wider 錯誤。

原理與安全邊界

  • 剝離規則:僅作用於四種在任何沙箱模式下都必然被拒的情況:空/非字符串 justification、sandbox_permissions 與 justification 不成對、以及請求的模式不是當前有效模式嚴格更寬的提權。
  • 真實審批:真正的更寬提權(如 read-only → workspace-write + 有效理由)原樣放行,照常走真實用戶審批。
  • 異常處理:任何意外異常都會被捕獲並放行原調用,本層永遠不會讓一個調用變得更糟。

注意事項

  • 僅剝離在任何沙箱模式下都必然被拒的參數。
  • 不改動原本能成功的調用。
  • 不繞過真實提權審批。
  • 不阻塞無法處理的調用。
  • 依賴 @deepseek-ai/cordis, @deepseek-ai/dsh-sandbox-policy, @deepseek-ai/dsh-tools。
  • 需要 Node >= 22。

結語

該插件提供了一個兼容層,在不破壞安全邊界的的前提下,解決了特定模型調用方帶來的參數校驗問題。源碼與許可證信息可參考目錄頁或 GitHub。

目錄頁:https://www.skillhub.cn/plugins/YoungUsing/dsh-gpt-tool-compat
GitHub:https://github.com/YoungUsing/dsh-gpt-tool-compat

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

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

小夜