垃圾清理大师 🧹
自动扫描磁盘,找出老文件、大文件、垃圾临时文件,生成 垃圾桶.md 供用户审核,确认后才执行清理。
工作流程
整个流程分为 3 个阶段,必须严格按顺序执行:
Phase 1: 扫描 → Phase 2: 生成垃圾桶.md → Phase 3: 用户确认后清理
Phase 1: 扫描磁盘
- 询问用户要扫描的路径(如
C:\Users\UncleC),如果用户未指定,默认扫描用户主目录
- 询问扫描参数(可选,提供默认值):
- 老文件天数:默认 180 天
- 大文件阈值:默认 100MB
- 快速模式:默认否
- 排除关键词:默认无(用户可指定排除特定项目,如 "hfish,WPS")
- 运行扫描脚本:
C:\Python314\python.exe "{SKILL_DIR}/scripts/scan_disk.py" "<扫描路径>" --old-days <天数> --large-mb <阈值MB> [--quick] [--exclude "关键词1,关键词2"] -o "<输出JSON路径>"
- 读取扫描结果 JSON,进入 Phase 2
Phase 2: 生成垃圾桶.md
根据扫描结果,在桌面生成 垃圾桶.md。
生成规则(按实操经验优化):
- 路径必须是 Windows 绝对路径格式(如
C:\Users\...)
- 每个路径独占一行,放在表格中
- 智能分组归类:属于同一项目的多个文件应合并为一组(如 hfish 蜜罐工具的整个 3.3.6 目录),标注项目名称和总大小
- 分类展示:缓存目录 → 垃圾临时文件 → 老文件(按项目分组) → 大文件(按用途分组) → 空文件夹
- 每类标注数量和总大小
- 大文件应按用途进一步分组:已安装的安装包 / 临时中间数据 / 测试环境缓存 / 视频缓存等
- 排除项区域:底部必须增加
⚠️ 已排除 区域,列出被排除的文件及原因
- 系统文件排除:Windows 系统文件(desktop.ini、ntuser.dat.LOG*、.regtrans-ms 等)不要列入清理列表,放入排除项区域
垃圾桶.md 格式模板:
# 🗑️ 垃圾桶 - 待清理清单
> ⚠️ 请仔细审核以下内容!删除前请确认这些文件确实不再需要。
> 修改规则:删除不想清理的行(整行删掉即可),保留的要清理的行不动。
> 修改完保存后,告诉我"确认清理"即可执行。
> 扫描时间:YYYY-MM-DD HH:MM
> 扫描路径:C:\Users\XXX
> 潜在可回收空间:X.XGB
---
## 📦 缓存目录(共 X 个,占 X.XX GB)
| 路径 | 大小 | 天数 |
|------|------|------|
---
## 🗂️ 垃圾临时文件(共 X 个,占 X.XX KB)
| 路径 | 大小 | 修改时间 |
|------|------|----------|
---
## ⏰ 老文件(超过 180 天未访问,共 X 组,占 X.XX GB)
### 📁 项目名称(~XXXMB,XXX天)
| 路径 | 大小 | 说明 |
|------|------|------|
---
## 🐋 大文件(超过 100MB,共 X 个,占 X.XX GB)
### 🔧 已安装的安装包(可安全删除,约 X.XGB)
| 路径 | 大小 | 修改时间 | 天数 | 说明 |
|------|------|----------|------|------|
### 🗃️ 临时/中间数据文件(约 X.XGB)
| 路径 | 大小 | 修改时间 | 天数 | 说明 |
|------|------|----------|------|------|
### 🧪 测试环境缓存(约 X.XGB)
| 路径 | 大小 | 修改时间 | 天数 | 说明 |
|------|------|----------|------|------|
### 🎬 视频/音频缓存(约 X.XGB)
| 路径 | 大小 | 修改时间 | 天数 | 说明 |
|------|------|----------|------|------|
---
## 🫙 空文件夹(共 X 个)
| 路径 |
|------|
---
## ⚠️ 已排除(不清理)
| 排除项 | 原因 |
|--------|------|
| XXX 相关文件 | 用户要求保留 |
| Windows 系统文件(desktop.ini、ntuser.dat.LOG* 等) | 系统关键文件 |
关键规则:
- 垃圾桶.md 必须包含完整的绝对路径,每行一个路径
- 路径不能模糊,必须精确到文件/文件夹级别
- 同一项目的多个文件必须合并展示(如
3.3.6 目录下的几十个文件归为一组)
- 缓存目录和大文件要特别标注,引起用户注意
- 告知用户:修改垃圾桶.md,删除不想清理的行,保留要清理的行
Phase 3: 用户确认后清理
- 等待用户修改垃圾桶.md 并回复"确认清理"(或类似意思)
- 如果用户要求排除某些文件/项目:
- 方式 A:直接修改垃圾桶.md,删除对应行
- 方式 B:告诉 AI 排除关键词,AI 更新垃圾桶.md
- 必须再次警告用户:
⚠️ 此操作非常危险,可能导致不可逆的数据丢失!
即将删除垃圾桶.md 中列出的所有文件/文件夹。
文件将移至回收站(可恢复),但仍请确认。
- 用户确认后,运行清理脚本:
C:\Python314\python.exe "{SKILL_DIR}/scripts/delete_trash.py" "<垃圾桶.md路径>" --output "<结果JSON路径>"
- 如需直接删除(不经过回收站),加
--no-recycle 参数(必须用户明确要求)
- 报告清理结果
安全规则(最高优先级)
- 绝不自动删除 — 必须等用户审核垃圾桶.md后明确确认
- 默认回收站 — Windows 下优先移到回收站,不直接删除
- 系统目录排除 — 扫描脚本已内置排除 Windows、Program Files 等系统目录
- 系统文件排除 — desktop.ini、ntuser.dat.LOG*、.regtrans-ms 等系统文件自动排除,放入"已排除"区域
- 小批次 — 如果文件很多,分批处理,每批最多 10 个
- 停止条件 — 任何删除失败立即停止,报告错误让用户决定
- 不做预测 — 不猜测文件用途,只报告客观信息(大小、天数、类型),让用户判断
- 排除关键词 — 支持
--exclude 参数,用户可指定排除包含特定关键词的路径
扫描脚本参数说明
scan_disk.py
| 参数 | 说明 | 默认值 |
|---|
| path | 扫描根路径(必填) | - |
| --old-days | 老文件天数阈值 | 180 |
| --large-mb | 大文件MB阈值 | 100 |
| --max-depth | 最大扫描深度 | 5 |
| --quick | 快速模式(扫描更少文件) | 否 |
| --exclude | 排除关键词(逗号分隔,路径包含则跳过) | 无 |
| -o | 输出JSON文件路径 | stdout |
delete_trash.py
| 参数 | 说明 | 默认值 |
|---|
| trash_md | 垃圾桶.md文件路径(必填) | - |
| --no-recycle | 直接删除不经过回收站 | 否 |
| --dry-run | 只列出不删除 | 否 |
| -o | 结果JSON输出路径 | 否 |
实操案例
以下是一个完整的实操流程示例,展示从扫描到清理的全过程:
场景:用户要求清理电脑垃圾
用户:帮我清理我的电脑垃圾
AI:加载垃圾清理大师 Skill,进入 Phase 1。
Phase 1:扫描
AI 询问扫描范围后,使用默认参数执行扫描:
C:\Python314\python.exe "{SKILL_DIR}/scripts/scan_disk.py" "C:\Users\UncleC" --old-days 180 --large-mb 100 -o "scan_result.json"
扫描结果摘要:
- 扫描文件数:7216
- 老文件:115 个
- 大文件:16 个
- 垃圾临时文件:18 个
- 空文件夹:30 个
- 潜在可回收空间:4.4GB
Phase 2:生成垃圾桶.md
AI 根据扫描结果智能分组归类,在桌面生成垃圾桶.md:
关键分组策略(实操验证):
- 老文件按项目合并:如 Desktop 下
3.3.6 目录含 50+ 个 hfish 蜜罐文件,全部归为"📁 hfish 蜜罐工具"一组,标注总大小和天数,而不是逐个列出
- 大文件按用途分组:
*.msi / *Setup*.exe → "已安装的安装包"(安全可删)
*.sql / 数据导出 → "临时/中间数据文件"(需确认)
torch/ / chromium/ / .dll → "测试环境缓存"(需确认)
*.mp4 / *.wav / *.bin → "视频/音频缓存"(需确认)
- 系统文件自动排除:desktop.ini、ntuser.dat.LOG* 等不列入清理,放入"已排除"区域
- 空文件夹排除 WPS 等:WPS 相关的空文件夹也放入排除区域
用户反馈排除
用户:排除掉 Hfish 与 WPS 相关的文件
AI 更新垃圾桶.md:
- 移除 hfish 相关(3.3.6 目录、hfish-server.exe、hfish.exe)
- 移除 WPS 相关(WPSDrive、WPS Cloud Files、WPS_Setup)
- 更新"已排除"区域,记录排除原因
- 更新可回收空间:4.4GB → 3.9GB
Phase 3:用户确认清理
用户:确认清理
AI 再次警告,用户确认后执行清理脚本,文件移至回收站。
垃圾桶.md 生成规则
- 路径必须是 Windows 绝对路径格式(如
C:\Users\...)
- 每个路径独占一行,放在表格中
- 分类展示:缓存目录 → 垃圾临时文件 → 老文件(按项目分组) → 大文件(按用途分组) → 空文件夹 → 已排除
- 每类标注数量和总大小
- 同一项目的多个文件合并为一组,标注项目名称、总大小、天数
- 大文件按用途细分:安装包 / 临时数据 / 测试缓存 / 视频缓存
- 底部必须有"已排除"区域
- 文件在桌面:
C:\Users\<用户名>\Desktop\垃圾桶.md
- 系统文件(desktop.ini、ntuser.dat.LOG*、.regtrans-ms)自动排除,不列入清理