zdjmrq/dsh-careful-full-access ↗★ 0
dsh-careful-full-access
DSH plugin: careful-full-access-only command guard — static tiering, WhatIf scope resolution, model-check review (intent/safety/scope), danger-marked human confirmation, and a rotated audit log
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗dsh-careful-full-access
DeepSeek Harness(DSH)插件:命令守卫——只在
careful-full-access模式下生效, 在派发前判定每一条pwsh/bash调用:静态分级 + WhatIf 范围解析 + model-check 三问复核 + 灾难级红色人工确认 + 轮转文件审计。目标:把"解析错误的删除命令误删整个盘/工作区" 这一类事故挡在执行之前。
careful-full-access是 DSH 核心的沙箱枚举,第三方插件无法自行添加,因此本仓库附带patches/careful-full-access.patch(对 DSH 源码树的核心补丁,与插件代码版本配套)—— 应用补丁后守卫才有可触发的模式,两者共同构成完整功能。
English | 中文
两个部分
| 部分 | 内容 | 关系 |
|---|---|---|
| 守卫插件(本仓库 src/) | careful 模式下的分级、复核、确认与审计 | 需要 careful 模式存在才有行为 |
| harness 核心补丁(patches/) | SandboxMode 第四档、权限预设、UI 档位与图标、审批红色标注链路、ACL 根防删 | git apply 后注册 careful 模式 |
解决什么问题
AI 编码代理最大的无防护风险之一是误删:一条解析错误的
Remove-Item -Recurse -Force C:\ 在 danger-full-access(沙箱关、审批关)下会原样执行;
即使在默认的 workspace-write 模式下,整个工作区(含根目录)也可被一条递归删除命令清空。
本插件给 DSH 增加第四档沙箱模式 careful-full-access:文件权限等同全权限(用户要的
"全权限体验"),但每一条删除命令先"预演给你看、模型复核、确认了才真删"。守卫只在
该模式下介入——workspace-write 由沙箱自身约束,danger-full-access 是用户明确的放手选择,
两者都不被二次猜疑。
功能
- 静态四档分级(对每条
pwsh/bash调用,派发前执行):- normal → 放行:非破坏性命令,以及
git rm --cached/-n(只操作索引,不删工作区文件)。 - elevated → model-check:所有删除/格式化/镜像动词——单个显式删除、
git clean、git reset --hard、清空回收站、动态目标的递归删除、批量删除。 - disaster → model-check 且永不自动放行:盘符根、根通配(
X:\*)、UNC/\\?\根、 用户主目录、系统目录、工作区根、Format-*/Clear-Disk/Initialize-Disk/Remove-Partition、diskpart clean、向受保护根robocopy /MIR、受保护根的递归.NET删除。 - unparseable → 按 disaster 对待:AST/词法失败与动态执行;
iex绝不漏过闸门。
- normal → 放行:非破坏性命令,以及
- WhatIf 真实范围:pwsh 删除命令先以
$WhatIfPreference = $true干跑——通配、变量、$env:由 PowerShell 自己展开,守卫的解析不可能成为误读的那一环;递归目录目标再补一次 只读子树枚举。干跑解析到受保护根时升级为 disaster 档。