前言¶
DeepSeek Harness (DSH) 生態支持通過插件擴展功能。部分 GPT/Codex 模型在執行寫操作時,會習慣性附帶 sandbox_permissions 和 justification 字段。DSH 將這兩個字段定義爲沙箱拒絕後的單次提權重試。同級或更窄的請求會在工具執行前被拒絕。這導致工具調用反覆失敗。yaoay/dsh-gpt-compat 專門處理 GPT/Codex 沙箱提權參數的兼容性問題,通過清理冗餘字段,讓工具按當前會話策略正常執行。
插件定位¶
yaoay/dsh-gpt-compat 是一個面向 DeepSeek Harness 的 GPT/Codex 沙箱提權參數兼容插件。該項目由 YaoaY 維護,採用 MIT 許可證。
核心功能¶
該插件主要提供以下能力:
- 處理冗餘參數:識別並處理模型發送的冗餘沙箱提權參數。
- Fail-closed 安全策略:採用 Fail-closed 規則,只處理
providers和tools同時允許的調用,確保安全邊界。 - Schema 驗證:驗證註冊工具的 schema 是否同時聲明瞭 DSH 的
sandbox_permissions枚舉和justification字段。 - 清理冗餘字段:只在能夠證明請求冗餘時刪除這兩個字段,讓工具按當前會話策略執行。
安裝與配置¶
將插件安裝到目標 DSH profile:
dsh plugin --profile web add dsh-gpt-compat
插件安裝後需要配置。默認 bundle 配置如下:
providers: ["*"]
tools: ["bash", "pwsh", "write", "edit"]
| 字段 | 類型 | 默認值 | 含義 |
|---|---|---|---|
providers |
string[] |
[] |
允許處理的 provider id。空數組停用插件;顯式 '*' 表示所有 provider。 |
tools |
string[] |
['bash', 'pwsh', 'write', 'edit'] |
允許處理的 DSH 原生提權工具名。空數組停用插件。 |
若需通過 profile 或 home 級 cordis.patch.yml 覆蓋,需重述完整配置:
- id: gpt-compat
config:
providers: ["your-gpt-provider"]
tools: ["bash", "write", "edit"]
使用注意¶
- 環境依賴:插件依賴 Node.js 20 或更高版本。
- 安全規則:Fail-closed 規則要求真正擴權的請求必須帶非空理由。插件不會將缺少非空理由的擴權請求降級爲普通調用。
- 配置停用:若
providers或tools爲空,插件會被停用。 - 權限注意:插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。
結語¶
該插件通過智能清理冗餘參數,解決了 GPT/Codex 模型與 DSH 沙箱策略衝突導致工具調用失敗的問題,提升了 Agent 的穩定性。
插件目錄:https://www.skillhub.cn/plugins/YaoaY/dsh-gpt-compat
倉庫地址:https://github.com/YaoaY/dsh-gpt-compat