| name | windows-junk-cleaner |
| description | Windows 垃圾与磁盘清理助手,提炼自 Windows 原生清理动作语义,提供安全分级、可预览、可确认的脚本化清理流程。
Use when: 用户表达"磁盘满了""C盘没空间""清理垃圾""清缓存""回收站清空""释放空间""哪些东西占地方""帮我看看存储"
等清理/空间诉求,或明确要求执行回收站清空、临时文件清理、系统磁盘清理(cleanmgr)、组件存储清理(DISM Analyze/Clean/ResetBase)、
休眠文件关闭(powercfg)、卷影副本删除(vssadmin)、用户配置文件清理(WMI)、Mark-of-the-Web 标记移除、Prefetch 清理等动作。
NOT for: 文件恢复、磁盘分区/格式化、安全擦除(wipe)、非 Windows 平台、盲目全自动清理(无预览无确认)。
安全纪律:默认 dry-run 预览 + 进回收站,绝不静默永久删除;任何删除需用户明确指令,破坏性动作需 --yes + 对话二次确认(详见正文"强制纪律")。
|
| author | Siqi Liu |
| version | 1.0.0 |
| license | MIT |
| compatibility | claude-code, codex, openclaw, opencode |
| tags | ["windows","cleanup","disk-cleanup","maintenance","system","recycle-bin","temp-files","cache-cleanup","disk-space","ccleaner-alternative","windows-maintenance","磁盘清理","C盘空间","回收站","临时文件","缓存清理","释放空间","磁盘满了"] |
Windows Junk Cleaner
把 Windows 原生清理能力提炼成一套安全分级、可预览、可确认的脚本化清理流程。
强制纪律(每次调用前必读,优先级高于一切默认行为)
本 skill 涉及大量删除/系统改动操作。以下纪律不可妥协,任何情况下都必须遵守:
- 先预览,后执行:任何删除 / 清理 / 释放空间类操作(含
temp --apply、temp --purge、empty-recycle、prefetch --apply、motw --apply、dism-*、shadow、profiles、hibernate-off 等)执行前,必须先向用户输出完整预览:待处理项清单、总大小、分类、以及该操作的影响范围。预览用 dry-run(不加 --apply / --yes)产生。
- 等明确指令,绝不抢跑:预览后必须停下等待,直到用户发出明确、具体的删除指令(例如"执行
temp --purge"、"确认清空回收站")才可动手。严禁以"用户之前说过想做 X"、"用户已授权某方向"、"上一步已经预览过"等理由,自行推断授权并自动执行删除。每一次删除都必须有本次对话中用户 fresh 的明确指令。
- 个人文件单独标注:预览中若发现疑似用户自己的文件(如
_show_*.py、_test*.py、_verify_*.py 等调试脚本,或明显非系统垃圾的内容),必须单独列出并询问是否排除,不得混在"系统垃圾"里一并删。
- "进回收站"不等于释放空间:
temp --apply(不带 --purge)只是把文件从 Temp 挪到回收站,而回收站在 C 盘,磁盘占用一点没少。真正"释放空间"必须 --purge(永久删)或 empty-recycle(清空回收站)。这两步才是达成清理目标的动作,也因此需要最严格的确认。若误将文件移入回收站,用回收站"还原"恢复到原位即可,不要再次删除。
- 不覆盖、不静默失败:移动 / 恢复时若目标已存在则跳过(不覆盖);操作结果(成功 / 跳过 / 失败数)必须如实回报,不得隐藏。
核心认知(Windows 原生清理机制)
Windows 的清理机制没有自动识别垃圾的算法。它的清理逻辑是两类:
- 删用户选中的项(永久 / 进回收站)。
- 拉起 Windows 自带工具:
CLEANMGR.EXE、DISM /Cleanup-Image、ms-settings:storagesense、
SHEmptyRecycleBin、powercfg /hibernate off、WMI 删 Win32_ShadowCopy/Win32_UserProfile、appwiz.cpl。
"智能"在可视化(让你看清谁占空间),不在自动判垃圾。本 skill 把这套动作目录 + 安全编排提取为脚本,
由 AI 在对话中引导逐项确认执行,而非一键盲删。逐条映射见 references/windows_cleanup_mapping.md。
安全模型(强制)
| 等级 | 含义 | 默认行为 |
|---|
| SAFE | 可逆/非破坏(进回收站、系统自带工具、只读报告) | 可直接执行,仍建议预览 |
| MODERATE | 改系统但可恢复(DISM 清理、关休眠、清 Prefetch) | 需确认 |
| DESTRUCTIVE | 难恢复(DISM ResetBase、删卷影、删配置文件、永久删除) | 二次确认 + 显式 --yes |
铁律:
- 默认 dry-run:删除类动作先打印将影响的文件/大小,不实际改动,除非
--apply。
- 优先回收站(但注意不释放空间):
temp 默认进回收站,--purge 才永久删。进回收站只是挪位置,C 盘占用不变,真正释放空间需 --purge 或 empty-recycle(见"强制纪律"第 4 条)。
- 绝不静默永久删除:任何破坏性动作必须
--yes,且对话中需用户再次确认(Rule 10 双确认)。
- 需管理员权限的动作(DISM/vssadmin/powercfg/cleanmgr 完整)自动检测并提示。
快速开始
python scripts/cleanup.py report
python scripts/cleanup.py temp
python scripts/cleanup.py temp --apply
python scripts/cleanup.py cleanmgr
python scripts/cleanup.py dism-analyze
动作目录
| 命令 | 等级 | 等价 Windows 原生动作 | 说明 |
|---|
report | SAFE | — | 统计各垃圾类别占用,不改动 |
temp [--apply] [--purge] | SAFE→MODERATE | 临时文件清理 | 清 %TEMP% 与系统 Temp;默认预览+回收站 |
empty-recycle [--force] | MODERATE | SHEmptyRecycleBin | 清空回收站 |
cleanmgr | SAFE | CLEANMGR.EXE | 运行 CLEANMGR.EXE /verylowdisk |
storage-sense | SAFE | ms-settings:storagesense | 打开存储感知设置 |
motw --path <dir> [--apply] | SAFE | DeleteFile(":Zone.Identifier") | 移除 :Zone.Identifier 标记 |
prefetch [--apply] | MODERATE | — | 清 C:\Windows\Prefetch |
dism-analyze | SAFE | DISM /AnalyzeComponentStore | 只读分析组件存储 |
dism-clean [--yes] | MODERATE | DISM /StartComponentCleanup | 清理组件存储 |
dism-reset [--yes] | DESTRUCTIVE | DISM /ResetBase | ResetBase(不可卸载旧更新) |
hibernate-off [--yes] | MODERATE | powercfg /hibernate off | powercfg /hibernate off |
shadow [--yes] | DESTRUCTIVE | WMI Win32_ShadowCopy | 删全部卷影副本 |
profiles [--yes] | DESTRUCTIVE | WMI Win32_UserProfile | 删未加载用户配置文件 |
工作流(对话中遵循,五步顺序执行,任何一步不得跳过)
核心闸门:预览 → 停下等待 → 用户明确确认删除范围 → 才执行。AI 在预览之后必须物理上停止,
不得把"用户想清理"自动推导为"用户已授权本次删除"。每一次删除都需用户在本轮对话中 fresh 的明确指令。
第 0 步 — 只读摸底:report 看清占用,与用户对齐清理目标(清哪类、想释放多少)。
第 1 步 — 生成完整预览:对目标动作跑 dry-run,把完整清单交给用户。预览必须包含:
- 待处理项数量、总大小、分类(系统垃圾 / 疑似个人文件分开列);
- 该操作的影响范围(进回收站还是永久删、是否清空回收站全部、是否释放空间);
- 疑似个人文件(如 show.py、_test.py)单独高亮,提示可能需排除。
预览要落到用户可读处(控制台展示或写入文件供逐条核对),不得只说"已预览"三字。
第 2 步 — 停下等待(强制停止点):预览输出后,AI 必须停止任何执行动作,并明确提示:
"请你预览上述清单,确认删除范围。确认后我会执行。" 严禁在预览后自动接 --apply / --purge / --yes。
第 3 步 — 等待用户明确指令:用户必须发出具体指令,且指令须包含两项:
- (a) 执行哪个动作(如"执行 temp --purge""确认清空回收站");
- (b) 删除范围(全部 / 排除某几项,如"排除 show*.py")。
若指令模糊("继续""跑吧""按你建议来"),AI 不得推断为全域删除,必须回问澄清范围后才可执行。
第 4 步 — 执行:仅当用户指令同时满足 (a)+(b) 后才动手。DESTRUCTIVE 还需脚本 --yes + 对话二次确认(Rule 10 双确认)。
第 5 步 — 回报结果:如实回报成功/跳过/失败数;可再 report 对比释放空间。若误移文件入回收站,用还原恢复,不二次删除。
Resources
scripts/cleanup.py — 主工具,标准库实现,Windows 专用,无需第三方依赖。
references/windows_cleanup_mapping.md — Windows 原生清理动作 → 本 skill 命令的逐条映射与原理。
声明
本 skill 仅编排 Windows 自带清理能力,不替代官方工具,也不做数据恢复或安全擦除。
任何删除操作都有风险,最终决定与责任在用户。