# BlueTidy
**Repository Path**: Map1eBr1dge/BlueTidy
## Basic Information
- **Project Name**: BlueTidy
- **Description**: Windows 磁盘空间分析、软件资产治理与可回滚迁移工具
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-09-09
- **Last Updated**: 2026-09-09
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
BlueTidy
先看清空间,再安全处理。
面向 Windows 的磁盘空间分析、软件资产治理与可回滚迁移工具。
应用模式首页:扫描软件资产后,再根据空间收益和风险决定是否处理。
> [!IMPORTANT]
> BlueTidy `0.2.0` 仍是 Preview。安装包尚未签名,磁盘扫描采用安全目录遍历,速度不等同于基于 MFT 的成熟磁盘分析器。请先在非关键目录、小体量数据上验证,再处理重要软件或文件夹。
## 它解决什么问题
系统盘满了,真正麻烦的通常不是“删一个大文件”,而是两个判断:空间到底被谁占了,以及哪些东西可以动。
BlueTidy 把这两类任务拆成两个模式:
| 模式 | 适合做什么 | 工作区 |
| --- | --- | --- |
| 文件夹模式 | 找出空间去哪了,再决定是否迁移某个数据目录 | 左侧按占用排序的目录树,中间矩形图、排行和快照变化,右侧显示风险、解释与迁移计划 |
| 应用模式 | 判断某个软件能否清理、迁移或回滚 | 左侧软件资产库,中间查看安装证据与占用,右侧完成预检、迁移、清理和回滚 |
首页只保留一个主任务:释放 C 盘空间。它汇总预计可迁移容量、可安全清理项目和高风险资产,并提供“分析磁盘空间”“治理软件资产”两个入口。
## 已实现
### 文件夹模式
- 可选择磁盘根目录或任意可访问文件夹进行扫描。
- 同时显示文件逻辑大小与实际磁盘占用;遇到无权限目录会记录问题,不会静默算成 `0 B`。
- 首次扫描建立完整目录缓存。展开左侧文件树或进入子目录时,不需要再次访问磁盘。
- 支持矩形图、占用排行、名称/路径搜索和 CSV 导出。
- 同一路径的扫描结果会保存为快照,可比较新增、删除、增长和缩小的项目。
- 扫描可取消。未完整扫描的结果会明确标记,不适合作为危险操作的依据。
磁盘分析与文件夹迁移的权限不同。分析可以从磁盘根目录开始;迁移只接受当前用户目录中的具体子文件夹,并拒绝整个用户目录、`AppData` 根目录、`OneDrive` 根目录、文件和已有链接。
### 应用模式
- 从卸载注册表、开始菜单、winget、Scoop、Steam、Epic、Xbox 和 Microsoft Store / MSIX 等来源发现软件资产。
- 展示安装位置、来源证据、预计占用、迁移可信度、警告和阻断项。
- 为传统 MSI / EXE 安装目录生成预检计划。预检通过后,将目录移到目标磁盘,并在原路径创建 Windows 目录联接。
- 迁移记录写入事务日志。满足回滚条件时,可以把目录恢复到原位置。
- 识别安装目录内的缓存、日志和临时目录。文档、示例与离线帮助默认不选中,确认后移入 Windows 回收站。
- 语言包当前只做占用分析。无法确认当前语言和回退语言时,BlueTidy 不提供删除按钮。
- 支持多选资产、统一预检和串行执行,避免多个文件操作同时修改磁盘。
Microsoft Store 应用、驱动、服务、系统组件,以及缺少可信安装目录的软件不会被强行迁移。“扫描到了”不等于“可以搬”。
### TidyPilot
TidyPilot 默认使用本地规则,不需要联网。项目内置了 5 组提示词:快速评估、C 盘迁移判断、瘦身清理、风险复核和回滚解释。
你也可以配置兼容 OpenAI `chat/completions` 的接口、模型和 API Key。启用后,BlueTidy 发送软件名称、版本、安装路径、来源、容量和本地风险结论,不发送文件内容。AI 只负责解释,不能绕过本地预检、保护路径或运行进程阻断。
## 安全边界
执行迁移或清理前,BlueTidy 会检查:
- 阻止 `Windows`、`System32`、`SysWOW64`、`Drivers`、`WindowsApps` 等受保护路径。
- 阻止源目录中的目录联接、符号链接和其他重解析点,避免操作越过用户选择的边界。
- 目标目录必须存在,不能位于源目录内部,也不能提前占用计划目标路径。
- 检查目标卷剩余空间;检测到相关进程仍在运行时阻止迁移。
- 同卷优先使用重命名;跨卷复制完成后核对文件数、目录数与总字节,校验通过前不删除源目录。
- 跨卷复制尽量保留权限和文件时间戳。若目录联接创建失败,会尝试自动恢复。
- 回滚前核对原路径确实是 BlueTidy 事务记录中的联接,并验证它指向记录的目标目录。
- 清理只处理计划中列出的候选项。缓存、日志和临时目录会直接清理;文档类候选项进入回收站;语言包只分析。
- 迁移、清理和事务日志写入使用单操作锁,防止并发修改互相覆盖。
这些检查能减少误操作,但不能代替备份。数据库、虚拟机、同步盘、开发环境和仍在写入的数据目录,迁移前应先退出相关程序并自行留存备份。
## 安装
### 运行要求
- Windows 10 或 Windows 11,x64
- 原路径所在卷需要支持 NTFS 目录联接,目标必须是本机目录;网络共享不受支持
- Microsoft Edge WebView2 Runtime
- 某些受权限保护的安装目录需要以管理员身份运行
### 安装版
从 [`v0.2.0 Preview` 发布页](https://github.com/by-fengqiao/BlueTidy/releases/tag/v0.2.0)下载对应版本:
- [`BlueTidy_0.2.0_x64-setup.exe`](https://github.com/by-fengqiao/BlueTidy/releases/download/v0.2.0/BlueTidy_0.2.0_x64-setup.exe):常规安装程序
- [`BlueTidy_0.2.0_x64_en-US.msi`](https://github.com/by-fengqiao/BlueTidy/releases/download/v0.2.0/BlueTidy_0.2.0_x64_en-US.msi):MSI 安装包
- [`BlueTidy_0.2.0_x64_Portable.zip`](https://github.com/by-fengqiao/BlueTidy/releases/download/v0.2.0/BlueTidy_0.2.0_x64_Portable.zip):便携版
- [`SHA256SUMS.txt`](https://github.com/by-fengqiao/BlueTidy/releases/download/v0.2.0/SHA256SUMS.txt):发布文件校验和
Preview 构建未签名,Windows SmartScreen 可能显示警告。请先核对发布页提供的 SHA-256,再决定是否运行。不要从第三方下载站获取安装包。
### 便携版
解压便携版,运行 `BlueTidy-Portable.cmd`。不要直接双击 `BlueTidy.exe`,否则设置和事务记录不会固定保存在便携目录。
便携版把运行数据写入同目录的 `Data` 文件夹,便于整体移动和备份。
## 第一次使用
1. 在首页选择“分析磁盘空间”,扫描 C 盘或某个大目录。
2. 先看左侧占用树和中间排行。扫描存在受限项目时,展开问题清单确认缺失范围。
3. 如果要迁移普通数据,选择当前用户目录中的具体子文件夹,再生成迁移计划。
4. 如果要处理软件,切换到应用模式并扫描资产;只处理预检通过的项目。
5. 迁移后先启动软件或打开文件验证。事务确认无误前,不要手动删除目标目录或原路径联接。
更完整的操作说明见 [使用指南](docs/USER_GUIDE.md)。PDF 版随安装包一起发布,可从 [`v0.2.0` 发布页](https://github.com/by-fengqiao/BlueTidy/releases/tag/v0.2.0)下载。
## 数据与隐私
安装版默认把设置、事务记录和文件夹扫描快照保存在 `%APPDATA%\BlueTidy`。便携版使用自身目录下的 `Data`。也可以在启动前设置 `BLUETIDY_DATA_DIR`,把这些文件统一放到指定目录。
> [!WARNING]
> AI 接口的 API Key 当前以明文写入 BlueTidy 设置文件。Preview 阶段请使用权限和额度受限的独立 Key,不要复用高价值凭据。不要把设置文件、事务日志或扫描快照直接上传到公开 Issue,它们可能包含本机路径和软件清单。
未配置外部 AI 时,TidyPilot 只运行本地规则。配置接口后,请同时阅读对应服务商的数据处理政策。
## 从源码运行
需要 Rust stable、Node.js 20+、pnpm 10+、Windows C++ 构建工具和 WebView2 开发环境。
```powershell
pnpm install
pnpm tauri dev
```
`pnpm dev` 只启动浏览器界面。浏览器预览不返回模拟业务数据,扫描、迁移和清理必须在 Tauri 桌面运行时中使用。
### 检查与打包
```powershell
pnpm build
cargo test --workspace
cargo clippy --workspace --all-targets -- -D warnings
pnpm tauri build
```
桌面安装包通常生成在:
```text
target/release/bundle/nsis/
target/release/bundle/msi/
```
CI 会检查 Rust 格式、工作区测试、Clippy、前端生产构建和 README 本地链接。现有测试覆盖采集解析、风险判断、迁移与回滚流程、事务日志和清理候选规则,但仍不能替代真实 Windows 设备上的大容量与异常断电测试。
## 项目结构
```text
.
├─ apps/desktop/
│ ├─ src/ # React 界面、模式工作区和 Tauri API 封装
│ └─ src-tauri/ # 桌面入口、磁盘扫描、快照和命令层
├─ crates/asset-model/ # 共享数据结构
├─ crates/collector/ # Windows 软件资产采集与风险评估
├─ crates/migrator/ # 预检、迁移、清理、事务与回滚
├─ crates/advisor/ # 本地规则、内置提示词与兼容 API 接入
├─ crates/smoke/ # 独立冒烟流程
├─ docs/ # 使用指南与发布检查表
└─ packaging/ # 便携版启动脚本和说明
```
## 已知限制
- 目录扫描尚未使用 NTFS MFT。面对百万级文件时,速度可能明显慢于 WizTree 一类工具。
- 安装程序未签名,也没有自动更新通道;当前版本只适合 Preview 测试。
- 真实应用兼容性白名单仍需扩大。不要假设所有传统桌面软件都能通过目录联接正常工作。
- 当前版本未在预检中主动识别源卷和目标卷文件系统;NTFS、exFAT、HDD 与 SSD 的组合仍需建立公开实测矩阵。
- 文件夹迁移只允许当前用户目录里的具体子文件夹;磁盘根目录和系统目录只能用于分析,不能整体迁移。
- 当前正式界面语言为简体中文。英文文案尚未达到完整发布标准。
- API Key 仍以明文保存在本地设置文件,尚未接入 Windows Credential Manager。
版本变化见 [CHANGELOG.md](CHANGELOG.md)。正式公开发布前的外部条件与验证范围见 [发布检查表](docs/RELEASE_CHECKLIST.md)。
## 获取帮助与参与
- 使用问题和可公开复现的 Bug:使用 [Issue 模板](https://github.com/by-fengqiao/BlueTidy/issues/new/choose)
- 使用经验和想法:前往 [Discussions](https://github.com/by-fengqiao/BlueTidy/discussions)
- 路径越界、错误删除或凭据泄露:按 [SECURITY.md](SECURITY.md) 私密报告
- 提交代码:先阅读 [CONTRIBUTING.md](CONTRIBUTING.md) 和 [社区行为准则](CODE_OF_CONDUCT.md)
项目由 [@by-fengqiao](https://github.com/by-fengqiao) 维护。提交问题时请写明 BlueTidy 版本、Windows 版本、源卷与目标卷文件系统和复现步骤,并先移除日志与截图中的用户名、私人路径、软件清单和 Token。
## 设计参考
文件夹模式的占用排序、可展开目录树和三栏工作台参考了 PinkBin 的交互思路。BlueTidy 的软件资产采集、迁移预检、事务记录和回滚由本项目独立实现;本项目与 PinkBin 没有隶属关系。
## 开源协议
BlueTidy 使用 MIT License。你可以使用、复制、修改、合并、发布、分发、再许可和销售本软件,但必须在副本或主要部分中保留版权声明与许可声明。软件按原样提供,不附带担保。
- [MIT License 英文法律正文](LICENSE.md)
- [简体中文导读与参考译文](LICENSE.zh-CN.md)
如英文正文与中文参考内容存在差异,以 [LICENSE.md](LICENSE.md) 为准。
## English summary
BlueTidy is a Windows desktop utility for disk-space analysis, software asset governance, cautious cleanup, and reversible directory migration. Folder mode provides a size-sorted tree, treemap, ranking, CSV export, and persistent snapshot comparison. Application mode discovers installed software, explains migration evidence and risk, preflights supported MSI/EXE directories, moves them with Windows junctions, and records rollback transactions.
Version `0.2.0` is a Preview build. Installers are unsigned, automatic updates are not enabled, and disk scanning currently uses directory traversal rather than NTFS MFT indexing. Download it from the [`v0.2.0` release](https://github.com/by-fengqiao/BlueTidy/releases/tag/v0.2.0) and see the [MIT License](LICENSE.md) before redistribution.