ClashBar:macOS 上最轻量的原生菜单栏代理客户端

基于 mihomo 内核,用 SwiftUI + AppKit 打造的 macOS 菜单栏代理工具,让网络代理管理回归简洁。
什么是 ClashBar?
在众多 macOS 代理客户端中,ClashBar 走了一条截然不同的路线。它不追求功能堆砌,不要求你打开一个复杂的主窗口——所有操作都在菜单栏里完成。配置管理、节点切换、规则刷新、连接排障、系统代理控制,点一下菜单栏图标即可触达。
ClashBar 由开发者 Sitoi 维护,项目托管在 GitHub:github.com/Sitoi/ClashBar。
核心定位:轻量与稳定
ClashBar 的设计哲学围绕两个关键词展开:轻量与稳定。
在包含 mihomo 内核的完整打包条件下,ClashBar 的应用体积目标控制在 40 MB 以内。如果去掉内核,应用本体仅约 10 MB,这对于快速分发和集成场景非常友好。
与 Clash Verge Rev、Mihomo Party 等基于 Electron 或 Tauri 的跨平台方案不同,ClashBar 是一款纯原生 macOS 应用,采用 SwiftUI 和 AppKit 构建。这意味着更低的内存占用、更快的启动速度,以及与 macOS 系统风格的深度融合。
| 客户端 | 应用体积 | 相对 ClashBar |
|---|---|---|
| ClashBar.app | 37.5 MB | 1.0x |
| ClashMac.app | 75.2 MB | 2.0x |
| Clash Verge.app | 128.4 MB | 3.4x |
| Clash Party.app | 496.7 MB | 13.2x |
为什么选择 ClashBar?
与同类工具的对比
目前 macOS 上基于 mihomo 内核的代理客户端选择不少,包括 Clash Verge Rev、Mihomo Party、FlClash、ClashX.Meta 等。它们各有特色,但普遍存在以下问题:
- 体积偏大:基于 Electron 或 Tauri 的方案通常超过 100 MB
- 资源占用高:跨平台框架意味着额外的运行时开销
- 界面风格不统一:非原生 UI 在 macOS 上的观感与系统格格不入
ClashBar 针对这些痛点给出了自己的回答:
- 原生体验:SwiftUI + AppKit 构建,完美融入 macOS 生态
- 菜单栏优先:无需打开主窗口,日常操作全部在菜单栏完成
- 极致精简:只保留代理管理的核心功能,去除不必要的视觉复杂度
适合谁使用?
- macOS 用户中偏好极简工具、不喜欢重量级 GUI 的群体
- 需要一款稳定可靠、长期挂在后台的代理客户端的开发者和技术人员
- 已有 mihomo 配置文件,希望找到一个轻量前端来管理的用户
- 对 macOS 原生应用有偏好,不想在系统上运行 Electron 应用的人
功能亮点
菜单栏驱动的操作方式
ClashBar 的所有核心交互都集中在菜单栏。无需打开独立窗口,你就可以完成以下操作:
- 切换代理节点和 Proxy Group
- 管理和切换配置文件
- 刷新远程规则和订阅
- 开关系统代理
- 查看连接状态和排障信息
mihomo 内核加持
底层使用 mihomo(Clash.Meta)内核,天然支持丰富的代理协议,包括 Shadowsocks、VMess、VLESS、Trojan、Hysteria2、TUIC v5、WireGuard 等。同时继承了 mihomo 强大的规则路由能力和 DNS 增强功能。
可观测运维
ClashBar 强调"可观测运维"理念。你可以直接在菜单栏中获取运行状态、连接信息,在出现问题时快速定位原因,而不是盲目地重启或切换节点。
技术架构
ClashBar 采用纯 Swift 开发,UI 层基于 SwiftUI 和 AppKit 的混合架构。项目本身是一个有趣的实践案例——它是一个纯 AI vibe coding 驱动的项目,在需求整理、实现迭代和文档维护等环节持续与 AI(Codex)协作完成。
这种开发方式不仅加速了功能迭代,也为 AI 辅助 macOS 原生开发积累了可复用的实践经验。
快速上手
下载安装
前往 ClashBar 的 GitHub Releases 页面下载最新版本。
首次启动注意事项
由于 ClashBar 目前尚未通过 Apple 公证(notarization),首次启动时 macOS Gatekeeper 可能会拦截应用。你需要在"系统设置 > 隐私与安全性"中手动允许运行。
首次启动后,ClashBar 会将内置的 mihomo 内核复制到工作目录,后续运行将统一使用该路径,避免改写已签名的 app bundle。
配置管理
ClashBar 的配置文件遵循 mihomo 的标准格式。建议只对 config/ 目录做日常维护,其余目录交由 ClashBar 自动管理,以降低运行状态不一致的风险。
常见问题
Q:系统代理开关不生效怎么办? 通常与权限授权、Helper 状态或应用安装位置有关。确保应用已被授予相应权限,并检查 Helper 是否正常运行。
Q:切换节点后访问效果没变化? 常见原因包括代理模式不匹配、节点未实际生效或配置未重载。尝试切换代理模式或手动重载配置。
Q:远程订阅更新后节点没刷新? 可能是配置列表未重载,或当前生效的配置未切换到最新版本。手动刷新配置列表并确认激活的是最新配置。
社区与支持
ClashBar 目前在 GitHub 上已获得 400+ Star,社区活跃。你可以通过以下方式获取支持:
- GitHub:github.com/Sitoi/ClashBar — 提交 Issue 和 PR
- Telegram 群:@clashbars — 获取更新通知和实时交流
总结
如果你是一个 macOS 用户,厌倦了臃肿的 Electron 代理客户端,想要一款真正轻量、原生、稳定的菜单栏代理工具,ClashBar 值得一试。它没有花哨的界面,没有用不到的功能——它只做一件事,并且把这件事做好:在你的菜单栏里安静地管理网络代理。
关键词:ClashBar, macOS 代理客户端, mihomo, Clash Meta, 菜单栏代理, SwiftUI 代理工具, macOS proxy client, 轻量代理客户端, Clash 替代品
