Back to home@delef

dsh-plugin-auto-review

Provider-backed automatic approval review for DeepSeek Harness

Stars
1
Language
TypeScript
Created
Sep 3, 2026
Updated
Sep 3, 2026
GitHub repo

Introduction

Auto Review

dsh-plugin-auto-review reproduces provider-specific approval-review behavior inside DeepSeek Harness. Each policy implements the review logic of a supported provider—for the first release, Codex Guardian and Grok escalation—while the model itself can be supplied through any compatible DSH LLM adapter.

The underlying Codex or Grok model comes from a DSH LLM adapter. A provider plugin such as dsh-plugin-subscriptions can expose codex/codex-auto-review or grok/grok-4-fast-reasoning; an API adapter can expose a compatible route instead. The adapter owns authentication and transport, while Auto Review calls its registered route through ctx.llm.stream().

Install

The package is published on npm as dsh-plugin-auto-review. Install it into each DSH profile where automatic review should be available:

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

Restart the corresponding DSH process after installation so the profile loads the plugin. To update an npm installation later:

dsh plugin --profile web update --latest dsh-plugin-auto-review
dsh plugin --profile headless update --latest dsh-plugin-auto-review

The same release is also mirrored to GitHub Packages as @delef/dsh-plugin-auto-review. That distribution requires GitHub Packages authentication; npm is the recommended installation source.

How it works

flowchart LR
    A[Tool call] --> B[Native DSH approval/request]
    B --> C{Auto Review}
    C -->|none| D[Manual DSH approval]
    C -->|Configured reviewer| E[Provider-specific review policy]
    F[dsh-plugin-subscriptions or API adapter] -->|provider + model route| G[DSH ctx.llm]
    E --> G
    G --> H{Review result}
    H -->|allow| I[allowed-once]
    H -->|deny, unavailable, or invalid| J[rejected]

Runtime example

Codex Auto Review approves a sandboxed shell operation in the parent session:

Codex Auto Review approving a shell operation in a DSH Web session

The selected reviewer is inherited by a delegated subagent and handles its approval without opening an unattended human prompt:

Codex Auto Review approving a shell operation inside a delegated DSH subagent

Quick start

The plugin registers Codex Guardian and Grok escalation policies and starts in manual mode. Once the corresponding DSH LLM route is available, select the reviewer in Web or set a default:

autoReview: codex

Web exposes both a global selection in Settings and a per-session selection beside the conversation input. Only currently usable routes are offered; an already selected route that disappears remains visible as unavailable and fails closed. Select none to use native manual approval.

ReviewerPolicyDefault DSH route
CodexCodex Guardiancodex/codex-auto-review
GrokGrok escalation reviewgrok/grok-4-fast-reasoning

Custom routes

policy selects the review logic. provider and model select the DSH LLM route that supplies the model:

autoReview: api-guardian
reviewers:
  - policy: codex
    reviewerId: api-guardian
    label: Company API Guardian
    provider: openai-api
    model: gpt-5
    reasoningEffort: low

reviewerId must be unique. Entries without policy retain Codex Guardian behavior. The global selection is stored at plugins/auto-review/auto-review.json; session selections are in-memory and inherited by child sessions.

Safety

The model runs only after the exact tool call reaches a real approval/request; ordinary allowed calls remain model-free. With a reviewer selected, denial, unavailability, timeout, interruption, or malformed output is rejected. With none, DSH keeps its native manual flow. Delegated subagents do not open unattended human prompts: they may inherit a machine reviewer, but manual approval remains disabled for delegation.

Auto Review does not bypass DSH permissions. If the sandbox denies a Bash call, the plugin may retry that exact call with the next sandbox mode, but the retry passes through the same approval boundary. Tool actions are matched by call id and name and consumed once. Review transcripts are bounded and exclude injected plugin context from user authorization anchors.

Compatibility and development

The package targets the DSH 0.1.2-alpha.3 service contracts and browser client slots. From a checkout with the matching toolchain:

npm run build
npm test