simon300000/dsh-auto
dsh Auto Approve
已收录
4
Security
Bundle 已验证
预览
功能介绍
为 WebUI 增加 Auto Approve 权限档位,由全新且受限的审查 Agent 逐次允许或拒绝审批请求。
适合
- 希望由隔离的审查 Agent 自动判断日常审批请求的 DSH Web 用户。
- 可通过有限的只读文件检查,为允许或拒绝决定提供有效证据的工作流。
- 希望关键风险操作及授权不足的高风险操作默认拒绝,同时保留审查会话记录的团队。
不适合
- headless 或非网页 DSH 场景;当前版本仅支持 Web UI。
- 要求自动拒绝后必须转人工询问的审批流程;审查 Agent 的拒绝不会重试,也不会回退为向用户提问。
- 审批判断需要联网、执行写操作、大范围调查,或超出所配置有限审查步数的操作。
README
dsh-auto
| English | 中文 |
dsh-auto adds an Auto Approve permission preset to the DeepSeek Harness Web UI. Each action that requires approval is reviewed by a fresh, restricted DSH child Agent before the plugin allows or denies it.
The current release supports the Web UI only.
Screenshots
Select the Auto Approve permission preset:

The Reviewer allows a bounded read-only action:

The Reviewer denies a high-risk action without sufficient user authorization:

How it works
- The plugin handles
approval/requestonly when the session selectsAuto Approve. Other permission presets continue through DSH’s existing approval chain. - Each approval starts one
spawnReviewer session. DSH’s own agent loop handles any boundedread,glob, orgrepinvestigation and captures the final structured result; the plugin does not implement a separate model/tool loop. - The child is created with a read-only sandbox and
approval/policy = never. An execution guard denies every tool exceptread,glob,grep, and the scoped structured-output tool, permits no further subagents, and allows at most four investigation steps plus the final response step. Sensitive files may be inspected only when a minimal read-only check can change the decision. - The Reviewer receives the exact pending action, approval reason, current permissions, bounded raw session events, the main Agent’s assembled system instructions, and AGENTS.md or equivalent workspace instructions. Stable instructions are serialized in a separate cacheable prefix before session identifiers, transcripts, permissions, and action data. Direct user messages, human answers returned by
ask_user_question, assembled system instructions, and workspace instructions can establish authorization; assistant content and other tool results remain untrusted evidence. - Only
outcomeis required in the structured result. A compact{"outcome":"allow"}defaults to low risk and unknown authorization; omitted fields on a denial default to high risk and unknown authorization. Explicit assessments may also containrisk_level,user_authorization, andrationale. The host always denies critical risk and denies high risk without at least medium user authorization. Invalid output, missing action data, timeout, cancellation-independent infrastructure failure, and tool failure all fail closed. - A successful model denial is not retried and never falls back to a user prompt. The default 90-second deadline covers child creation, all model steps, local read-only investigation, and final structured output.
- Three consecutive denials in the same parent turn interrupt that turn. Any allowed action resets the counter. Each approval is still isolated in its own child session.
The parent session records the approval events and a compact plugin notice. The Reviewer child session uses an _auto-approve:<callId> label and contains its messages, investigation tool calls and results, final assessment, and turn end. Console logs contain identifiers, model route, step count, stop reason, risk, authorization, and outcome, but not full prompts or file contents.
Install
Install simon300000/dsh-auto from GitHub:
dsh plugin --profile web add github:simon300000/dsh-auto
Restart the Web UI, then select Auto Approve in the session Permissions selector or as the default permission preset in General Settings.
Configuration
The bundled defaults use deepseek-official/deepseek-v4-flash with high reasoning:
- id: dsh-auto-approve
name: dsh-auto
config:
reviewerProvider: deepseek-official
reviewerModel: deepseek-v4-flash
reviewerReasoningEffort: high
timeoutMs: 90000
maxInvestigationSteps: 4
maxConsecutiveDenials: 3
maxMessageTranscriptTokens: 4000
maxToolTranscriptTokens: 3000
maxMessageEntryTokens: 1000
maxToolEntryTokens: 512
maxSystemInstructionTokens: 6000
maxAgentInstructionTokens: 6000
maxRecentNonUserEntries: 20
maxActionChars: 16000
maxOutputTokens: 8192
reviewerProvider and reviewerModel must be set together. If both are omitted, the Reviewer uses the parent session’s current provider and model. A profile override replaces the complete matching bundle-row config, so repeat every value that should remain configured.
The Reviewer persona and the additional security rules live in prompts/policy-template.md and prompts/policy.md. Restart DSH after changing the configuration, policy, or plugin code.
License
常见问题常见问题
在启用了 DSH 的终端中执行已验证命令 dsh plugin --profile default add github:simon300000/dsh-auto。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。
兼容性以页面上展示的 bundle 与 profile 状态为准。如果某个 profile 尚未检测到,请先保持禁用,并在生产启用前阅读仓库文档。
GitHub 链接和 activity 元数据是 release 与维护状态的来源。新版本发布后重新查看本页,确认目录已经观察到最新版本。