插件目录 / Developer / dsh-gpt-tool-compat
dsh-gpt-tool-compat
已验证 · 实测可装 YoungUsing
功能简介
Developer 类别的 DeepSeek Harness 插件。
可用 — 实测通过,早期项目
Developer 类别的 DeepSeek Harness 插件。 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-gpt-tool-compat
非破坏性的 DSH 工具调用兼容层。某些模型调用方(如通过第三方提供方路由的 gpt-5.6-terra)会给每一个工具调用都附上提权参数,导致调用在参数校验阶段失败:
{ "command": "...", "justification": "", "sandbox_permissions": "workspace-write" }
本插件在 tools/pre-execute(分发前)拦截,只剥离必然校验失败的提权参数,把调用还原成模型本意要执行的普通调用。它不会:改动原本能成功的调用、绕过真实提权审批、或阻塞任何它无法处理的调用。监听器注册在进程级 root 作用域,覆盖所有会话的 pwsh/bash 及文件系统工具族调用。
安装
方式 A:作为 bundle(推荐)
把本包装进 web profile 的 node_modules:
cd $env:USERPROFILE\.dsh\profiles\web npm install <本包路径,如 D:\Users\yq\Documents\code-and-repos\dsh-workspace\dsh-gpt-tool-compat>在
~\.dsh\profiles\web\package.json的dsh.profile.bundles数组里加入"dsh-gpt-tool-compat":"dsh": { "profile": { "bundles": [ "@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "dsh-gpt-tool-compat" ] } }重启
dsh web服务,刷新页面。
方式 B:直接插行
同上安装包到 profile 的 node_modules。
在
~\.dsh\profiles\web\cordis.patch.yml里插入:- insert: - id: gpt-tool-compat name: 'dsh-gpt-tool-compat'重启
dsh web服务。
验证
重启后随便开一个会话,用带空 justification 的工具调用测试(或观察之前失败的那些会话重试)——调用应正常执行,不再报 invalid justification / not strictly wider。
原理与安全边界
- 剥离规则只作用于四种在任何沙箱模式下都必然被拒的情况:空/非字符串
justification、sandbox_permissions与justification不成对、以及请求的模式不是当前有效模式严格更宽的提权(如danger-full-access下任何提权请求)。 - 真正的更宽提权(如
read-only→workspace-write+ 有效理由)原样放行,照常走真实用户审批。 - 任何意外异常都会被捕获并放行原调用——本层永远不会让一个调用变得更糟。
License
MIT
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-gpt-tool-compat」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:YoungUsing/dsh-gpt-tool-compat Headless(CLI)profile:
dsh plugin --profile headless add github:YoungUsing/dsh-gpt-tool-compat 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。