DeepSeek Harness Hub
← 返回列表

FengLingYaaa/dsh-gpt-perm-strip

DeepSeek 客户端兼容 / 相关生态spec-screened在 GitHub 查看 ↗
⚠ 装前注意

只对 GPT 系列模型 生效的 DSH 插件:在工具真正执行、进入沙箱升权校验之前,删掉 GPT…

基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/8/17 · 已提供中文文档

DSH 插件:剥离残留的 GPT sandbox_permissions,这些权限并不严格宽于当前会话。

综合分
33.2
GitHub 分
33.2
用户评分
★ Stars
2
周下载量
兼容 / 相关生态插件(非 dsh 原生,请按其对应运行时安装)
git clone https://github.com/FengLingYaaa/dsh-gpt-perm-strip.git
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

npm 包dsh-gpt-perm-strip(未发布到 npm,仅可源码安装)
Node 引擎要求 >=22 · 基线 Node 22.19 满足
dsh CLI 依赖未声明 dsh 版本约束
入口文件main/exports/bin 已声明

未发布到 npm registry,仅可从源码安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/19 03:10:08

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-gpt-perm-strip

只对 GPT 系列模型 生效的 DSH 插件:在工具真正执行、进入沙箱升权校验之前,删掉 GPT 习惯性带上、但又并不比当前会话更宽的 sandbox_permissions / justification。

为什么需要它

DSH 的规则是:sandbox_permissions 必须严格宽于当前会话权限。同级或更窄的请求会直接失败:

sandbox escalation to "danger-full-access" is not strictly wider than this call's current "danger-full-access" mode

GPT(以及同一套 function calling 习惯的 o 系列)经常在已经是 workspace-write / danger-full-access 的会话里,仍然带上同级 sandbox_permissions。插件只删这种无效字段;workspace-write → danger-full-access 这种真升权原样保留。

tools/pre-execute 不能改参数(参数在进入流水线前已被冻住,且已写入 tool/call)。本插件包装工具的 execute,把一份去掉多余权限字段的参数副本交给工具体。审计日志里仍能看到模型原始参数。

只适配 GPT

默认只匹配模型 id,不匹配 provider(很多网关把 GPT / Grok / DeepSeek 挂在同一个 provider 下):

- gpt-4o、gpt-5.6-sol、chatgpt-4o-latest、openai/gpt-4.1、ft:gpt-4o:…
- 可选:o1 / o3 / o4(includeOpenAiReasoning,默认开启)

Grok、DeepSeek 等默认不处理。若它们也有同样习惯,用 extraModelPatterns 自行加白。

仓库:https://github.com/FengLingYaaa/dsh-gpt-perm-strip

安装

直接从 GitHub 装进 profile:

dsh plugin --profile web add github:FengLingYaaa/dsh-gpt-perm-strip

或本地 checkout 后安装:

git clone https://github.com/FengLingYaaa/dsh-gpt-perm-strip.git
cd dsh-gpt-perm-strip
pnpm install
pnpm test
pnpm build

dsh plugin --profile web add .

本机当前 GUI 使用的是 web profile。装好后重启或等待插件热加载。

也可在 profile 的 cordis.patch.yml 里手动 insert(dsh plugin add 通常会代劳):

- insert:
- id: gpt-perm-strip
name: dsh-gpt-perm-strip
config:
includeOpenAiReasoning: true
injectPrompt: true
logStrips: true

配置

| 字段 | 默认 | 含义 |
|---|---|---|
| includeOpenAiReasoning | true | 把 o1/o3/o4 当成 GPT 家族 |
| extraModelPatterns | [] | 额外正则,匹配 provider、model 或 provider/model |
| injectPrompt | true | 仅对 GPT 注入一条 runtime context 提醒 |
| logStrips | true | 每次剥离打一条 [gpt-perm-strip] stripped … 日志 |

让 Grok 也走同一逻辑:

config:
extraModelPatterns:
- '^grok'

行为摘要

| 当前会话 | GPT 传入 | 结果 |
|---|---|---|
| danger-full-access | sandbox_permissions: danger-full-access | 删除权限字段,命令照常执行 |
| workspace-write | sandbox_permissions: workspace-write | 删除 |
| workspace-write | sandbox_permissions: danger-full-access | 保留(真升权) |
| read-only | sandbox_permissions: workspace-write | 保留 |
| 非 GPT 模型 | 任意 permission | 不改 |

permission / permissions 仅当值是 read-only / workspace-write / danger-full-access 时才当作沙箱字段,避免误删别的工具自己的 permission 参数。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群