Repository navigation
Releases: tingfeng347/mactools
Releases · tingfeng347/mactools
Release list
mactools v0.1.20
修复
- 取消按钮无效:清理/卸载的确认弹窗点击「取消」、按 Esc 或点击遮罩后都会立即关闭。(已在 v0.1.19 修复,本次一并复核)
- 总是提示命令行工具不兼容:上一版通过
ma --help判断 CLI 是否支持--list-json/--pick,但这两个参数在帮助里是隐藏的,导致即使是新版 CLI 也会被误判。现在改为比较版本号:低于0.1.18才提示升级。 - 重复错误提示:相同的错误卡片不再叠加。
改进
- 侧边栏在命令行工具版本偏低时显示「需升级」标记,鼠标悬停可见升级命令。
升级
brew upgrade tingfeng347/tap/mactools
brew upgrade --cask tingfeng347/tap/mactools-gui如果 cask 没有检测到新版本:
brew reinstall --cask tingfeng347/tap/mactools-gui校验
- macOS Universal(Apple Silicon + Intel)
- 未签名、未公证;cask 安装时会自动清除 quarantine 标记
SHA-256: 1db1d91891494269cb846ddd4f3b12344ba7665ab0bad70b7f98ea1d60e24a69
mactools v0.1.19
修复
- 取消按钮失效:清理/卸载确认弹窗点击「取消」(或按 Esc、点遮罩)后,弹窗现在会立即关闭,不再一直卡住。
- 搜索报错
ma: error: unrecognized arguments: --list-json:GUI 现在会先检测已安装的ma是否支持所需的 JSON 接口。版本过旧时会提示升级命令,而不是直接抛出 argparse 错误。 - GUI 版本号改为从构建元数据读取,避免界面显示与实际版本不一致。
升级
brew upgrade tingfeng347/tap/mactools
brew upgrade --cask tingfeng347/tap/mactools-gui如果 cask 没有检测到新版本,可以直接重装:
brew reinstall --cask tingfeng347/tap/mactools-gui校验
- macOS Universal(Apple Silicon + Intel)
- 未签名、未公证;cask 安装时会自动清除 quarantine 标记
SHA-256: 5c13d6afc1df2e60530237b72f28a30fd4fc168c8f07694f172673f9f6b593c4
mactools v0.1.18
修复桌面端确认弹窗无法取消,以及 GUI 与 CLI 版本不匹配导致的搜索失败。
- 修复「取消」按钮/Esc/点击遮罩无法关闭确认弹窗
- 命令行缺少 --list-json/--pick 时给出升级提示,而不是抛出 argparse 报错
- 桌面端版本号改为读取应用包信息
安装:brew install --cask tingfeng347/tap/mactools-gui
mactools v0.1.17
应用卸载
macr对 cask 管理的应用只显示一条本机app记录:仅当 cask artifact 的绝对路径与应用本体完全一致时合并,保留 cask token 作为灰色搜索别名。- 应用卸载确认前列出应用本体与残留,并询问是否清理残留,默认保留;脚本可用
--clean-leftovers/--keep-leftovers明确选择,个人数据仍需显式传入--app-data。 - 修复 Mole 批量卸载脚本中
background_items_warning_apps未声明导致的unbound variable中断。
缓存与速度
- 缓存应用与本机 cask 的别名映射,
maci/macr启动时不再额外查询 Homebrew。 - 安装、卸载、更新成功后原地更新 selector 快照:卸载项立即移除,安装与升级写入实际版本,其余缓存继续复用。
- 快照损坏、过期或无法安全更新时才回退实时查询,缓存不会直接决定包变更。
文档
- 精简中英文 README,详细说明迁移到
docs/USAGE.md与docs/USAGE.en.md。 - 重新整理安装与卸载章节,明确区分 Homebrew 与脚本安装,补充安装方式判断、
--dry-run、--purge-cache和自定义目录说明。 - 更新
macr彩色演示截图,补充功能规格与脚本卸载文档。
验证
- 278 项隔离回归测试通过:
python3 -m unittest discover -s tests -v。 - 本地入口通过系统 Bash 语法检查。
- GitHub Actions 在
main分支通过。
桌面版 GUI
- 新增 Rust + Tauri 2 桌面应用,覆盖安装、卸载、更新、清理、优化、镜像与内置终端。
- 通用 DMG,支持 Intel 与 Apple Silicon:mactools_0.1.17_universal.dmg
- Homebrew 安装:
brew install --cask tingfeng347/tap/mactools-gui - 当前未签名、未公证;如被 Gatekeeper 拦截,请在 Finder 中右键选择「打开」。
mactools v0.1.16
修复
- 修复
macr应用残留扫描误用 Homebrew 单次查询的 15 秒限制;扫描默认每个应用 120 秒,多选累加,支持--scan-timeout调整。 - 应用列表详情只读取基本信息,按 Enter 后才进行完整残留扫描;超时会取消计划并显示可读提示。
- 修复 macOS 上取消已退出查询进程时的权限错误,清理仍在运行的后台查询;同时修复优化、清理和卸载交接终端时短命令退出引发的同类竞争。
文档与演示
- 中英文 README 更新应用卸载、清理和 19 项系统优化的说明。
- 更新安装、应用卸载、空间清理、系统优化、AI 工具与彩色帮助演示。
- 使用结合字母 M 与终端光标的新 logo,保留默认中文与英文切换。
验证
- 256 项隔离回归测试通过。
- CC Switch 实际只读预览约 34 秒完成;未执行应用卸载或系统清理。
v0.1.15
新增
- 添加
ma optimize/maco,复用 Mole 的 19 项优化任务,支持选择、详情、预览和确认后执行。 macr添加应用及残留卸载:黄色app置顶、白色名称,支持--apps与显式--app-data,精确核对 Homebrew 来源并去重。ma clean扩展 22 个清理或检查范围,包括废纸篓、旧应用版本、孤立数据、系统缓存、模拟器及 Nix 无引用存储。
保护与验证
-
保留上游白名单、VPN、运行中应用与系统保护;管理员授权只在确认后按任务需要触发。
-
清理和卸载校验预览目标身份;数据库预览在私有副本进行。
-
快照、更新暂存、大文件仅检查;磁盘验证需显式启用,不执行磁盘修复。
-
更新中英文文档、三种 shell 补全及安装负载,随附可读 GPL 源码与归属说明。
-
241 项隔离测试通过,独立审查通过;未对开发主机执行真实清理、卸载或系统优化。
-
兼容旧版 fzf 的筛选测试行为,交互选择流程保持一致。
mactools v0.1.13
清理扩展
ma clean直接复用固定版本的 Mole 清理源码,新增 21 类应用、浏览器、开发工具和闲置项目清理,无需另装 Mole。- 保留 maci 风格多选界面、详情预览和执行确认;执行只接受已预览且身份未变化的目标。
- 新增闲置项目依赖与构建产物、安装包识别、白名单和独立清理日志;保留现有 Homebrew 无用依赖与缓存清理。
- 禁用管理员权限及废纸篓、最近文档、系统维护等操作。Mole 详细诊断保留英文输出。
- 分发携带可读上游源码和 GPL-3.0 许可证;接入范围见 docs/MOLE.md。
验证:177 项隔离测试通过;Python 3.9、系统 Bash 和 bash/zsh/fish 补全语法检查通过。测试未清理真实用户缓存。
mactools v0.1.12
清理范围扩展
- 新增 Homebrew 深度缓存清理,以及 pip、npm、pnpm、uv、Go、ccache 和 Xcode DerivedData 清理入口。
- 保留 Homebrew 无用依赖清理;同时选择深度与普通清理时合并执行。
- 新增
ma clean --dev,仅查看开发工具及构建缓存。 - 开发缓存预览展示实际目录和限时统计的当前大小,确认后才调用对应工具。
- 缺失工具自动跳过,缓存配置变化时停止执行;Xcode 清理拒绝沿符号链接删除。
- 更新中英文文档、三种 shell 补全和安装/卸载文件清单。
验证:160 项隔离测试通过;Python 3.9 语法、补全语法及本机只读预览通过。未执行本机真实缓存清理。
v0.1.11
清理界面与 maci 统一:顶部搜索、类型/名称/范围对齐列表、右侧详情,窄终端自动改为底部详情。
- 新增 Ctrl+A 全选、Ctrl+/ 详情开关、Ctrl+E 匹配切换;保留 Ctrl+R 刷新。
- 合并详情中的重复旧版本跳过提示,保留其他诊断;执行前仍展示完整 Homebrew 预览并确认。
- 清理菜单仍在读取软件清单前打开,取消时不查询清单。
- 更新中英文文档;146 项测试通过,并验证真实 fzf 在中英文、宽窄终端下的显示。
mactools v0.1.10
优化
- 清理菜单先显示选项,选择后再查询对应的 Formula/Cask;取消菜单无需等待软件列表,autoremove 也不再查询无关的软件列表。
- 清理详情只查询当前项目,并沿用指定的超时时间;执行前重新生成实时计划。
- AI 状态、上游版本和联网诊断最多并行检查四个工具,结果按请求顺序输出;安装、更新和卸载仍逐项执行。
- AI 下载地址诊断只读取前 1 KiB,避免为连通性检查下载完整安装脚本。
验证
- 增加延迟查询、并发上限、结果顺序、离线模式和失败后继续检查的回归覆盖。
- 镜像测试隔离宿主 shell,增加 fish 实际加载与恢复检查;CI 安装 fish 运行该检查。