Skip to content

Repository files navigation

🌐 语言 / Language: 中文 | English

Disk Cleaner TUI · 磁盘清理工具(终端面板)

Windows 终端内运行的磁盘清理工具(Python + Textual TUI)。 清理用户目录缓存、已卸载软件残留、C 盘系统垃圾,全程预览确认后再删、默认进回收站可恢复

🖥️ 宝塔风格多 Tab 终端界面 · 🌐 中英双语 · 🛡️ 白名单保护 + 回收站可恢复

💡 开发起源

这个程序源于我自己的真实困扰:日常开发 + 用 AI 辅助开发,日积月累产生了大量 编程语言包、工具链、缓存和垃圾数据(Yarn/npm/pnpm 缓存、Go 编译缓存、已卸载软件的 残留目录、几十 GB 的 WSL 虚拟磁盘……),C 盘空间被无声吃掉,却不知道哪些能删、 哪些不能删

于是我做了这个工具:用「可删 / 谨慎 / 保留」三级标注 + 白名单保护 + 回收站可恢复, 让清理变得安全可控——勾选 → 确认 → 进回收站,拿不准的就不动。

✨ 功能特性

Tab 功能
1 仪表盘 C 盘容量条、可清理汇总、回收站、WSL 压缩、主题切换、空间预警
2 一键清理 25 条分类缓存规则,勾选后清理(进回收站);推荐选择/仅安全项引导
3 AppData 按目录/按程序看占用;勾选『可删』项清理(程序视图只删缓存子目录,本体保留)
4 软件残留 强信号识别已卸载软件残留(AppData 候选 + Program Files 孤儿 + 回收站)
5 C盘占用 根目录 + 系统文件分析(pagefile/更新缓存/WinSxS),可删项可清理
6 大文件 扫描用户目录 ≥100MB 文件,只报告不删除
7 日志 清理历史记录(jsonl)
8 规则管理 每条清理规则的启停(YAML 配置)
9 白名单 受保护路径,永不清理(.ssh、凭据等默认内置)
0 已装程序 已安装程序全清单(注册表+开始菜单+ProgramFiles),只读可搜索

其他亮点:

  • 🎨 3 套主题:默认深蓝 / 微信绿 #07C160 / 腾讯蓝 #4582E6(官方设计系统色板)
  • 🌐 中英双语:自动检测系统语言,l 键或按钮切换,--lang en|zh|auto 命令行指定
  • ⌨️ 空格键选中:↑↓ 移动光标 → 空格 选中/取消(☐→☑),顶部实时显示选中项
  • 🔍 强信号残留检测:注册表 217+ 已装程序 ↔ exe 版本信息 ↔ AppData 目录交叉比对,误报率低
  • 📦 WSL 一键压缩:识别 WSL 虚拟磁盘(40G+),工具内直接 Optimize-VHD 压缩

📸 截图

Dashboard

🚀 快速开始

环境要求

  • Windows 10/11
  • Python 3.10+(推荐 3.12)

安装与运行

:: 1. 创建虚拟环境(建议放 D 盘或其他盘,不占 C 盘)
py -3.12 -m venv .venv
.venv\Scripts\python.exe -m pip install -r requirements.txt

:: 2. 普通启动
run.bat

:: 3. 管理员启动(可清理系统级项目 C:\Windows\Temp 等)
run-admin.bat

:: 4. 指定语言 / 干跑模式
.venv\Scripts\python.exe app.py --lang en
.venv\Scripts\python.exe app.py --dry-run

📖 使用指南

  1. 选择:↑↓ 移动光标,空格 选中/取消;一键清理页有「推荐选择」按钮一键勾选全部安全缓存
  2. 删除:点「清理/删除选中」→ 确认弹窗 → 进回收站(可恢复)
  3. 风险分级:🟢 绿=安全可勾(纯缓存)· 🟡 黄=谨慎(删后需重新登录/下载)· 🔴 红=不可删(系统文件/登录数据,无勾选入口)
  4. ? 查看完整帮助

🌐 多语言

  • 默认 lang: auto 按系统语言自动切换(中文系统→中文,其他→English)
  • 仪表盘「切换语言」按钮或 l 键切换(写入 config,重启生效)
  • python app.py --lang en|zh|auto 命令行指定

🛡️ 安全模型

  1. 全程确认后删:勾选 → 确认弹窗 → 进回收站(send2trash),绝不静默删除
  2. 白名单保护.ssh.git-credentials、NTUSER.DAT、Desktop 等永不清理 (realpath 解析 junction/symlink,防路径穿透)
  3. 风险分级:admin 级规则默认不勾选、非管理员自动跳过;回收站清空/WSL 压缩双重警告
  4. dry-run 模式--dry-run 只模拟不真删
  5. 安全审计见 SECURITY.md

📁 项目结构

app.py             Textual TUI(10 Tab)
core/
  i18n.py          中英文翻译字典 + 语言检测/切换
  themes.py        3 套主题(微信绿/腾讯蓝/深蓝)
  cleaner.py       删除执行(回收站/永久/清空,白名单拦截,注入防护)
  whitelist.py     白名单(realpath 规范化)
  rules.py         规则加载 + 后台并行扫描
  leftovers.py     已卸载软件残留检测(强信号)
  appdata.py       AppData 按目录/按程序分析
  cdisk.py         C 盘根目录分析
  installed.py     已装程序清单(注册表/开始菜单/ProgramFiles)
  wsl.py           WSL 虚拟磁盘压缩
  logger.py        清理历史日志
rules/*.yaml       25 条清理规则(YAML 配置,可增删)
config.yaml        白名单 / 语言 / 阈值配置

🛠️ 技术栈

  • Textual 8 — 终端图形界面(TUI)
  • psutil — 磁盘容量监控
  • send2trash — 删除进回收站(可恢复)
  • PyYAML — 规则与配置

📄 License

MIT License — 详见 LICENSE

About

No description, website, or topics provided.

Resources

Security policy

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages