别再手动删微信文件了!这款AI扫盘工具,能告诉你“这个文件夹能不能删”.Pinkbin 扫盘 · 看懂 · 一条一条删干净。 磁盘扫描 + 清理 Agent(Tauri 2 + React + Rust) Pinkbin 是一款开源磁盘清理工具。它能够秒扫整盘并直观展示空间分配。当你遇到不认识的文件夹时,可以将其直接拖给 AI,让它告诉你这是什么、能不能删、删了会丢失什么。最后,你可以按 scope 逐项放心删除——所有删除默认进入系统回收站,且永远不会读取你的文件内容。 |
📦 下载 | | |
|---|
| Windows 10 / 11 (x64) | | 首次启动 SmartScreen 拦截:点 "更多信息" → "仍要运行"。NTFS MFT 直读需要管理员权限,安装包带 manifest 自动触发 UAC。 | | macOS / Linux | | 目前 macOS 还没有签名证书,Linux 也没在真实机器上验过。你可以自己使用 `pnpm tauri build` 编译。等后续有签名通道和真机验证后会补全 release 矩阵(欢迎 PR)。 |
|
🎯 看效果 | 实际使用:扫完 D 盘后拖文件夹给 AI + 展开 Studio。 左栏:D:\ 树状视图(每行带占用百分比条)。 中栏:拖拽 `D:\steam\steamapps` 给 AI,AI 将使用 Markdown 回答这是什么、能不能删。 右栏:Studio 卡片展开 Conda packages cache(例如:5.12 GB · 150,867 文件)。 初始空态:还没扫描时的三栏布局。 顶部支持 "选择磁盘或文件夹",点击扫描后才会呈现内容。 右侧 Studio 会在扫描前认出 WeChat / Conda 两个脚本(若脚本默认路径还没扫到,会显示为 "未扫到" 状态)。 |
✨ 三件事 | Pinkbin 只做三件事:简单、简单、还是 TMD 简单! 1. 把磁盘空间分配看清楚 Windows 上直读 NTFS Master File Table (MFT)(其他平台用 `jwalk` 跨平台 walker 兜底),整盘 C: 仅需 2–5 秒即可扫完。生成彩色 treemap + 单行 22px 高的树视图,让你一眼看到诸如 `D:\xwechat_files` 占了 80GB,或 `C:\Users\<用户>\AppData\Local\Docker` 占了 50GB。 2. 拖拽到中间 AI 分析“这个文件夹是什么” 遇到不认识的文件夹?把它从左边树或右边路径拖进中间聊天框,AI 会解释这是什么、能不能删、删了会丢失什么。 • BYOK 模式:需要你自行提供 Anthropic / OpenAI / Gemini的 Key,或者在本地运行 Ollama(完全免费)。 • 隐私安全:Pinkbin 只发送目录元数据给 AI(包括:路径名、大小、文件数、扩展名占比、最多 20 条样本路径),永远不会读取和上传文件内容。 3. 已知应用走专属清理脚本 针对大众化、占空间大、清理边界清楚的应用,项目提供专属清理脚本(一份 TOML + 一份 Rust 集成测试),用户可以在 Studio 卡片里直接按 scope 单独进行清理。目前已支持: • 微信 PC 端(3.x + 4.x 双兼容):包含 22 个 scope,可清缓存/接收媒体/聊天备份,永不动聊天DB / 收藏 / 朋友圈 / CustomEmotion。• Conda 环境:整目录回收过期环境(`conda-meta/history` 修改时间 mtime > 90 天),base 环境灰显不可勾选。 💡 未来规划支持:Steam shadercache · Chrome 缓存 · Docker buildx · HuggingFace 模型 · npm/pnpm/pip cache · OBS 录像 · IDE 索引等。为什么砍掉了之前那 36 个 legacy scaffold? 因为没人验证过 glob 边界,存在误删风险(例如:旧版 node-modules 容易误命中 Cursor / VSCode / 游戏内嵌的 node_modules)。🛡️ 安全保障:所有删除默认进入系统回收站,可恢复。每一次操作都会写入 `~/.pinkbin/undo.jsonl`,并可选 7 天隔离区(quarantine)。 |
🚀 怎么用 | 1. 下载安装包(见上方下载部分),双击安装,桌面会出现 Pinkbin 图标。 2. 打开应用 → 点击右上角 ⚙ 配置 AI —— 填入 LLM 的 API Key。 3. 顶部点击 “选择磁盘或文件夹” → 点击扫描 —— 2-5 秒后看到 treemap 和目录树。 4. 遇到陌生大文件夹 —— 拖到中间聊天框询问 AI;或者右侧 Studio 已经认出的软件(微信、Conda)直接在面板中看清理选项。 5. 删除前须知:目前官方仅提供 WeChat 和 Conda 的清理脚本(可自动无风险清理)。其他的请自行确认,“宁可错放 1000GB,不可错删一个文件”。 |
🏗️ 架构 | 如需查看通俗易懂的非术语人话解释,请参阅:📖 docs/ARCHITECTURE.md ┌────────────────────┐ ┌─────────────────────┐ │ React + Tauri │────> │ Rust workspace │ │ (前端 UI) │<────│ (4 crates) │ └────────────────────┘ └──────────┬──────────┘ │ ┌─────────────────┬───────────────┼──────────────┬──────────────┐ │ │ │ │ │ ┌────▼────┐ ┌─────▼──────┐ ┌─────▼─────┐ ┌─────▼────┐ ┌─────▼──────┐ │ scanner │ │ scaffold │ │ executor │ │ advisor │ │scaffold-lint│ │NTFS MFT │ │ TOML 加载 │ │ Recycle/ │ │ AI 顾问 │ │ CI 校验 │ │ + jwalk │ │ + globset │ │ Quarant. │ │ 4 协议 │ │ │ └─────────┘ └────────────┘ └───────────┘ └──────────┘ └────────────┘ 前端层:React 18 + TypeScript + Tauri 2 + react-markdown 后端层:Rust workspace(4 crates)+ Tauri IPC 扫描器:Windows 下直读 NTFS MFT(使用 ntfs crate) / 跨平台使用 jwalk AI 顾问:BYOK 架构,兼容 Anthropic、OpenAI、Gemini、Ollama 四种协议 数据存储:用户本机 ~/.pinkbin/(存储 undo.jsonl + quarantine/),绝不上云 |
🗺️ 路线图 | ✅ 整盘秒扫,查看每个文件夹的占用大小 ✅ 拖拽任意文件夹给 AI 询问 “这是什么、能不能删” ✅ 微信、Conda 一键清理支持 ⏳ 增加 “撤销” 按钮,删错了能一键找回 ⏳ 引入更多常见软件:Steam、Chrome、Docker、npm/pip、HuggingFace、OBS、各种 IDE 缓存等 ⏳ 推出 macOS / Linux 的预编译版本(需解决签名及真机验证) ⏳ 允许用户自己编写并分享清理脚本 |
🤝 参与贡献(帮帮孩子吧) | 目前最有价值的贡献是编写新的清理脚本。每增加一个 App 支持即为一个 PR,流程如下: 1. 在 docs/scaffold-requirements/ 编写需求文档(确立红线清单:是否包含聊天DB?账号Key?用户收藏?)。 2. 在你的机器上运行该 App,使用 Glob 列出真实的目录结构,找出 cache 与用户数据的边界。 3. 参照 scaffolds/_templates/scaffold.toml 编写 TOML 规则文件。 4. 参照 crates/scaffold/tests/_templates/scaffold_safety.rs 编写安全测试(包含正向断言 + 红线断言,CI 必跑,无测试不予合并)。 5. 运行 pnpm tauri dev 并在目视下确认卡片渲染效果。 6. 提交 PR,模板会自动带出 14 项 checklist。 💡 Claude Code 用户福利:可以直接在仓库根目录输入 /add-scaffold <id>,一键启动 14-phase 工作流。详细流程见 .claude/commands/add-scaffold.md。 |
💻 开发指南 | git clone https://github.com/cccyd2003-qwq/pinkbin.git && cd pinkbin pnpm install pnpm tauri dev pnpm -C apps/desktop dev cargo test --workspace 环境要求:Node 20+ · pnpm 9+ · Rust stable · Tauri 前置依赖(Windows 上需要安装 VS Build Tools 2022 + WebView2)。 |
🙏 致谢 | 灵感来源 • WizTree —— NTFS MFT 直读思路与速度标杆• SpaceSniffer —— treemap 可视化先驱• CleanMyWechat —— 微信清理脚本范本,提供主要的 messaging 需求文档参考• SquirrelDisk —— Tauri + Rust 实现参考 项目基石 • 开源依赖:Tauri · d3-hierarchy · jwalk · ntfs · globset · trash-rs · react-markdown• 协作支持:Claude Code · @jtlyu(负责性能优化 + WeChat 4.x 重写 + scaffold harness 工作流基建) |
📄 开源协议 | 本项目基于 MIT 协议开源。欢迎任何形式的 fork、商用或闭源衍生。⚠️ 注意:修改 scaffold 规则时记得同步修改对应的 safety test。红线断言是防止误删用户数据的最后一道关键铁闸! |
|
个人观点,仅供参考,非常感谢各位朋友们的支持与关注!
如果你觉得这个作品对你有帮助,请不吝点赞、在看,分享给身边更多的朋友。如果你有任何疑问或建议,欢迎在评论区留言交流。
原文链接 https://b.5uuc.cn/ainew/260.html