前言¶
在 DeepSeek Harness(DSH)裏,模型有時會在已經擁有較高沙箱權限時,仍然攜帶 sandbox_permissions。如果請求的權限不高於當前 Session 權限,這類參數本來沒有實際作用,卻可能觸發 not strictly wider 一類錯誤,或把無效請求帶入審批路徑。dsh-plugin-sandbox-escalation-fix 針對這個問題做一個很小的兼容層:它只處理不高於當前權限的無效參數,並保留 DSH 原有的提權審批與非法參數校驗。
這是什麼¶
inmny/dsh-sandbox-escalation-fix 是 MIT 許可的 DSH 插件。npm/README 中的包名爲 dsh-plugin-sandbox-escalation-fix,當前資料給出的安裝版本爲 0.1.2。
它解決的是 DSH 0.1.0-rc.6 下 sandbox_permissions 和 justification 參數不匹配造成的噪音:模型已經擁有同級或更高權限時,重複請求不會誤入審批;真正更寬的請求仍按 DSH 原有流程審批。
核心功能¶
插件在 Host 側對 bash、pwsh、write、edit 中多餘或過時的提權參數做正規化。standard、code、cordis、minimal 以及自定義 preset 中可見的對應工具共用這一修復,不需要額外配置。
主要行爲如下:
- 忽略不高於 Session 當前權限的無效
sandbox_permissions請求,避免模型在已經擁有更高或相同權限時反覆觸發not strictly wider錯誤。 - 對確實需要升級但
justification缺失或爲空白時,自動填入"Empty justification"。 - 忽略只有
justification而沒有sandbox_permissions的孤立理由,避免 invalid escalation 參數配對錯誤。 - 真正更寬的請求仍進入 DSH 審批流程;合法非空理由保持不變。
read-only、未知 target 或非字符串justification等非法值仍由 DSH 拒絕。- 插件只作爲 bundle layer 安裝到目標 profile,不修改 DSH 安裝目錄。
- 插件監聽工具和 Agent 生命週期,可處理全局定義、preset scoped shadow、後創建 Agent 和工具 HMR;工具替換或 Agent 銷燬後,已經不可見的包裝會被恢復並釋放;插件卸載後,舊包裝只會惰性透傳參數。
這裏要注意:它不是權限放開器。approval: never 表示審批請求自動拒絕,不表示自動授予權限。
安裝與啓用¶
運行時要求:
- Node.js 24 或更高版本
- DSH
0.1.0-rc.6 - DSH 支持的 Host 平臺
從 npm 安裝固定版本到 Web profile:
dsh plugin --profile web add dsh-plugin-sandbox-escalation-fix@0.1.2
更新現有安裝時使用同一條命令。安裝完成後重啓 dsh web,讓 Host 加載新插件,然後新建會話。
安裝最新版時可以省略版本號:
dsh plugin --profile web add dsh-plugin-sandbox-escalation-fix
開發本地版本時傳入 checkout 路徑:
dsh plugin --profile web add C:\path\to\dsh-sandbox-escalation-fix
移除插件:
dsh plugin --profile web remove dsh-plugin-sandbox-escalation-fix
開發時運行完整驗證:
pnpm install
pnpm test
pnpm run pack:check
典型用法¶
安裝後不需要再爲 bash、pwsh、write、edit 單獨配置。插件會在工具調用前檢查當前 Session 的沙箱權限:
- 如果請求的
sandbox_permissions不高於當前權限,插件會忽略這個無效提權參數,並按當前 Session 權限執行工具。 - 如果請求確實更寬,插件保持參數,繼續走 DSH 原有審批。
- 如果只有
justification而沒有sandbox_permissions,插件會忽略這個孤立理由。 - 如果需要升級但理由缺失或空白,插件使用
"Empty justification"作爲 fallback。
這個行爲等價於“只清理無效參數,不改變合法審批語義”。
適用場景與注意¶
適合使用 DSH 0.1.0-rc.6、在 bash、pwsh、write、edit 中遇到同級或過時沙箱權限參數造成反覆報錯的開發者。它適合作爲過渡兼容插件:如果後續 DSH 原生接受這類無效提權 no-op,移除該插件即可。
使用前建議檢查倉庫源碼、依賴和 MIT 許可證,並確認目標 profile 的權限模型符合預期。插件以當前 DSH 進程權限運行,安裝後會影響對應 profile 中可見工具的執行參數正規化。
幾個邊界:
- 這是針對 DSH
0.1.0-rc.6ToolDefinition結構的兼容插件,升級 DSH 後應先運行測試並檢查上游是否已經原生接受這類無效提權 no-op。 package.json中peerDependencies固定要求@deepseek-ai/cordis 4.0.1和多個@deepseek-ai/* 0.1.0-rc.6包。- 插件只處理參數正規化,不會放行真正的提權請求,也不會替代 DSH 的非法參數校驗。
- 命名存在差異:倉庫線索爲
inmny/dsh-sandbox-escalation-fix,npm/README 包名爲dsh-plugin-sandbox-escalation-fix。
鏈接¶
倉庫:
- https://github.com/inmny/dsh-sandbox-escalation-fix
目錄頁線索(來自插件線索,未在本次資料中核實):
- https://www.skillhub.cn/plugins/inmny/dsh-sandbox-escalation-fix
生態說明:DSH 的插件生態遵循“一切皆插件”的思路;這裏提到的目錄頁屬於社區目錄,不等同於 DeepSeek 或幻方的官方應用商店。