Disk cleaner
Skill iziqing/-disk-cleaner
WizTree + AI 智能磁盘清理 Agent skill
npx -y skills add iziqing/-disk-cleanerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 23 stars23 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
小白安全清理C盘(Windows)。当用户想清理C盘、磁盘空间不足、系统盘快满了、想安全释放空间时使用。WizTree扫描→模式库+知识库两层分析→清理方案经用户批复→备份后执行→观察期收尾。安全第一,不确定的一律不动。
SKILL.md
6.5 KB, as published. Nobody here has run it
/clean-c-drive Skill
利用 WizTree 的快速扫描能力和 AI 的智能分析能力,安全清理 C 盘垃圾文件。
安全铁律(任何情况下不可违背):
- 不确定用途的文件一律不动;用户说"不认识"的软件 → 列入红线并向用户询问。
- 任何权限模式下,清理方案都必须经用户确认后才执行——管理员权限只是免去手动跑脚本,不免审查(模式库认不出"用户常用但长得像垃圾"的东西)。
- 清理前必须备份(backup.py),备份失败则中止清理。
- 分析与出方案时必须对照
references/knowledge.md(安全红线清单 / 分层惯犯表 / 执行守则)。
工作流程
阶段 1: 检查权限和扫描数据
-
检查管理员权限:
powershell -Command "([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)" -
如果有管理员权限(返回 True):
- 检查技能目录
data/下是否有 24 小时内的扫描文件 - 没有则自动扫描(WizTree 路径自动探测:环境变量
WIZTREE_PATH→ 技能目录WizTree\→ Program Files → PATH):python "<技能目录>/scan.py" C:
- 检查技能目录
-
如果没有管理员权限(返回 False):
data/有现成数据就用;没有则提示用户:当前没有管理员权限,无法自动扫描。 请选择: 1. 以管理员权限重新启动 Claude Code(推荐,扫描/执行全自动) 2. 手动以管理员身份运行 WizTree,导出数据到 data 目录后再次运行此命令 (导出时"文件"和"文件夹"都要勾选;CSV 别存C盘)
阶段 2: 分析扫描数据
python "<技能目录>/analyze.py" "<csv_file>" --min-size 50
两层分析,缺一不可:
- 模式库快筛(analyze.py 自动完成):识别已知缓存/垃圾目录,按 高🔴/中🟡/低🟢 分级,红线目录已自动排除;
- 知识库逐案研判(AI 来做):模式库实测只能覆盖约 1/3 的可清理空间,剩下的大头——单个巨型转储、Chrome 端侧AI模型、软件多重安装、废弃应用数据、DISM 等系统官方机制可回收的空间——需要对照
references/knowledge.md对目录/大文件排行逐案判断。 - 预估要保守:WinSxS 与 System32 之间大量硬链接,目录合计大于实际占用是正常现象。
阶段 3: 生成清理方案(必须等用户批复)
向用户展示:
- 磁盘概况:总容量、已用、可用
- 可清理项分级列表:每项写清 路径 / 大小 / 是什么 / 删了会怎样 / 清理方式,逐条编号方便逐条批复
- 红线清单:明确列出本次绝不碰的内容
- 询问用户选择清理级别或逐条批复。未批复 = 不执行;沉默 ≠ 同意。
阶段 4: 备份待清理目录
在执行任何清理操作之前,必须先备份!
- 检查备份驱动器(自动选非C盘剩余空间最大的,最少需要 5GB):
python "<技能目录>/backup.py" drive - 创建备份(小于1GB直接复制,大于等于1GB压缩;生成 manifest.json):
注意:robocopy 备份会保留隐藏/系统属性,核对备份目录时要用python "<技能目录>/backup.py" create --paths "路径1" "路径2" --priority highGet-ChildItem -Force。 - 备份失败(空间不足等)→ 中止清理,提示用户处理。
阶段 5: 执行清理
- 有管理员权限:按批复方案执行,显示进度和逐项释放量
- 无管理员权限:生成
clean_<level>.ps1到技能目录,提示用户以管理员身份运行 - 执行前检查进程(生成的脚本已内置警告):浏览器 / VS Code / java(Gradle 守护进程)运行中会导致对应缓存清理不完整
- 生成的脚本已自动处理:清空目录时保留目录本身、排除
claude*(Claude Code 会话自身临时文件)、支持单文件目标
阶段 6: 验证和确认
清理完成后,询问用户系统是否正常:
清理已完成!请检查系统是否正常运行。
1. 系统正常 → 建议保留备份观察 7 天再删(有些问题当场看不出来,比如某应用下次启动才报错)
2. 出现问题 → 一键回滚,恢复备份
3. 稍后决定 → 保留备份,等待验证
- 回滚:
python "<技能目录>/backup.py" restore --id <backup_id> - 观察期满确认删除:
python "<技能目录>/backup.py" delete --id <backup_id>
阶段 7: 清理临时文件
清理任务完成后,询问用户是否删除扫描数据和生成的清理脚本:
python "<技能目录>/scan.py" --cleanup
将清理 data/*.csv 和 clean_*.ps1。
核心脚本
| 脚本 | 职责 | 常用命令 |
|---|---|---|
scan.py | WizTree 自动扫描(路径自动探测;默认导出文件行) | python scan.py C:、--latest、--cleanup、--folders-only |
analyze.py | 流式解析 CSV(兼容 GUI/CLI 导出与中英文列名)、模式库分级、生成清理脚本 | python analyze.py "<csv>" --min-size 50、--json、--output clean.ps1 --priority high |
backup.py | 备份/回滚(manifest.json 清单化) | drive / create / list / restore / delete |
可清理目录与安全红线
完整定义见两处(修改时保持同步):
analyze.py的CLEANABLE_PATTERNS(模式库)与EXCLUDE_PATTERNS(安全红线)references/knowledge.md(完整知识库:红线表 / Tier分层惯犯表 / 惯犯定位正则 / 执行守则)
WizTree 命令行参考
WizTree64.exe <drive> /export="<path>" /admin=1 /exportfolders=1 /exportfiles=1 /sortby=2 /exportdrivecapacity=1 /exportmaxdepth=0
为什么默认导出文件行(/exportfiles=1): 实测最大的清理收益常来自单个巨型文件——4.7GB 内核转储、4GB Chrome 端侧AI模型、GB 级半成品下载——只导出文件夹时它们全部隐身。CSV 会变大(可能几百MB),analyze.py 流式解析不受影响;确需小体积用 --folders-only。