Changelog
- Optimize explains more causes of a slow Mac: performance diagnosis now shows swap pressure and memory-heavy processes, virtual machine memory use, and sustained CPU usage, while failed probes are reported without treating missing data as a healthy result.
- Smoother loading animations: scan indicators share a consistent dot animation, and Clean updates progress text in place between stages to reduce flicker and make waiting easier to follow.
- Clean reaches more app caches: adds Feishu/Lark webview caches, WeChat and WeCom container caches and logs, and stale Codex crash reports, with active apps and chat data protected.
- Developer cleanup covers abandoned browser sessions and test devices: reclaims orphaned Playwright browsers and stale profiles while preserving active sessions, handles Xcode test clones individually, and lists unused simulator runtimes with a manual removal command.
- Purge is easier to review and safer to automate: improves project search, paging, and selection responsiveness, preserves artifacts containing deployment keys, Git-tracked files, or nested repositories, names candidates it could not inspect, and requires
--yesfor unattended cleanup. - Clean preserves more state and reports partial results clearly: leaves Calendar caches alone, adds a whitelist option for Final Cut Pro proxy media, restores obsolete VS Code extension cleanup on macOS 15, and improves external-volume scans and timeout or Trash failure messages.
- Uninstall shows recognizable app names without disrupting other apps: follows preferred system languages and refreshes names after language changes, recognizes mixed-case
.appsuffixes, and avoids restarting unrelated active extensions such as Shadowrocket's VPN tunnel. - Analyze and Status make their limits visible: Analyze explains that deleting an app bundle leaves its support files behind and offers an uninstall command, while Status marks retained process data and alerts as stale when refreshes fail.
- Command output works better in terminals and scripts: Analyze and Status have dedicated help text, errors go to stderr, and redirected output omits color codes.
- Installation and updates fail earlier with clearer guidance: checks for macOS 12 or newer and rejects running the installer with sudo before writing files, while Homebrew updates repair launchers that point to removed versions.
更新日志
- Optimize 能看出更多 Mac 变慢的线索:性能诊断新增交换空间压力、内存占用较高的进程、虚拟机内存和持续 CPU 占用,检查失败时会明确提示,不把缺少数据当成正常结果。
- Loading 动画更流畅:扫描提示统一使用圆点动画,Clean 在阶段切换时原位更新进度文字,减少闪烁,让等待过程更清晰。
- Clean 支持更多应用缓存:新增飞书和 Lark 内嵌网页缓存、微信和企业微信容器内的缓存与日志,以及过期 Codex 崩溃报告清理,保留正在使用的应用状态和聊天数据。
- 开发工具清理覆盖遗留浏览器和测试设备:回收已失去所属进程的 Playwright 浏览器与过期临时配置,保留活跃会话,逐项处理 Xcode 测试克隆,并列出无设备使用的模拟器运行时及手动移除命令。
- Purge 更好查找,也更适合脚本使用:改进项目搜索、翻页和勾选响应,保留包含部署密钥、Git 跟踪文件或嵌套仓库的构建目录,明确列出无法检查的候选,非交互清理需要显式传入
--yes。 - Clean 保留更多应用状态,清理不完整时说明原因:不再清理日历缓存,新增保留 Final Cut Pro 代理媒体的白名单选项,恢复 macOS 15 上的过期 VS Code 扩展清理,并改善外接卷扫描、超时和废纸篓清理失败提示。
- Uninstall 显示熟悉的应用名称,减少对其他应用的影响:按系统语言偏好显示名称并在切换语言后刷新,识别大小写混合的
.app后缀,卸载时避免重启 Shadowrocket VPN 等无关的活跃扩展。 - Analyze 和 Status 的提示更准确:Analyze 删除应用包前会说明支持文件仍会保留,并给出卸载命令,Status 则在刷新失败时把保留的进程数据和告警标记为过期。
- 命令输出更适合终端和脚本:Analyze 和 Status 提供专门的帮助说明,错误信息写入 stderr,重定向输出不带颜色控制码。
- 安装和更新更早说明问题:安装器在写入文件前检查 macOS 12 或更新版本,并拒绝通过 sudo 运行,Homebrew 更新后可修复指向已移除版本的启动入口。
Thanks
Issue reporters and PR contributors this cycle: @r266-tech · @UncleCatWu · @M-Hassan-Raza · @dare2live · @madsondeluna · @HAOGRE · @tszaks · @md786-dotcom · @YeJe-cpu · @leslieeilsel · @mehmetcansahin · @Tairraos · @felixwluo · @ganwurrt · @bashu · @Xarius86 · @hansnow · @irl231 · @TheViviana.
Mole Mac App
Prefer a GUI? Mole Mac App brings cleaning, app management, maintenance, disk analysis, and live system status into one native app, with review before deletion and a customizable menu bar HUD. It is $19 once, with lifetime updates and a 14-day refund. Download and try it. The CLI stays free and open source.