YoungUsing/dsh-gpt-tool-compat
YoungUsing★ 0JavaScriptLast synced: 2026-08-15
—
README excerpt
dsh-gpt-tool-compat 非破坏性的 DSH 工具调用兼容层。某些模型调用方(如通过第三方提供方路由的 gpt-5.6-terra)会给 每一个 工具调用都附上提权参数,导致调用在参数校验阶段失败: 本插件在 tools/pre-execute (分发前)拦截, 只剥离必然校验失败的提权参数 ,把调用还原成模型本意要执行的普通调用。它不会:改动原本能成功的调用、绕过真实提权审批、或阻塞任何它无法处理的调用。监听器注册在进程级 root 作用域,覆盖所有会话的 pwsh/bash 及文件系统工具族调用。 安装 方式 A:作为 bundle(推荐) 1. 把本包装进 web profile 的 node modules: 2. 在 \.dsh\profiles\web\package.json 的 dsh.profile.bundles 数组里加入 "dsh-gpt-tool-compat" : 3. 重启 dsh web 服务,刷新页面。 方式 B:直接插行 1. 同上安装包到 profile 的 node modules。 2. 在 \.dsh\profiles\web\cordis.patch.yml 里插入: 3. 重启 dsh web 服务。 验证 重启后随便开一个会话,用带空 justification 的工具调用测试(或观察之前失败的那些会话重试)——调用应正常执行,不再报 invalid justification / not strictly wider 。 原理与安全边界 - 剥离规则只作用于四种 在任何沙箱模式下都必然被拒 的情况:空/非字符串 justification 、 sandbox permissions 与 justification 不成对、以及请求的模式不是当前有效模式严格更宽的提权(如 danger-full-access 下任何提权请求)。 - 真正的更宽提权(如 read-only → workspace-write + 有效理由) 原样放行 ,照常走真实用户审批。 - 任何意外异常都会被捕获并放行原调用——本层永远不会让一个调用变得更糟。 License MIT
View full README on GitHub →