dsh-auto-review¶
⭐ 2 · ✅ active · plugin
| Type | plugin | Category | Memory & context |
| Stars | ⭐ 2 | Status | ✅ active |
| Author | accpowered | Updated | — |
| Subcategory | 📦 Context management | Capabilities | coding, context, ui |
One-liner¶
LLM approval answerer for DeepSeek Harness: deterministic filter + clean-context LLM review for sandbox escalations (requires the patched core, patches included)
About¶
Second-model AI approval for DeepSeek Harness — a read-only reviewer subagent decides allow/deny on the approval chain, fail-closed by default. When an action crosses the sandbox boundary, a second model reads the evidence and returns a verdict with a reason — so humans approve nothing while nothing unsafe slips through. English · 简体中文 · Español · Português · हिन्दी ---
📦 Install¶
# 1. install the bundle into your profile
dsh plugin --profile web add "github:PerryLink/dsh-auto-review#main"
# or from npm (published releases)
dsh plugin --profile web add dsh-auto-review
# 2. restart and verify the row
dsh --profile web --dump-config | grep -A4 'id: auto-review'
🚀 Quick Start¶
- id: auto-review
config:
toolsPolicy:
overrides: { bash: ai, write: ai }
contextBudget: { turns: 4, maxChars: 8000 }
📚 Learn more¶
Configuration
All tunables are Schemastery Config fields (changeable from cordis.yml). An id-targeted override replaces the whole row — restate every key you need. Example (annotated full form: fixtures/config/config-full.yaml): - id: auto-review name: dsh-auto-review config: toolsPolicy: overrides: { bash: ai, write: ai } riskRules: - pattern: '(?i)(rm\s+(-[a-z]+\s+)*/|git\s+push\s+--force)' policy: never
Where the config actually comes from
~/.dsh/settings.yaml is NOT a config source for this plugin. An auto-review: block there has no effect and produces no warning: like every DSH function plugin, dsh-auto-review receives its Config from the row the loader mounts it with — the profile's cordis patch layer. (Some other DSH plugins additionally read the settings service, so the inconsistency is easy to trip over, and the sy
eval/cases/demo.yaml (abridged)
suite: name: my-suite cases: - id: math-output input: Solve 17 × 24 and reply with only the final number, nothing else. expect: output: { contains: "408" } - id: glob-trace seedFrom: '.' input: Use the glob tool with pattern "src/**" to list the source files… expect: toolCalls: [{ tool: glob, arguments: { contains: { pattern: "src" } } }] results: [{ tool: glob, contains: "index.ts" }] Run it (a D
or, after npm install: npx dsh-auto-review-mcp
Environment config: DSH_AUTO_REVIEW_RISK_RULES (JSON array of {pattern, policy, field?}), DSH_AUTO_REVIEW_TOOLS_POLICY (JSON {default?, overrides?}), DSH_AUTO_REVIEW_CACHE_TTL_MS, DSH_AUTO_REVIEW_CACHE_MAX_ENTRIES. Claude Desktop (claude_desktop_config.json) example: { "mcpServers": { "dsh-auto-review": { "command": "npx", "args": ["-y", "dsh-auto-review-mcp"], "env": { "DSH_AUTO_REV