Skill: unclecheng-li/unclecheng-garbage-cleanup-master-cn (version 1.0.0)

--- name: 垃圾清理大师 description: "磁盘垃圾清理助手。自动扫描磁盘找到老文件、大文件、垃圾文件，生成垃圾桶.md让用户审核确认后再清理。触发词：清理垃圾、清理磁盘、清理硬盘、扫描垃圾、垃圾文件、老文件、大文件、磁盘清理、空间不足、清理缓存、垃圾清理大师" description_zh: "磁盘垃圾清理助手，扫描老文件和大文件，生成审核清单后安全清理" description_en: "Disk junk cleaner - scan old/large files, generate review list, then safe cleanup" version: 1.1.0 --- # 垃圾清理大师 🧹 自动扫描磁盘，找出老文件、大文件、垃圾临时文件，生成 **垃圾桶.md** 供用户审核，确认后才执行清理。 ## 工作流程 整个流程分为 3 个阶段，**必须严格按顺序执行**： ``` Phase 1: 扫描 → Phase 2: 生成垃圾桶.md → Phase 3: 用户确认后清理 ``` ### Phase 1: 扫描磁盘 1. 询问用户要扫描的路径（如 `C:\Users\UncleC`），如果用户未指定，默认扫描用户主目录 2. 询问扫描参数（可选，提供默认值）： - 老文件天数：默认 180 天 - 大文件阈值：默认 100MB - 快速模式：默认否 - 排除关键词：默认无（用户可指定排除特定项目，如 "hfish,WPS"） 3. 运行扫描脚本： ```bash C:\Python314\python.exe "{SKILL_DIR}/scripts/scan_disk.py" "<扫描路径>" --old-days <天数> --large-mb <阈值MB> [--quick] [--exclude "关键词1,关键词2"] -o "<输出JSON路径>" ``` 4. 读取扫描结果 JSON，进入 Phase 2 ### Phase 2: 生成垃圾桶.md 根据扫描结果，在**桌面**生成 `垃圾桶.md`。 **生成规则（按实操经验优化）：** 1. 路径必须是 Windows 绝对路径格式（如 `C:\Users\...`） 2. 每个路径独占一行，放在表格中 3. **智能分组归类**：属于同一项目的多个文件应合并为一组（如 hfish 蜜罐工具的整个 3.3.6 目录），标注项目名称和总大小 4. 分类展示：缓存目录 → 垃圾临时文件 → 老文件（按项目分组） → 大文件（按用途分组） → 空文件夹 5. 每类标注数量和总大小 6. 大文件应按用途进一步分组：已安装的安装包 / 临时中间数据 / 测试环境缓存 / 视频缓存等 7. **排除项区域**：底部必须增加 `⚠️ 已排除` 区域，列出被排除的文件及原因 8. **系统文件排除**：Windows 系统文件（desktop.ini、ntuser.dat.LOG*、.regtrans-ms 等）不要列入清理列表，放入排除项区域 垃圾桶.md 格式模板： ```markdown # 🗑️ 垃圾桶 - 待清理清单 > ⚠️ 请仔细审核以下内容！删除前请确认这些文件确实不再需要。 > 修改规则：删除不想清理的行（整行删掉即可），保留的要清理的行不动。 > 修改完保存后，告诉我"确认清理"即可执行。 > 扫描时间：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: 用户确认后清理 1. 等待用户修改垃圾桶.md 并回复"确认清理"（或类似意思） 2. 如果用户要求排除某些文件/项目： - 方式 A：直接修改垃圾桶.md，删除对应行 - 方式 B：告诉 AI 排除关键词，AI 更新垃圾桶.md 3. **必须再次警告用户**： > ⚠️ 此操作非常危险，可能导致不可逆的数据丢失！ > > 即将删除垃圾桶.md 中列出的所有文件/文件夹。 > 文件将移至回收站（可恢复），但仍请确认。 4. 用户确认后，运行清理脚本： ```bash C:\Python314\python.exe "{SKILL_DIR}/scripts/delete_trash.py" "<垃圾桶.md路径>" --output "<结果JSON路径>" ``` 5. 如需直接删除（不经过回收站），加 `--no-recycle` 参数（**必须用户明确要求**） 6. 报告清理结果 ## 安全规则（最高优先级） 1. **绝不自动删除** — 必须等用户审核垃圾桶.md后明确确认 2. **默认回收站** — Windows 下优先移到回收站，不直接删除 3. **系统目录排除** — 扫描脚本已内置排除 Windows、Program Files 等系统目录 4. **系统文件排除** — desktop.ini、ntuser.dat.LOG*、.regtrans-ms 等系统文件自动排除，放入"已排除"区域 5. **小批次** — 如果文件很多，分批处理，每批最多 10 个 6. **停止条件** — 任何删除失败立即停止，报告错误让用户决定 7. **不做预测** — 不猜测文件用途，只报告客观信息（大小、天数、类型），让用户判断 8. **排除关键词** — 支持 `--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 询问扫描范围后，使用默认参数执行扫描： ```bash 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： **关键分组策略（实操验证）：** 1. **老文件按项目合并**：如 Desktop 下 `3.3.6` 目录含 50+ 个 hfish 蜜罐文件，全部归为"📁 hfish 蜜罐工具"一组，标注总大小和天数，而不是逐个列出 2. **大文件按用途分组**： - `*.msi` / `*Setup*.exe` → "已安装的安装包"（安全可删） - `*.sql` / 数据导出 → "临时/中间数据文件"（需确认） - `torch/` / `chromium/` / `.dll` → "测试环境缓存"（需确认） - `*.mp4` / `*.wav` / `*.bin` → "视频/音频缓存"（需确认） 3. **系统文件自动排除**：desktop.ini、ntuser.dat.LOG* 等不列入清理，放入"已排除"区域 4. **空文件夹排除 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 生成规则 1. 路径必须是 Windows 绝对路径格式（如 `C:\Users\...`） 2. 每个路径独占一行，放在表格中 3. 分类展示：缓存目录 → 垃圾临时文件 → 老文件（按项目分组） → 大文件（按用途分组） → 空文件夹 → 已排除 4. 每类标注数量和总大小 5. 同一项目的多个文件合并为一组，标注项目名称、总大小、天数 6. 大文件按用途细分：安装包 / 临时数据 / 测试缓存 / 视频缓存 7. 底部必须有"已排除"区域 8. 文件在桌面：`C:\Users\<用户名>\Desktop\垃圾桶.md` 9. 系统文件（desktop.ini、ntuser.dat.LOG*、.regtrans-ms）自动排除，不列入清理


Security scan verdicts — ClawScan: malicious | static analysis: clean | VirusTotal: clean | SkillSpector:  ()