Andy8647/dsh-auto-approval 预览 preview

Andy8647/dsh-auto-approval

Plugin插件 Native原生 ⭐ 3 BSD-3-Clause Approval & Security审批与安全Prompts & Skills提示词与技能

A fourth permission preset for DeepSeek Harness: pick Automode in the composer's permission dropdown and the session runs on full access with an LLM classifier as the only gate before every tool call. No approval prompts — the classifier answers for you.

catalog descriptioncatalog 简介 / catalog description:Automode for DeepSeek Harness: a fourth permission preset — full access with an LLM classifier as the only gate before every tool call.

Project Overview项目介绍

This repository is a native permission preset plugin built exclusively for DeepSeek Harness, that adds a fourth "Automode" auto-approval tier to DSH’s existing three official sandbox permission levels. It eliminates the constant interruptions from manual approval prompts that break flow for long running LLM tasks. When you select the Automode preset from the permission dropdown, every tool call is evaluated by a two-stage guard system that automatically approves or denies calls without any manual input from you. The plugin only activates when Automode is selected, and switching to any other built-in DSH preset automatically disables it with no extra toggle required.

The two-stage guard system first runs deterministic L0 rules that hard-deny high-risk commands like rm -rf / or curl piped to sh, based on user-configured regex patterns and allowlists. The classification logic never exposes tool output to the LLM classifier, so injected content can’t trick the classifier into allowing a bad request. Any call that passes L0 moves to L1, where a configured LLM evaluates the latest user message and tool call to decide whether to allow or deny the request. This setup is ideal for users that want to run long, unattended multi-step LLM workflows without stopping to manually approve calls.

You can install the plugin directly via the DSH CLI with the command dsh plugin --profile web add dsh-auto-approval, which pulls the latest version from the DSH plugin registry. After installation, just select Automode from the composer’s permission dropdown to start using it; first-time users in a browser will see a one-time notice explaining the security tradeoffs of automatic approval. The plugin is open source under the permissive BSD-3-Clause license, and is currently verified to work with the latest DSH release 0.1.2-rc.1, with older DSH versions not officially supported.

dsh-auto-approval是专为DeepSeek Harness开发的原生插件,它为DSH新增了一个名为Automode(自动批准)的权限预设选项。选中该预设后,所有工具调用都会由内置的两层规则+LLM分类器自动批准或拒绝,不需要用户手动点击确认审批,在官方三个沙箱权限等级之外新增了自动审批层级。

该插件采用两级审核逻辑:先执行确定性L0硬拒绝规则,拦截高危命令,再将通过规则的调用交给L1层大语言模型分类器判断允许或拒绝。它适合需要运行无人值守的多步骤大语言模型任务,又不想完全放开所有权限的用户使用,只要选中其他预设插件就会自动禁用,不需要额外开关。

可以通过DSH官方命令行直接安装,命令是dsh plugin --profile web add dsh-auto-approval,安装完成后在编辑器权限下拉菜单选中Automode即可启用。项目遵循BSD-3-Clause开源许可,当前适配最新版DSH 0.1.2-rc.1,旧版DSH不支持,首次启用浏览器会显示一次性提示说明安全取舍。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 3 stars - very few users, little community feedback星标只有 3,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add dsh-auto-approval

把 Andy8647/dsh-auto-approval 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-auto-approval

English | 中文

A fourth permission preset for DeepSeek Harness: pick Automode in the composer's permission dropdown and the session runs on full access with an LLM classifier as the only gate before every tool call. No approval prompts — the classifier answers for you.

The permission model stays 3 + 1: the three official sandbox levels, plus one auto tier. Selecting any other preset turns the plugin off; there is no second switch.

0.2.0 is a rewrite of the 0.1.x line. The on/off switch became a permission preset: install, pick Automode, done. Upgrading? See Upgrading from 0.1.x.

Demo

Automode: a multi-step task runs unattended, then a denied call shows up in the decision table

The recording: pick Automode, send one prompt (create a directory, write a file, read it back, then run echo danger_test). The agent runs the file steps unattended — the classifier allows them (L1-deep / whitelist) — and the final command is blocked by a hard rule (L0-deny). The chip's dialog shows both verdicts and the cumulative counts.

How it works

model wants a tool call
        │
        ├─ preset ≠ automode ──────────────► untouched (official behavior)
        │
        └─ preset = automode
                 │
                 ├─ L0 rules (hard deny) ───► deny   (rm -rf /, curl | sh, self-kill …)
                 ├─ trusted tools / bash prefixes ──► allow
                 └─ L1 classifier ──────────► allow | deny   (fail-closed: timeout/parse/no-model → deny)
  • L0 — regex deny rules, self-kill guard, trusted-tool and bash-prefix allowlists. Deterministic, no model call.
  • L1 — the latest real user message plus the bare tool call go to a classifier. Two backends: llm (default) runs a two-stage prompt on a chat model (fast single-token filter → deep CoT check when flagged); jev sends one HTTP request to TypeSafe's System One and gets back typed probabilities — the verdict is a threshold comparison, no text parsing. Tool output is never shown to the classifier on either backend, so injected content cannot talk it into an allow.
  • Fail-closed — a timeout, a parse failure, or a missing model denies the call.

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-openai-api 下一个 Next dsh-character-presets →