WizTree 磁盘清理器 是做什么的?
使用 WizTree 作为磁盘使用情况的事实依据,并将分析、审批、执行和验证步骤严格分离。在报告中使用用户所使用的语言。
不可协商的安全关卡
- 默认为仅分析模式。在导入或审查 CSV 数据期间,不得修改磁盘。
- 将 Tier 1 视为低风险,而非免审批。要求用户明确批准每一次删除操作。
- 绝不可从诸如“清理我的磁盘”之类的笼统请求中推断用户已批准。请先展示确切的目标和操作。
- 绝不可执行从模型文本中直接复制的删除命令。请使用
scripts/New-CleanupPlan.ps1构建计划,显示其plan_id,并且仅在用户确认该确切计划后才执行。 - 拒绝使用通配符、相对路径、驱动器根目录、广泛的用户配置文件根目录、系统目录、程序目录以及 Tier 3 目标。
- 不要根据一台机器上导出的 CSV 来清理另一台正在运行的机器。除非确认了本地路径存在和机器作用域,否则仅进行分析。
- 未经用户请求,不要下载或安装 WizTree。不要随此技能重新分发 WizTree 可执行文件。
- 全程仅使用原生的 PowerShell 文件操作。在执行递归删除之前,立即重新验证规范目标。
在分类或批准目标前,请阅读 references/safety-policy.md。在导出或解析 WizTree 数据时,请阅读 references/wiztree-csv.md。
工作流程
1. 获取当前 CSV 文件
优先使用从当前机器和当前磁盘状态导出的 CSV。
- 如果用户已有导出文件,记录其绝对路径和时间戳。
- 如果已安装 WizTree 且用户希望自动化,则运行
scripts/Export-WizTree.ps1。 - 否则,指导用户在 WizTree 中扫描目标驱动器并使用其官方 CSV 导出功能。
当 CSV 导出可用时,不要将屏幕截图作为规范清单。
2. 生成第一份报告
运行:
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/Analyze-WizTreeCsv.ps1 `
-CsvPath <absolute-csv-path> `
-OutputDirectory <absolute-report-directory>
将生成的 JSON 作为机器可读取的证据,将 Markdown 报告作为面向用户的记录。如果需要添加额外叙述,请参考 assets/cleanup-report-template.md 中的结构。
在建议清理之前,请验证以下几点:
- 从文件行中计算已分配字节数;不要对嵌套文件夹总计求和。
- 将带有 WizTree 前导零标记的硬链接分配值视为零额外分配。
- 区分缓存与仅存储在缓存名称下的用户创建内容。
- 明确标记不确定性。当证据不完整时,将项目移至更高风险层。
3. 调查 Tier 2
在呈现每个具体的 Tier 2 候选对象之前对其进行审查。在可能的情况下,检查:
- 所属应用程序或 Windows 组件;
- 该应用程序或服务当前是否正在运行;
- 修改时效性以及文件是否正在被积极更改;
- 该应用程序是否提供自己的清理命令;
- 重新生成成本、登录影响、离线影响和恢复选项;
- 确切路径、建议操作、估计字节数和预期的副作用。
优先使用应用程序原生清理、Windows 存储设置、磁盘清理、包管理器缓存命令或文档化的服务感知流程,而不是原始删除操作。
4. 获取逐项批准
首先呈现 Tier 1。对于每个可选择的项目,请包含:
- 确切路径;
- 操作:
clear_directory_contents或delete_file; - 层级和原因;
- 估计的可回收字节数;
- 显著的副作用。
从 assets/approval-manifest.example.json 创建批准清单。仅包含用户明确选择的项目,并将 approved 设置为 true。
5. 预览并绑定计划
运行:
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/New-CleanupPlan.ps1 `
-ApprovalFile <approval-json> `
-PlanFile <plan-json>
显示已验证的项目、估计总数、被拒绝的项目以及 plan_id。如果任何目标比用户的选择更广泛或与报告不同,则停止。
6. 仅执行已确认的计划
在用户确认显示的 plan_id 后,运行:
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/Invoke-ApprovedCleanup.ps1 `
-PlanFile <plan-json> `
-ConfirmPlanId <confirmed-plan-id> `
-Execute
如果不带 -Execute 参数,该脚本仅执行空运行。在对话中看到确切的计划确认之前,切勿添加 -Execute。
7. 验证并更新报告
- 记录成功、跳过、失败以及审计日志路径。
- 分别记录估计的删除字节数和观察到的可用空间变化;后台活动可能导致它们不同。
- 在可行时重新导出或重新扫描 WizTree。
- 更新 Markdown 报告的执行历史记录和剩余的 Tier 2 选项。
- 重复 Tier 2 的批准周期。绝不可将 Tier 3 提升为可执行计划。
资源映射
scripts/Export-WizTree.ps1:调用官方 WizTree CSV 导出。scripts/Analyze-WizTreeCsv.ps1:流式处理导出并生成 JSON 和 Markdown。scripts/New-CleanupPlan.ps1:验证选定的目标并创建一个完整性绑定的计划。scripts/Invoke-ApprovedCleanup.ps1:重新验证并执行已确认的计划,附带 JSONL 审计日志记录。references/safety-policy.md:分类和删除边界。references/wiztree-csv.md:官方导出语义和解析器期望。assets/cleanup-report-template.md:报告结构。assets/approval-manifest.example.json:批准输入模式。