前言¶
DSH 采用插件架构,插件的装卸会在 .dsh/、Nuke 目录、系统 TEMP 等处留下残留。手工清理容易误删,脚本清理不可逆,出了事无从追溯。本插件通过数据库级的纪律来做这件事,提供可验证、可撤销、可审计的清理能力。
核心能力¶
插件将“删除插件并清理残留”包装成一套事务系统。每个动作自带 validate / preview / execute / undo 闭环,目录删除采用原子改名进回收区的方式,commit 后才允许物理删除。
事务与恢复¶
nuke_clean 执行时,若失败会自动进行 Saga 回滚。插件支持 WAL 预写日志,配合 nuke_recover 可以扫描未终结事务的 WAL,反向补偿恢复到执行前状态。
安全原则¶
安全机制基于以下原则设计:
* fail-closed:校验器/健康检查自身失败时同样拒绝操作。
* 路径 Containment:所有路径操作限制在授权目录内,txId 白名单防止注入。
* TOCTOU 复验:分析与执行是两个时刻,执行前重验文件指纹(size + SHA-256 + mtime)。
* 诚实记账:硬链接去重不虚增 bytesSaved。
* 保护名单:作为引擎 pre-hook veto,超限即拒绝。
* 回收区代替物理删除:commit 后才允许 purge。
审计与校验¶
插件维护 hash chain 审计日志,任何篡改均可被 nuke_verify 检出。安装后工具注册为 dsh Agent 工具,可直接调用。
安装与启用¶
执行以下命令安装插件:
dsh plugin add beijingwahw/dsh-nuke-plugin --profile web
典型用法¶
预演与执行¶
- 扫描现状:使用
nuke_scan列出 profile 下已安装的第三方插件,获取可回收空间统计与五因子评分。 - 先知推演:使用
nuke_oracle进行先知推演,基于历史数据预测事务成功率、期望回收与最脆弱步骤。 - 风险评估:使用
nuke_blastradius进行爆炸半径沙盘推演,评估删除对其他组件的级联影响。 - 预演:使用
nuke_clean --dry_run true查看计划,不实际修改文件。 - 执行:使用
nuke_clean执行清理,失败自动回滚,全程记录审计链。
崩溃后恢复¶
如果在清理途中发生崩溃,先使用 nuke_status 查看未终结事务。使用 nuke_recover 扫描未终结事务的 WAL,反向补偿恢复。最后使用 nuke_verify 校验审计链完整性。
进阶特性:自我学习的智能引擎¶
插件具备贝叶斯自学习能力,能够根据历史执行数据修正预测。
智能决策¶
V5.6 引入了 Thompson 探索(后验采样决策)与 CVaR₁₀ 下行风险模型。
* Thompson 探索:通过后验采样决策,避免“富者愈富”,为数据少的动作提供执行机会。
* CVaR₁₀:计算最差 10% 情形下的平均回收,诚实回答“最坏情形我能接受吗”。
自我校准¶
V5.5 增加了自我校准机制。插件通过 Brier 技能分与 logit 位移,从已对账的(预测,结局)对中学习系统性偏差,动态修正未来预测,使先知引擎的数字更加可信。
结语¶
该插件为 DSH 插件管理提供了工业级的清理与恢复能力。使用前请确保安装命令正确,并检查源码与许可证。