21stware/bowel
效率与系统工具基于 mihomo 的原生 macOS 代理客户端,提供路由、订阅、TUN 和内置 MCP 服务器。
项目介绍
bowel 是 mihomo 代理核心的 macOS 原生客户端。界面用 Go 配合 MyGo 工具包编写,直接由 GPU 渲染,没有 WebView 层。它面向希望在 Mac 上使用 mihomo 兼容订阅、并借助桌面应用而非手改 YAML 来管理路由的用户。
核心界面有三块:Routes 按用途分流,出口节点可手动选择或按速度自动选;Connections 查看每条连接的应用、目标、规则、出口和速度,并能即时重定向域名;Providers 支持导入订阅链接、节点链接、YAML 配置或二维码,并显示每个来源的流量与到期时间。菜单栏面板可切换系统代理接管、代理模式和默认节点。此外还支持自定义域名/关键词/IP 规则并测试地址走向、通过 Cloudflare trace 校验真实出口位置、把 Mac 变成本域网关供电视和游戏机使用,以及用 TUN 接管不遵循系统代理的应用。界面提供六套皮肤。
内置 MCP 服务器让 Claude Code 等智能体读取状态、排查连接问题,默认在修改设置前先询问。README 给出的注册命令是:
claude mcp add --scope user bowel -- /Applications/bowel.app/Contents/MacOS/bowel mcp
安装与首次使用
发布版本仅支持 Apple 芯片和 macOS 12 及以上,最新发布页提供已签名并经 Apple 公证的 bowel-<version>-arm64.dmg。下载后将应用拖入 Applications,然后添加一个 Provider(订阅链接、节点链接或二维码)并开启接管。界面支持英文、简体中文、繁体中文和日文,设置项可用 ⌘F 搜索。
从源码开发
构建需要 Go 1.27.3+,不需要 Node 或 Bun,GOTOOLCHAIN=auto 会自动获取对应工具链。先拉取核心与地理数据,再进入开发循环或构建应用:
./scripts/fetch-core.sh # mihomo + GeoSite/GeoIP data into resources/
go tool mygo dev # runs the app, rebuilt on every change
go tool mygo build # bowel.app and a .dmg, signed but not notarized
./scripts/release.sh # build, notarize and staple
CGO_ENABLED=0 go test ./... # includes tests that start the real core
代码组织见架构说明,产品信息架构见IA 文档;静态网站在 site/ 目录,合并到 main 后上线。项目原名 Moho,因此 Go module 路径和 bundle identifier 仍沿用旧名;首次启动时 ~/Library/Application Support/Moho 中的数据会迁移到 …/bowel。
使用约束
- 发布版本要求 macOS 12+ 且为 Apple 芯片,未说明 Intel 构建方式。
- 应用采用 PolyForm Noncommercial 1.0.0 许可,仅限非商业用途;商业授权需通过 issue 申请。
- 内置 mihomo 核心保持 GPL-3.0,作为独立程序运行而非链接;每个发布版本附带对应核心源码,核心字体和国旗图片保留各自许可。
- 系统代理接管、TUN 和网关模式都会改变 Mac 的流量出口,网关模式还会把本机暴露给局域网内其他设备。
HotRepo 点评
项目出现在 HotRepo 的 Go 新项目榜单上,统计窗口约从 2026-11-07 17:45 到 2026-11-08 14:15 UTC,该时段记录到 107 个 Star 和 5 个 Fork。这只是单个短窗口的观察,难以说明持续采用情况。比较具体的特点是交付方式:已签名且公证的原生应用、独立的 GPL 核心进程、公开的架构与信息架构文档,以及会启动真实 mihomo 核心的测试。深入集成前最需要确认的是非商业许可限制。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。