Homebrew 官方 macOS 图形界面,使用 SwiftUI 与 Swift 6.0 编写,目标是让不习惯终端的用户也能发现、安装、更新和管理 Homebrew 软件包,同时保持对底层 brew 操作的透明可见。
项目做什么
项目的动机是让回避命令行的用户能够安全地通过原生图形界面完成软件包的发现、安装、更新与管理,并且不隐藏 Homebrew 实际执行的内容,使用户能了解底层调用情况。技术上采用 Swift 6.0 严格并发、SwiftUI 和 Swift Package Manager 构建,运行要求 macOS Tahoe 26 及以上,数据来源为 brew 命令行与 Homebrew JSON API,官方给出的安装方式是通过 brew install –cask homebrew-app 安装该 cask。仓库自述状态为稳定并处于活跃开发中。
与同类方案相比
可以确认的特点是官方出品、原生 SwiftUI 实现,并且刻意保持对 Homebrew 操作的透明性:启动时通过 /bin/zsh 并配合 –no-rcs –no-global-rcs 与干净环境,PATH 仅包含所定位 brew 可执行文件所在目录及其同级 sbin,再跟上 /usr/bin:/bin。配置需写入 ~/.homebrew/brew.env、安装前缀下的 etc/homebrew/brew.env 或 /etc/homebrew/brew.env。README 未提供任何性能数据,也未与其他 Homebrew 图形客户端做对比,因此性能优势和相对同类工具的优势目前无法验证。
设计与创新
README 未声明任何首创性或专利式创新,因此是否属于业界首次无法从现有材料证实。可描述的设计取向是:把 Homebrew 的环境配置与用户登录 shell 完全解耦,忽略 shell 别名、导出变量和自定义 PATH,也忽略 shell 导出的 XDG_CONFIG_HOME,转而要求使用 brew.env 文件,并在应用的 Configuration 标签页给出报告和 Doctor 以说明 Homebrew 的实际环境。此外应用会用干净环境重新清理并丢弃 zsh 启动输出,仅在 Homebrew 运行前失败时保留诊断信息。这些做法是否构成创新,尚无公开依据支持。
适用场景
适合希望在 macOS 上以图形方式浏览、安装和更新 Homebrew 软件包、但不愿直接使用终端的用户;也适合需要在图形界面与终端行为之间保持一致认知、并在应用内查看环境报告的用户。系统需为 macOS Tahoe 26 或更高版本,且安装方式依赖已有的 brew 命令,因此使用者通常需要先具备可用的 Homebrew 环境。对开发者而言,克隆仓库后运行 ./scripts/bootstrap 可安装 Mint、构建固定版本的 SwiftFormat 与 SwiftLint、启用 git 钩子并解析 Swift 包依赖,便于参与开发。
谁会受益
对 CLI 不熟悉的用户而言,它把 brew 的常用包管理流程转化为可点击的界面,降低了入门门槛,同时通过展示底层调用维持信任感。配置隔离设计有助于减少因个人 shell 环境差异导致的“在终端能用、在 GUI 不能用”这类问题,brew.env 与配置报告、Doctor 也为排查环境差异提供了线索。提交时自动执行 SwiftFormat 与 SwiftLint 的钩子在遗留未解决违规时会阻止提交并打印具体失败项,对维护代码风格一致有一定帮助。README 未给出交互效率或操作耗时的量化数据。
使用前需要注意
运行环境限定为 macOS Tahoe 26 及以上,且安装依赖 brew,README 未说明是否支持更早的 macOS 版本或其他平台。配置方式与终端存在明显差异:登录 shell、别名、导出变量、自定义 PATH 以及 shell 导出的 XDG_CONFIG_HOME 都不会影响 BrewUI 中的 Homebrew,用户若沿用终端习惯可能产生困惑;系统 zsh 始终会读取 /etc/zshenv,其执行无法被禁用。许可证为 AGPL-3.0,包含网络使用条款,复用或改编源码需遵守相应约束。项目未提供性能基准,也未公开与同类 GUI 的对比验证。
本文基于抓取时的项目 README 和仓库简介整理;功能、限制与文档可能随项目更新而变化。