dsh-sandbox-arg-guard
让「同级或更窄的 sandbox_permissions」不再让工具调用直接失败。会升级的工具(pwsh、bash、write、edit)都广告完整的 sandbox_permissions 枚举,但 DSH 只接受严格更宽于当前生效级别的请求——其源码自称这是「deliberately not a schema constraint」。于是反射式带上该参数的模型往往填它已经在的那个级别,调用在执行前就死掉:"sandbox escalation to \"workspace-write\" is not strictly wider than this call's current \"workspace-write\" mode",某些模型还会为此烧掉一整轮重试。本插件只注册一个 tools/execute waterfall 监听器,且仅在那一条文档化拒绝上、且参数里确实带了升级字段时,把同一个调用去掉该参数重投一次。安全性由 DSH 自己的文档保证:拒绝发生在任何执行之前("nothing has run"),且改过的参数无法再次匹配,因此重投在结构上不成环。已端到端复现并验证——改造前 isError 为 true 且命令从未执行;改造后拿到命令的真实输出、isError 为 false,会话里只有一个 tool/call 与一个 tool/result。零依赖。
Keeps a redundant sandbox-escalation argument from failing a tool call. Escalating tools (pwsh, bash, write, edit) advertise the full sandbox_permissions enum, but DSH only accepts a level strictly wider than the one already in effect — a check its own source calls 'deliberately not a schema constraint'. A model that reflexively passes the argument therefore picks the level it is already at and the call dies before running with 'sandbox escalation to "workspace-write" is not strictly wider than this call's current "workspace-write" mode', costing some models a whole turn of retries. This plugin registers one tools/execute waterfall listener and, only on that documented rejection and only when the arguments really carried an escalation field, re-issues the identical call once without it. Safe by DSH's own documentation: the rejection precedes any execution ('nothing has run'), and the corrected call cannot match again, so the retry is loop-free. Reproduced and verified end to end — before: isError true, the command never ran; after: the command's real output, isError false, one tool/call and one tool/result. Zero dependencies.
怎么安装
dsh plugin add github:apex-mochen/dsh-sandbox-arg-guard 简介
dsh-sandbox-arg-guard **Keeps a redundant sandbox-escalation argument from failing a tool call.** When an escalating tool (pwsh, bash, write, edit) is rejected because the model requested a sandbox level it cannot ask for, this plugin re-issues the same call once without that argument — so the call the model actually intended just runs. ### ⚠️ Scope narrowed by an upstream fix (2026-09-19) > **The same-level case is fixed in DSH 0.1.6-alpha.2 and no longer needs this plugin.** Commit 61c548e2 (*fix(sandbox): accept repeated effective permission modes*, PR #4326) added if (mode === effectiveMod…
推荐参考
信息
- 协议
- MIT
- 语言
- JavaScript
- GitHub 星标
- 0
- 月下载
- –
- 最近更新
- 2026-09-19
- 创建于
- 2026-09-15
基础安全检查
- 检查结果
- curated 收录但无 npm 包/安装命令
- 收录来源
- curated:awesome-dsh-plugin.com, curated:awesome-dsh-plugin/awesome-dsh-plugin
同类推荐
dsh-auto-review
PerryLink/dsh-auto-review
审批链上的第二模型自动审查:只读审查子代理返回带理由的 allow/deny 结构化裁决,默认 fail-closed。
dsh-passwords
slywalker2006/dsh-passwords
让 DeepSeek Harness 变成服务器级多租户平台:远程访问 + 自动 HTTPS、子用户权限与配额、沙盒强制、加密认证与审计日志。
dsh-web-startup-auth
GDWhisper/dsh-web-startup-auth
替换 dsh web 启动器以允许绑定 0.0.0.0,并以账号密码登录为门槛:签名会话 cookie、/api 路由保护、设置面板认证标签页,以及轮换签名密钥使全部会话失效的重置 CLI。
sofagent
KongFangXun/sofagent/tree/main/engine/dsh-plugins/cordis-plugin-sofagent-audit
面向 AI 编程 agent 的提交时审计 harness——24 条 git diff 规则(密钥泄漏、越界改动、提示注入)、HMAC 签名审计链、快照回滚、84 工具 MCP server;dsh plugin add 即装。