dsh-gpt-perm-strip
Manifest valid★ 2DSH plugin: strip GPT-family tool-call sandbox_permissions that are not strictly wider than the current session.
dsh-gpt-perm-strip
A DeepSeek Harness plugin that runs only for GPT-family models. Before a tool body hits DSH's sandbox escalation check, it removes sandbox_permissions / justification that are not strictly wider than the current session.
Why
DSH requires sandbox_permissions to be strictly wider than the session. The same (or a narrower) mode fails immediately:
sandbox escalation to "danger-full-access" is not strictly wider than this call's current "danger-full-access" mode
GPT-family models habitually send a permission field even when the session already has that access. This plugin drops those leftover fields and leaves real escalations (workspace-write → danger-full-access) untouched.
tools/pre-execute cannot rewrite frozen arguments. The plugin wraps each tool's execute and passes a cloned argument object with the unnecessary fields removed. The durable tool/call record still shows what the model emitted.
GPT-only
Matching is by model id, not provider (OpenAI-compatible gateways often host GPT, Grok, and DeepSeek under one provider):
gpt-4o,gpt-5.6-sol,chatgpt-4o-latest,openai/gpt-4.1,ft:gpt-4o:…- optional:
o1/o3/o4(includeOpenAiReasoning, default on)
Grok and DeepSeek are ignored unless you add extraModelPatterns.
Repo: https://github.com/FengLingYaaa/dsh-gpt-perm-strip
Install
dsh plugin --profile web add github:FengLingYaaa/dsh-gpt-perm-strip
Or from a local 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 .
Config
| Field | Default | Meaning |
|---|---|---|
includeOpenAiReasoning | true | Treat o1/o3/o4 as GPT-family |
extraModelPatterns | [] | Extra regexes against provider, model, or provider/model |
injectPrompt | true | GPT-only runtime-context reminder |
logStrips | true | Log each strip as [gpt-perm-strip] stripped … |
Behavior
| Session | GPT argument | Result |
|---|---|---|
danger-full-access | sandbox_permissions: danger-full-access | stripped, call runs |
workspace-write | sandbox_permissions: workspace-write | stripped |
workspace-write | sandbox_permissions: danger-full-access | kept (real escalation) |
read-only | sandbox_permissions: workspace-write | kept |
| non-GPT model | any permission | unchanged |
permission / permissions are treated as sandbox fields only when the value is a known sandbox mode.
Comments
Loading…
Similar plugins
by NekoDD-wow
DSH Web GUI plugin: one-click expand/collapse all reasoning chains and tool chains in the current session
★ 0
MIT
JavaScript
Aug 15, 2026
dsh plugin --profile web add dsh-chain-toggle-allby g1998815
DSH(DeepSeek Harness) 右侧原生工具侧边栏插件:文件系统浏览器 / Git 变更与 diff / 会话变更 采用·撤回 / PTY 控制台。Windows 直连 node-pty,跟随 DSH 主题,RPC fail-closed。
★ 3
JavaScript
Aug 16, 2026
dsh plugin --profile web add dsh-workspace-toolsby MAXeaglet
DSH plugin: one shell tool that runs commands through PowerShell, Git Bash, or WSL on Windows, with a user-chosen default terminal in the Web UI settings.
★ 23
↓ 243/wk
MIT
JavaScript
Sep 11, 2026
dsh plugin --profile web add dsh-bash-terminalby Julyves
DeepSeek Harness (dsh) plugin: Git status pill in the session header — branch, dirty counts, ahead/behind, recent commits & changed files.
★ 3
MIT
TypeScript
Sep 1, 2026
dsh plugin --profile web add dsh-git-uiby 782042369
DSH compatibility guard: repairs compaction limits, fail-safe sandbox escalation, and missing tool descriptions for third-party models; capability lookups are cached and the deprecated prompt-injection path is off by default.
★ 0
MIT
JavaScript
Sep 8, 2026
dsh plugin --profile web add dsh-model-compat-guardby n8guru
DSH hook plugin: a session may not stop the harness it runs inside
★ 0
MIT
JavaScript
Sep 2, 2026
dsh plugin --profile web add dsh-self-preserve