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

39 阅读3分钟

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


📸 界面预览

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

📖 前言

作为 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 质感图标

🚀 快速上手

安装方式

  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 提出你宝贵的建议!