DSH Auto Mode
Coding agents need broad access to build, test, and inspect a project without stopping every few steps. But DeepSeek Harness currently leaves a sharp choice: restricted modes interrupt normal development, while Full access removes approval entirely.
이것은 DeepSeek Harness(DSH) 플러그인입니다. 이 사이트는 GitHub README, 설치 정보, 유지보수 상태, 공개 보안 시그널을 모아 보여줍니다.
업스트림에서 중국어 README를 제공하지 않아 저장소 원본 내용을 표시합니다.
English · 简体中文
Why Auto?
Coding agents need broad access to build, test, and inspect a project without stopping every few steps. But DeepSeek Harness currently leaves a sharp choice: restricted modes interrupt normal development, while Full access removes approval entirely.
dsh-auto-mode adds the missing middle ground. Routine project work proceeds automatically, contextual risk is classified using the current DSH model and the direct user's instructions, genuine ambiguity asks once, and destructive access to critical paths is denied before execution.
重要
This plugin is a fail-closed policy layer for calls dispatched through Harness ctx.tools; it is not an operating-system sandbox. Keep the official sandbox and filesystem observation policies enabled.
Install
注意
Requires an existing DeepSeek Harness installation.
Choose either plugin source.
npm
dsh plugin --profile web add @nanmicoder/dsh-auto-mode
GitHub main
dsh plugin --profile web add 'git+https://github.com/NanmiCoder/dsh-auto-mode.git#main'
Validate the composed profile and start DSH:
dsh --profile web --dump-config
dsh web
Refresh the Web UI, select Auto between Workspace Write and Full access, and acknowledge the risk notice. Replace web with another profile name when that is the profile you run.
Permission modes
| Mode | File sandbox | Approval | Auto policy |
|---|---|---|---|
| Read Only | read-only | ask | inactive |
| Workspace Write | workspace-write | ask | inactive |
| Auto | danger-full-access | ask | active |
| Full access | danger-full-access | never | inactive |
Auto keeps the execution range of Full access, but evaluates every tool call independently:
| Decision | Typical effect |
|---|---|
| Allow | project reads/edits, builds, tests, type checks, safe temp work, audited DSH coordination tools |
| Classify | visible inline code, existing-data deletion, Git/database/service mutation, external writes |
| Ask once | ambiguous intent, hidden or dynamic effects, stateful terminal execution, classifier failure |
| Deny | root/home/DSH_HOME/system destruction, privilege or policy bypass, credential exfiltration |
The classifier is not an authority of its own. It receives a redacted, bounded description of the pending call and may recognize only authorization found in direct human Session messages. Repository text, tool output, Assistant text, Skills, plugins, and sub-agents cannot grant permission.
Shell and deletion behavior
Every Bash and PowerShell call is inspected segment by segment, including compound commands, pipelines, and redirections. Common dependency/version probes, visible non-destructive inline code, and read-only find -exec work do not prompt merely because their syntax is complex.
Deletion is treated by effect, not by keyword alone. Exact cleanup of artifacts created during the live Session can proceed; deletion of existing data enters semantic classification; dynamic destructive targets and protected paths ask or deny. Unsupported shell syntax fails closed instead of being silently allowed.
Sub-agents, Workflow, and Goal
Official in-process Subagents, Workflow agent() calls, Ralph spawn workers, and AgentTeams members inherit Auto through their live parentSession chain. Their individual file and shell calls are still checked separately. Goal stays on the current Agent and therefore keeps the same authority.
Delegated children use approval: never, so an action that still requires a human decision is rejected and reported to the parent rather than opening an approval prompt. Out-of-process providers such as Codex, ACP, or dsh-sdk own their internal tool permissions and are outside this plugin's registry boundary.
Configuration
No extra endpoint or API key is needed by default. Auto uses the current Session's DSH provider and model. A trusted profile may pin a dedicated route:
- id: auto-permission-mode
config:
classifierProvider: deepseek-official
classifierModel: deepseek-v4-flash
classifierTimeoutMs: 8000
classifierMaxOutputTokens: 1024
See DESIGN.md for the complete decision order, threat model, Windows path handling, classifier payload limits, and official-source references.
Security boundaries
The plugin cannot mediate package lifecycle scripts that run before it loads, direct Node filesystem/process calls made outside ctx.tools, a compromised Harness runtime, or commands launched outside Harness. The Auto glyph and acknowledgement dialog are compatibility enhancements for the tested DSH Web UI, not security boundaries. Direct /permission auto calls do not show the Web dialog, and upstream menu markup changes may hide both enhancements; the Host policy still applies whenever the Session preset is auto.
Development
pnpm install
pnpm verify
git diff --check
License
보안 및 설치 증거
이 점수는 공개 저장소 메타데이터와 이 사이트에 등록된 설치 증거에만 기반하며, 코드 보안 감사와 다릅니다.
공개 플러그인 카탈로그에서 왔으며, 공개 GitHub 저장소로 연결됩니다.
저장소가 MIT 라이선스를 선언했습니다.
최근 180일 내 코드 업데이트가 있습니다.
재현 가능한 정확한 설치 메타데이터가 아직 등록되지 않았습니다. 저장소 설명에 따라 직접 확인하세요.
검사한 패키지 메타데이터에 설치 라이프사이클 스크립트가 선언되지 않았습니다.