dsh-command-guard
DSH plugin: pre-execute command guard that blocks disaster-tier deletions, escalates high-risk ones, and adds the careful-full-access preview/model-check deletion pipeline
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗dsh-command-guard
DeepSeek Harness(DSH)插件:命令守卫——在派发前判定每一条
pwsh/bash调用。 它分两个层次:插件本体做全模式灾难删除拦截(挂载即生效);patches/里附带的 harness 核心补丁(可选)注册careful-full-access审慎删除模式。 两者目标一致:把"解析错误的删除命令误删整个盘/工作区"这一类事故挡在执行之前。
English | 中文
两个层次
| 层次 | 内容 | 是否必须 |
|---|---|---|
| 第一层:命令守卫(本插件) | 灾难级删除在任何沙箱模式下拒绝、高风险走审批、审计与提示 | 挂载即生效,无需改核心 |
| 第二层:careful-full-access(harness 侧补丁) | 第四档沙箱模式:全权限体验 + 删除预演/二次确认 + 根对象防删 | 可选,git apply 核心补丁 |
SandboxMode 是 DSH 核心的枚举类型,第三方插件无法自行添加,因此第二层以补丁形式
随仓库发布,与插件代码版本配套。只想要灾难拦截的用户可以只用第一层。
第一层:命令守卫(插件本体,所有模式生效)
解决什么问题
AI 编码代理最大的无防护风险之一是误删:一条解析错误的
Remove-Item -Recurse -Force C:\ 在 danger-full-access(沙箱关、审批关)下会原样执行;
即使在默认的 workspace-write 模式下,整个工作区(含根目录)也可被一条递归删除命令清空。
本插件在工具派发前加一道命令语义守卫——它在任何模式下都生效,包括全权限。
功能
- 四级分级判定(对每条
pwsh/bash调用,派发前执行):- 灾难级 → 任何模式下都拒绝(含
danger-full-access):盘符根、根级通配 (X:\*)、UNC/\\?\扩展根、用户主目录、系统目录、工作区根、Format-*/Clear-Disk/Initialize-Disk/Remove-Partition、diskpart clean、 向受保护根robocopy /MIR、受保护根的递归.NET删除。 - 高风险 → 审批(审批策略为
never时自动拒绝):工作区外递归强制删除、 动态目标($var/$env:/iex)的递归删除、清空回收站、批量删除。 - 普通 → 放行:单个显式路径的非递归删除等。
- 无法解析 → fail-closed 审批:AST/词法失败与动态执行;
iex绝不漏过闸门。
- 灾难级 → 任何模式下都拒绝(含
- 审计与提示:每次非放行判定写入 log-only 的
command-guard/decision会话事件; 注册"删除纪律"系统提示段。 - 配置项:
extraProtectedPaths(追加受保护根)、analyzeTimeoutMs(辅助进程超时)、pwshPath、enablePrompt。