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 调用中的沙箱字段兼容问题,可以先用这个方案做隔离测试。

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

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

小夜