040822/dsh-codex-approval ↗★ 0
dsh-codex-approval
Codex-style approval autopilot for DeepSeek Harness: ordered glob rules (allow/ask/deny) plus an AI risk judge (low/medium/high) mapped through a risk tolerance, as an approval answerer.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:040822/dsh-codex-approval说明文档
阅读完整 README ↗dsh-codex-approval
仿照 OpenAI Codex CLI 审批模型的 AI 自动审批插件,为 DeepSeek Harness(dsh)带来 Codex 式的智能审批体验。
dsh 原生只有两种审批策略:模式级沙箱(read-only / workspace-write / danger-full-access)和一刀切的 ask/never 策略——没有命令级规则,也没有 AI 风险评估。本插件在 dsh 的 approval/request 应答者(answerer)seam 上实现了一个完整的自动审批决策链:
规则层(Codex approve-always / reject-always 风格)
→ AI 审判层(Codex 三级风险 + 三级授权 + risk tolerance)
→ 人类兜底(GUI 弹窗)
仿照 Codex 的什么
| Codex CLI | 本插件 |
|---|---|
--approve-always 'Bash(git diff)' / --reject-always | glob 规则(Bash(git *) / reason:*curl*),动作 allow / ask / deny,安全优先级 deny > ask > allow |
工具风险分级 low / medium / high | AI 对每次审批请求输出 risk: low|medium|high(只读=low、有界修改=medium、破坏/泄密/系统级=high) |
| 三级授权 | AI 输出 authorization: allow|ask|deny——直接放行 / 交人类 / 禁止 |
risk_tolerance 配置 | riskTolerance: low|medium|high:AI 判 ask 时按容忍度映射(风险 ≤ 容忍度 → 自动放行) |
--permission-mode auto 的"低风险自动、高风险询问" | 默认 tolerance: medium:low/medium 自动放行,high 交人类或由 AI 直接拒绝 |
决策流程
approval/request 到达(toolName + callId + reason)
├─ 1. 参数反查:按 callId 从会话日志恢复完整命令(bash/pwsh 取原始 command)
├─ 2. 规则层(deny > ask > allow,命中即定,0ms)
│ deny → 直接拒绝(AI 无权覆盖)│ allow → 静默放行 │ ask → 交人类
├─ 3. AI 审判层(规则未命中时;默认 opencode-go / deepseek-v4-flash)
│ LLM 裁决 {risk, authorization, reason}
│ allow/deny 直接生效;ask 按 riskTolerance 映射
│ AI 报错/超时/输出非法 → failOpen(默认 ask → 人类)
└─ 4. 兜底:fallback(默认 ask → GUI 弹窗)
每次决策写入一行 JSONL 审计日志(默认 ~/.dsh/logs/approval.jsonl):工具名、命令预览、reason、判定来源(rule / ai / ai-error / fallback)、模式(mode)、风险、AI 理由、耗时。
审批模式(v0.2.0)
插件提供一个与 dsh 沙箱模式正交的审批模式维度,三种模式按需切换:
| 模式 | 名称 | 行为 | 场景 |
|---|---|---|---|