用途:帮助把旧 Mac 上的软件、开发环境与配置迁移到新 Mac。两阶段分离,中间用 ~/migration-manifest.json 衔接;判断模式只看清单文件是否存在,无则采集、有则还原。运行前须在旧系统完成一次 Time Machine 全量备份,它也是还原时的数据来源。
采集阶段:Homebrew 的 taps/formulas/casks(brew list --formula、--cask、brew tap)、/Applications 与 cask 对比标记手动安装项、mas 列表、npm 全局包、uv tool、pip/pipx、~/go/bin、dotfiles 与配置目录、LaunchAgents、用户顶层目录、编辑器扩展、字体、crontab、/usr/local/bin 和 /opt 工具,最终写入 JSON 清单。敏感项(.ssh、凭据、.aws、.kube、钥匙串)先询问用户,拒绝则记入 skipped_sensitive。
还原阶段:先在用户手动执行 Homebrew 安装命令后(需 sudo,无法静默),按清单添加 taps 并对第三方 taps 执行 brew trust,formulas 批量安装、casks 逐个安装;其余包管理器分别用对应安装命令;配置文件与 Library 子目录从 Time Machine 复制,Library 用 cp -rn(rsync 在 APFS 快照上会报 io_read_flush),全程不覆盖已有文件;再处理 LaunchAgents、编辑器扩展、字体和定时任务;最后输出差异报告,列出手动处理项与需人工核对项。
限制:手动安装到 /usr/local/bin、/opt 的工具无法自动还原;系统偏好 defaults 不自动采集;需 sudo 的 cask、App Store 应用需手动处理;SIP/TCC 保护文件复制会报错但不影响使用。该技能的具体收费、价格、平台与效果资料暂未提供。