# c-drive-cleaner **Repository Path**: phoooob/c-drive-cleaner ## Basic Information - **Project Name**: c-drive-cleaner - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-16 - **Last Updated**: 2026-05-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # C 盘清理助手 适用于 Windows 的 C 盘清理工具。**单文件 .exe,双击即用,无需安装,无需任何运行时**。 通过内置安全规则按白名单方式扫描可清理位置;可选启用大模型(Claude / DeepSeek / Kimi / 通义 / Ollama 等)对大文件做二次复核;删除全部进 Windows 回收站,可撤销。 --- ## 下载使用 只下载一个文件,双击运行,**用户端不需要装 Go、Node、Wails 或任何其它工具**。这些都是开发期工具,最终产物已经把所有运行依赖静态打进 exe。 | 版本 | 大小 | 适用场景 | |---|---|---| | `c-drive-cleaner.exe` | **12 MB** | 推荐。Win10 1809+ / Win11 用户开箱即用;老旧机器缺失 WebView2 时弹窗自动下载安装(联网) | | `c-drive-cleaner-offline.exe` | **14 MB** | 内嵌 WebView2 安装器,离线环境也能装好 WebView2,纯离线/内网/旧机推荐 | ### 关于 WebView2 WebView2 是 Windows 系统的网页渲染组件(不是 Go / Wails 运行时),由微软分发。Win11 100% 内置;Win10 1809 之后通过 Edge 自动装上,绝大多数用户已经有。两个版本的 exe 都不需要用户手动装 Go/Node/Wails —— 它们都是开发期工具。 ## 功能 - 🛡️ **白名单驱动扫描** — 只在已知安全位置扫描(浏览器缓存、Windows Temp、IDE/包管理器缓存、升级残留、回收站、崩溃转储等),不全盘遍历 - 🚦 **四级风险分组** - 🟢 安全:浏览器缓存、临时文件、已应用更新包,可放心清 - 🟡 中等:IDE/包管理器缓存、shader 缓存,建议审阅 - 🔴 危险:用户文档目录中的大文件,需逐项勾选 - ⚫ 受保护:`C:\Windows`、`Program Files`、`pagefile.sys` 等系统目录,永不动 - 🗑️ **回收站软删除** — 走 Windows Shell32 `SHFileOperationW + FOF_ALLOWUNDO`,可恢复 - 📦 **跨盘移动** — 自动推荐空间最大的非系统盘作为目标,支持目录递归移动(跨盘自动 copy+remove) - 🤖 **可选 AI 复核** — 对超阈值的大文件交 LLM 二次判断,AI 可推翻规则的初步决策 - 🧪 **Dry-Run** — 默认开启的试运行模式,让你先看清楚要清什么 - 📝 **操作日志** — 每次会话都写一份 JSONL 日志(`%APPDATA%\c-drive-cleaner\sessions\`) ## 使用 1. 下载 `c-drive-cleaner.exe`(或离线版 `c-drive-cleaner-offline.exe`) 2. 双击运行(无需管理员权限即可清理用户级缓存;清理 `C:\Windows\Temp` 等位置时若被拒,请右键 "以管理员身份运行") 3. 首次启动若提示安装 WebView2,点「确定」即可,应用会自动下载安装 4. (可选)在「设置」页配置 AI 提供商与 API Key —— 不配也能用,纯规则就足够 5. 回首页点「开始扫描」 6. 在审阅页确认要删/移的项 7. 点「执行」 > 默认开启 Dry-Run,第一次使用建议先跑一遍试运行看看会动哪些文件。 ## AI 配置(可选) | 提供商 | Base URL | Model 示例 | |---|---|---| | Anthropic Claude | (内置 `https://api.anthropic.com`) | `claude-haiku-4-5` / `claude-sonnet-4-6` | | DeepSeek | `https://api.deepseek.com` | `deepseek-chat` | | 月之暗面 Kimi | `https://api.moonshot.cn` | `moonshot-v1-8k` | | 阿里通义(OpenAI 兼容) | `https://dashscope.aliyuncs.com/compatible-mode` | `qwen-plus` | | Ollama 本地 | `http://localhost:11434` | `llama3` | API Key 用 AES-GCM 加密存到本地 `%APPDATA%\c-drive-cleaner\config.json`。 ## 安全设计 - 所有删除走 Windows 回收站,可恢复 - 系统目录(`C:\Windows`、`Program Files`、`ProgramData\Microsoft`)默认禁动;`pagefile.sys` / `hiberfil.sys` / `swapfile.sys` 永不动 - 默认开启 Dry-Run - 内置规则按"已知安全 + 已知禁止"双白名单设计,**不存在"AI 直接决定是否删系统文件"**这种路径 ## 从源码构建(开发者) > 终端用户不需要看这段。下面是给"想自己改代码 + 重新打包"的开发者看的。 依赖:Go 1.23+、Node 18+、Wails CLI v2。 ```sh # 一次性装好 wails CLI go install github.com/wailsapp/wails/v2/cmd/wails@latest # 在仓库根目录 make deps # 同步 Go + 前端依赖 make build-win # 输出 c-drive-cleaner.exe(12 MB,依赖系统 WebView2) make build-win-offline # 输出 c-drive-cleaner-offline.exe(14 MB,内嵌 WebView2 安装器) make test # 跑单测 make dev # 启动热重载开发模式 ``` 完整 target 列表见 `make help`。 ## 模块划分 | 包 | 职责 | |---|---| | `internal/platform` | 平台抽象(Windows Shell32 / 磁盘容量 / 已知文件夹) | | `internal/rules` | 清理规则定义 + 内置规则集 | | `internal/scanner` | 按规则并发扫描候选项 | | `internal/decision` | 规则决策 + LLM 复核 | | `internal/llm` | LLM 客户端(Anthropic + OpenAI 兼容,直调 HTTP) | | `internal/executor` | 回收站删除 / 跨盘移动 / Dry-Run | | `internal/journal` | 操作日志(JSONL) | | `internal/config` | 配置 + API Key AES-GCM 加密 | ## 已知限制 - 跨盘移动大目录时为 copy+remove,中途断电可能产生半成品(journal 会记录) - LLM 调用串行,超大批量候选项的复核耗时较长 - 没有"应用内一键撤销"按钮 —— 撤销请直接打开 Windows 回收站 - macOS 端用于开发预览:`MoveToRecycleBin` 在非 Windows 平台返回 `ErrUnsupported` ## 许可 MIT