DSH Plugins Marketplace

DSH Plugins

Plugins

/

deepseek-AutoReview

V

deepseek-AutoReview

Manifest valid

DeepSeek Harness's "Review on My Behalf" Plugin

UI (client)hasBundlePatchMachine translated

deepseek-autoreview

A「替我审核」(review-on-my-behalf) permission preset for DeepSeek Harness: a fourth permission mode beside read-only / workspace-write / danger-full-access. Escalation asks run through a three-tier funnel — a conservative whitelist (zero-token fast approval), a danger blocklist (zero-token interception), and an independent reviewer model for the gray zone. Safe operations auto-approve, unsafe/uncertain ones fall through to the human approval prompt, and obviously malicious asks can be denied outright. Fail-closed by construction, with a user-switchable reviewer model in General settings.

The four modes

PresetSandboxApprovalInside workspaceEscalations
read-onlyread-onlyaskwrites deniedhuman approval
workspace-writeworkspace-writeask✅ silenthuman approval
review (替我审核)workspace-writeask✅ silentwhitelist → blocklist → reviewer model; safe auto-approves, else human/deny
danger-full-accessdanger-full-accessnever✅ silent✅ silent

Install

Requires a dsh profile (~/.dsh/profiles/<name>, new dsh.profile.bundles + cordis.patch.yml structure).

# npm (after publishing)
dsh plugin add deepseek-autoreview
# straight from GitHub
dsh plugin add github:Violet-Evergarden-Xiya/deepseek-AutoReview
# local checkout
dsh plugin add file:/path/to/deepseek-AutoReview

Then register the bundle in the profile's package.json (dsh plugin add only installs the dependency):

{
  "dependencies": { "deepseek-autoreview": "1.1.0" },
  "dsh": {
    "profile": {
      "bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "deepseek-autoreview"]
    }
  }
}

Restart dsh (no hot reload for the host patch layer):

dsh web

The preset picker then shows the fourth entry「替我审核」.

Usage

Switch a session to「替我审核」:

  • workspace edits run silently;
  • escalations pass the funnel: structurally verifiable commands (npm/pnpm/pip install, git clone/pull/fetch, no shell metacharacters) fast-approve with zero tokens; catastrophic shapes and sensitive paths (rm -rf /, curl | sh, writes to /etc …) intercept with zero tokens; the gray zone is judged by the reviewer model;
  • auto-approvals are rate-limited (5/min, 30/hour by default) — over-budget asks delegate to the human.

Switching the reviewer model in settings

After install, Settings → General gains a「替我审核模型」row, switchable at any time with immediate effect:

  • Follow main conversation (default): the reviewer reuses the session's current model;
  • Fixed model: fill Provider / Model (e.g. deepseek-official / deepseek-v4-flash); the host validates the route against the LLM catalog and falls back to the session route (flagged in the audit) when invalid;
  • Priority: settings (fixed) > composition config > session route.

Configuration (profile cordis.patch.yml)

- id: permission-review
  name: deepseek-autoreview
  config:
    provider: deepseek-official   # optional deployment-level fallback route (paired with model)
    model: deepseek-v4-flash
FieldDefaultMeaning
presets['review']Preset table keys that activate the reviewer.
provider / modelunsetComposition-level fallback route, supplied together.
maxInputBytes1024Byte budget for the current-turn user context.
maxOutputTokens256Judgment response token cap.
timeoutMs10000End-to-end judgment deadline; timeout delegates.
maxConcurrent4In-flight judgment cap; over-capacity asks delegate.
whitelisttrueZero-token fast approval for structurally verifiable commands.
whitelistVerbs[npm,pnpm,yarn,pip,pip3,poetry,cargo,git]Whitelisted command verbs.
preflighttrueDeterministic blocklist interception.
blocklist26 built-in rules{id, pattern, tools?} string-pattern rules.
staticDenyfalseBlocklist hits reject (deny) instead of delegating.
denytrueAllow the model to decide deny.
maxAutoPerMinute / maxAutoPerHour5 / 30Auto-approval budget; overflow delegates.
retryTransienttrueRetry transient failures once (rate limits/network); timeouts and invalid outputs never retry.
reasoningEffortoffJudgment reasoning effort (off skips reasoning; degrades automatically when unsupported).
rubricbuilt-inFull replacement for the reviewer system prompt.

How it works

  • Preset table: the bundle patch overrides the permission row's preset table with review appended (workspace-write + ask).
  • Three-tier funnel: whitelist (zero tokens) → blocklist (zero tokens) → reviewer model over the real tool arguments recovered from the session log by callId, the current turn's user request, and the asker's self-reported reason (least trusted).
  • Answerer: a PREPENDED approval/request listener ahead of the human channel, gated on the review preset.
  • Closed vocabulary: allow / refer / deny (deny rides the platform's rejected semantics).

Audit and records

  • review/verdict (log-only): { toolName, callId?, decision, rationale?, source, model?, latencyMs?, evidenceSha256?, rateLimited?, routeFallback?, error? } — source names the deciding layer, evidenceSha256 fingerprints the operation.
  • One concise in-conversation notice per decision.

Boundaries

  • Delegated subagents keep their pinned never policy — the reviewer never sees child escalations.
  • The whitelist only approves structurally verifiable commands (single verb, no ; | & < > $ = \ ( ) { }` anywhere), so composite or obfuscated commands always land in the blocklist or the model.
  • The preset-table override replaces the whole presets key (the three shipped entries are restated + review); hand-merge review into custom tables.
  • Network access is outside the review scope.
  • Judgment quality depends on the chosen model; iterate on the rubric.

Build & test from source

pnpm install
pnpm typecheck
pnpm test      # 27 cases incl. adversarial samples (command chaining, path tricks), fake adapter, zero tokens
pnpm build     # tsc declarations → tsdown lib/ (host half + browser client bundle)

Publish:

pnpm publish   # runs prepublishOnly (typecheck + test) first

Comments

Loading…

Similar plugins

dsh-all-enhance

by rangdl

DSH(DeepSeek Harness)功能增强插件

Manifest valid

★ 0

TypeScript

Sep 1, 2026

dsh plugin --profile web add dsh-all-enhance

by hajimixiaojie

DeepSeek Harness代码自动检查插件

Manifest valid

★ 0

↓ 88/wk

MIT

TypeScript

Aug 14, 2026

dsh plugin --profile web add @dsh-lens/dsh-lens

by xjackzenvey

Deepseek Harness 增强工具

Manifest valid

★ 0

MIT

TypeScript

Aug 14, 2026

dsh plugin --profile web add dsh-ui-enhance

by Xinlong-Wu

adds an auto-review permission preset to DeepSeek Harness. Same Codex auto review

Manifest valid

★ 0

MIT

TypeScript

Aug 24, 2026

dsh plugin --profile web add dsh-auto-review-plugin
dsh-market

No screenshots

by dsh-market

The plugin market inside DeepSeek Harness — browse, search, one-click install · DSH 可视化插件市场

Development & InfrastructureTools & CapabilitiesThemes & SkinsManifest valid

★ 4.7k

↓ 145.3k/wk

MIT

TypeScript

Sep 27, 2026

dsh plugin --profile web add dshmarket

by Qingzhou-Joshua

DeepSeek Harness plugin—a simple toolkit for developers.

Manifest valid

★ 0

MIT

TypeScript

Aug 14, 2026

dsh plugin --profile web add dsh-dev-toolbox