dsh-same-mode-sandbox-noop:爲 DSH 0.1.0-rc.6 處理冗餘沙箱字段的兼容插件

前言

DSH 裏有些兼容問題不一定需要改主程序,可以先用一個可移除的插件繞開。dsh-same-mode-sandbox-noop 是面向 DeepSeek Harness / DSH 0.1.0-rc.6 的兼容插件,由 zhangzujian 維護,用來處理 bashpwshwriteedit 等工具調用中出現的冗餘 sandbox_permissionsjustification 字段。

這是什麼

這是一個可移除的 DSH 0.1.0-rc.6 兼容插件。它不替代 DSH,也不新增一套沙箱策略;它只在 DSH 快照並凍結工具參數之前,把已知非升級請求中的冗餘字段移除,然後讓原運行時按現有策略繼續執行。

許可證爲 MIT,要求 Node.js >=22

核心功能

插件會包裝兩個入口:

  1. ctx.tools.execute()
  2. DSH 0.1.0-rc.6 Agent Loop scheduler 的準備入口

這些處理發生在 DSH 快照並凍結工具參數之前。對 bashpwshwriteedit,當請求的沙箱模式等於或窄於調用會話的有效模式時,插件會移除配對的 sandbox_permissionsjustification 字段。

以下情況保持原樣傳給 DSH:

  • 真正更寬的模式請求
  • 未知模式
  • 參數配對格式不正確
  • 無關工具
  • 沒有升級字段的調用

對於已知非升級請求,如果 justification 爲空,插件會在 DSH 校驗之前把它和冗餘權限字段一起移除。對於真正更寬請求,空的 justification 仍留給 DSH 按原規則校驗。插件移除或 disposal 時會恢復原運行時方法。

安裝與啓用

先確認本地 Node.js 版本滿足 >=22。下面以 web profile 爲例安裝本地目錄:

git clone https://github.com/zhangzujian/dsh-same-mode-sandbox-noop.git
cd dsh-same-mode-sandbox-noop
npx @deepseek-ai/dsh@0.1.0-rc.6 plugin --profile web add "$PWD"

安裝完成後,重啓 dsh web 讓插件生效。

如果要移除:

npx @deepseek-ai/dsh@0.1.0-rc.6 plugin --profile web remove @zhangzujian/dsh-same-mode-sandbox-noop

典型用法

一次性的本地 overlay

不安裝到 profile 時,可以在 base bundle 之後加載的 patch 裏按文件 URL 插入插件:

- insert:
    - id: same-mode-sandbox-noop
      name: file:///absolute/path/to/dsh-same-mode-sandbox-noop/index.mjs

這裏需要把 file:///absolute/path/... 替換爲實際本地路徑。

運行測試

單元測試只需要 Node.js:

npm test

集成測試需要指向一個已安裝的 DSH 目錄:

DSH_INSTALL_DIR=/path/to/npx/cache/package npm run test:integration

DSH_INSTALL_DIR 是指向包含 node_modules/@deepseek-ai 的目錄。

適用場景與注意

適合在 DSH 0.1.0-rc.6 環境中臨時規避已知非升級請求中的冗餘沙箱字段。它是一個 out-of-tree compatibility workaround;如果 DSH 後續版本在共享沙箱升級層中處理非升級請求,應優先使用 DSH 原生實現。

因爲插件會接入 DSH 的工具執行與調度準備路徑,並以當前 dsh 進程權限運行,安裝前應檢查倉庫源碼、許可證和依賴。許可證爲 MIT,維護者爲 zhangzujian

GitHub 倉庫:

https://github.com/zhangzujian/dsh-same-mode-sandbox-noop

結尾

這個插件的作用面比較窄:只在 DSH 0.1.0-rc.6 的特定路徑中移除已知非升級請求裏的冗餘字段,並保留真正需要升級的請求給 DSH 繼續校驗。如果你正在排查 bashpwshwriteedit 調用中的沙箱字段兼容問題,可以先用這個方案做隔離測試。

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

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

小夜