🍺 优雅地管理 Homebrew:我用 Wails 开发了一款 macOS 原生感十足的 GUI 工具

AI摘要
一款名为Brew Manager的macOS原生图形化工具,旨在简化Homebrew包管理器的操作。该工具通过Wails框架(Go后端+Vue 3前端)开发,提供毛玻璃视觉效果、实时服务状态同步、快速搜索及智能图标加载等功能,支持服务启停、Tap管理和软件包搜索。内容为开发者对自研工具的技术分享,属于知识分享类型。

概览

一款让终端命令操作变得更优雅的 Homebrew 图形化管理工具


📖 前言

作为 macOS 开发者,Homebrew 几乎是装机必备。但随着安装的服务(Services)越来越多,每次开关 Redis、MySQL 或 Nginx 都要打开终端输入:


brew  services  start  redis

brew  services  stop  mysql

不仅繁琐,而且难以直观地查看哪些服务正在后台运行。

为了解决这个问题,我利用业余时间开发了一款属于自己的图形化管理工具:Brew Manager


✨ 为什么选择 Brew Manager?

市面上虽然也有一些 Homebrew GUI 工具,但我希望它能更”原生”、更”轻量”。

1. 沉浸式的 macOS 原生体验

Brew Manager 深度适配了 macOS 的 Vibrancy(毛玻璃) 效果。它不仅仅是一个窗口,更像是一个系统内置的组件。

通过 Wails 框架,应用完美支持暗色模式,并采用了符合 Apple 规范的 Squircle(超椭圆) 圆角设计。

2. 状态实时感知

无需手动刷新,应用内置了智能轮询机制。无论是你通过本工具还是在终端手动切换服务状态,Brew Manager 都会在几秒内自动同步,并通过带呼吸灯效果的状态点直观反馈。

3. 丝滑的交互细节

  • 快速搜索:毫秒级的关键词过滤,帮助你在几十个 Casks 和 Formulae 中瞬间定位

  • 通知系统:自研的类 macOS 系统通知(Toast),让每一次操作的成功与失败都清晰可见,且不干扰核心交互

  • 操作保护:在启动或停止服务时,会有加载态保护,防止重复点击导致系统命令冲突

4. 强大的功能特性

功能 说明
📦 软件图标 自动获取 Homebrew Cask 应用图标,界面更直观
🔄 智能映射 内置名称映射与模糊匹配,解决包名与应用名不一致的问题
高性能加载 异步并发提取机制 + 进程级临时缓存,图标加载不卡顿
🎨 原生转换 集成 macOS 系统级 sips 技术,零延迟转换图标格式

🛠️ 技术栈揭秘

这款工具背后的技术栈非常轻量且高效:

层级 技术
后端 Wails v2 (Go 语言,调用系统底层命令)
前端 Vue 3 + Vite (极速的开发体验)
样式 纯 CSS 实现的 macOS 材质感 + 响应式布局
图标 结合 macOS 图标安全区域规范设计的 3D 质感图标

📸 界面预览

概览 GUI 应用 服务控制
概览 GUI 服务

🚀 快速上手

安装方式

  1. 前往 GitHub Releases 下载最新的 .dmg 安装包

  2. 打开 .dmg 并将 Brew-Manager.app 拖入 Applications 文件夹

解除隔离

由于未进行 Apple 开发者签名,首次运行请执行:


sudo  xattr  -rd  com.apple.quarantine  /Applications/Brew-Manager.app

开发模式


# 克隆仓库

git  clone  https://github.com/mycherish/brew-manager.git

# 启动开发服务器

cd  brew-manager

wails  dev

📦 v1.3.0 新功能(最新)

最新版本带来了更多强大功能:

🔌 Tap 管理

  • 完整的 Tap 管理界面

  • 官方/第三方 Tap 分类显示

  • 添加、移除、批量更新 Tap

🔍 软件包搜索

  • 支持搜索 Formulae、Casks、Taps

⚡ 性能优化

  • 智能刷新:只刷新当前 tab 数据

  • 2 分钟自动刷新 + 进度条显示

  • 侧边栏实时统计徽章


💬 结语

Brew Manager 是我从 0 到 1 学习 Wails 开发的一次尝试。从最初的一个简单列表,到现在的圆角图标、动画通知、以及毛玻璃特效,每一个像素的打磨都让我对 macOS 开发有了更深的理解。

如果你也厌倦了频繁输入终端命令,或者想找一个简洁优雅的工具来美化你的开发环境,欢迎试用并给个 Star 🌟!


🔗 相关链接


感谢你的阅读,欢迎在 Issue 提出你宝贵的建议!

本作品采用《CC 协议》,转载必须注明作者和本文链接
倚南窗以寄傲,审容膝之易安
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!