inmny/dsh-sandbox-escalation-fix
inmny★ 2JavaScript最后同步: 2026-08-14
—
README 摘要
dsh-plugin-sandbox-escalation-fix 让 DeepSeek Harness 将与当前 sandbox mode 相同的冗余 sandbox permissions 请求按普通调用执行,避免模型在已经拥有权限时反复触发 not strictly wider 错误,同时保留 DSH 原有的提权审批和非法降级校验。 使用方法 插件安装到 profile 后,会在 Host 侧覆盖 bash 、 pwsh 、 write 和 edit 的同级提权兼容行为。 standard 、 code 、 cordis 、 minimal 以及自定义 preset 中可见的对应工具共用这一修复,不需要额外配置。 插件针对以下错误: 安装后,当调用请求的 sandbox permissions 与 Session 当前 mode 完全相同时,插件会从参数副本中删除 sandbox permissions 和 justification ,再交给原工具执行。真正更宽的请求仍进入 DSH 审批流程,更窄或非法的请求仍由 DSH 拒绝。 插件只作为 bundle layer 安装到目标 profile,不修改 DSH 安装目录。 安装或更新 从 npm 安装固定版本到 Web profile: 更新现有安装时使用同一条命令。安装完成后重启 dsh web ,让 Host 加载新插件,然后新建会话。 安装最新版时可以省略版本号: 开发本地版本时传入 checkout 路径: 移除插件: 权限语义 当前 mode 请求的 sandbox permissions 处理结果 read-only workspace-write 保持参数,继续走原有审批 read-only danger-full-access 保持参数,继续走原有审批 workspace-write workspace-write 删除同级提权参数,按普通调用执行 workspace-write danger-full-access 保持参数,继续走原有审批 danger-full-access danger-full-access 删除同级提权参数,按普通调用执行 danger-full-access workspace-write 保持参数,由 DSH 拒绝非法降级 approval: never 表示审批请求自动拒绝,不表示自动授予权限。本插件只让无需审批的同级请求不再误入审批路径,不会放行真正的提权请求。 工作原理 DSH 0.1.0-rc.6 的公开 tools/pre-execute Waterfall 接收到的参数已经深度冻结,不能在该扩展点修改。插件因此包装目标 ToolDefinition.execute ,在调用原实现前完成最小参数正规化: 插件监听工具和 Agent 生命周期,因…
在 GitHub 查看完整 README →