Skip to content
Go back

Disk Relocator:把聊天软件大目录安全搬到外接盘

Published:  at  10:45 AM

很多人以为 Mac 的空间问题只要“删一删”就行,但真正长期占空间的,往往是 ~/Library 里的聊天数据、媒体缓存和离线资源。
Disk Relocator 想解决的就是这个现实问题:把微信、Telegram、钉钉、飞书、Discord 这类应用的大目录迁到外接盘,同时保留可控、可回滚、可追踪的操作路径。

项目地址:Disk Relocator

为什么要做这个工具

在 macOS 上,“手动 mv + ln -s”当然能用,但它有几个典型痛点:

Disk Relocator 的目标不是再造一个命令行脚本,而是给出一套可视化、工程化、可恢复的迁移体验。

这不是“万能迁移器”,而是有边界的工具

这个项目明确面向固定工位场景:

换句话说,它优先解决“长期稳定释放系统盘空间”的问题,而不是覆盖所有极端场景。

核心设计:事务化迁移,而不是一次性硬切

Disk Relocator 的核心流程是:

  1. 预检(进程、权限、挂载状态、可用空间、策略)
  2. 复制(先拷贝到目标临时位置)
  3. 校验(体积/一致性校验)
  4. 原子切换(源目录备份 + 建软链接)
  5. 后检(可读写探针、链接健康)
  6. 清理(成功收尾)或自动回滚(失败恢复)

这套流程的价值很直接:任何步骤失败,都尽量回到一致状态,而不是把用户留在“看起来迁过但又不能用”的尴尬中间态。

当前支持应用(以线上画像为准)

项目采用“画像驱动”的策略:不盲目声称支持任意应用,而是对每个应用定义可迁移单元、风险等级、预检与回滚策略,保证行为可验证、可复现。

5 分钟上手

  1. 准备稳定的外接 SSD(建议 APFS),并确保迁移时保持挂载。
  2. 打开应用后点击“刷新扫描”。
  3. 在应用列表选择目标应用,点击“搬迁外存”。
  4. 在弹窗确认迁移目录与目标盘,开始迁移。
  5. 迁移后到“健康检查”确认状态。
  6. 若需恢复,在应用卡片点击“恢复到系统”。

下载安装可在 Releases 获取最新 .dmg

微信用户务必注意

微信属于高风险迁移单元。迁移完成后建议立即执行一次:

sudo codesign --sign - --force --deep /Applications/WeChat.app

并且在微信每次升级后再执行一次,避免微信在 app_data 下重新初始化目录导致历史记录不可见。

健康检查与一键回滚

我在这个项目里把“修复策略”拆成两层:

推荐顺序是先做健康自检,再决定是否回滚。尤其遇到“磁盘离线/只读”时,先恢复磁盘状态通常更稳妥。

技术栈与后续方向

项目使用 Tauri + Rust + Vue,本地元数据由 SQLite 管理,目标是把迁移、健康检测、回滚、日志追踪连成闭环。
后续会继续完善应用画像与测试矩阵,优先保障已支持应用的稳定性,而不是盲目扩展名单。

如果你也在被系统盘空间折磨,欢迎试用并提交反馈。
如果这个项目对你有帮助,也欢迎在 GitHub 点个 Star。



Next Post
Tailscale + Clash Verge(Mihomo)排障记录:修复 TUN + fake-ip 导致的 NeedsLogin