Communitygithub.com

WizTree 磁盘清理器

一个带有安全关卡机制的智能体技能,用于分析 WizTree CSV 导出文件并以分阶段、可审计的方式清理 Windows 磁盘。

WizTree 磁盘清理器 是什么?

WizTree 磁盘清理器是一个为 AI 代理设计的技能,旨在通过 WizTree CSV 导出数据安全地分析和回收 Windows 磁盘空间。该技能强制执行严格的安全关卡,确保操作完全透明和可控:默认情况下仅进行分析,所有删除操作都需经过显式用户批准,使用不可篡改的计划文件,并拒绝以通配符、根路径或系统目录为目标。它支持在 Windows 上使用 PowerShell 原生命令进行操作工作流,包括通过 `scripts/Export-WizTree.ps1` 获取 CSV 导出、通过 `scripts/Analyze-WizTreeCsv.ps1` 进行分析和报告生成、通过 `scripts/New-CleanupPlan.ps1` 创建计划,以及通过 `scripts/Invoke-ApprovedCleanup.ps1` (带 JSONL 审计日志记录)执行已批准的操作。该技能通过自动报告分析生成分层的分类方案(Tier 1、Tier 2、Tier 3),并优先使用应用原生清理或 Windows 存储设置工具,而不是原始文件删除。对于 AI 代理用户和开发者来说,这套技能显著降低了自动磁盘清理的风险,将可能造成破坏性的操作变成了一个可审计、可逆且用户可验证的过程。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add CH-ZHOU-0512/wiztree-disk-cleaner

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

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:批准输入模式。

相关技能