<!-- title: 8个开源健身神器：数据归自己 -->

## 本期思路：把 Keep 和 Strava 的订阅费省下来

健身赛道是订阅制的重灾区：Keep 会员、Strava 高级版、Hevy Pro，一年下来几百块只是起步，更别提你的训练数据、跑步轨迹、睡眠心率全锁在别人服务器里。本期第三轮挖掘，我们避开前两轮的地图、推送、机器人等方向，转向运动健身这条冷门但刚需的赛道——8 个仓库覆盖「力量训练、户外耐力、身体数据、硬件外设、数据底座」全链路，从开箱即用的 App 到可以二开成生意的平台级项目都有。其中有几个星数很低，但正是这种「低星精品」才是自托管社区最值得挖的富矿。

（注：文中星数为约数，随时在涨，请以仓库页面为准）

---

## 1. snouzy/workout-cool — 开源健身教练平台

**仓库**：[snouzy/workout-cool](https://github.com/snouzy/workout-cool) | 千星量级，热度增长快 | 活跃维护

一句话定位：Hevy 和 Keep 训练计划功能的开源平替，核心卖点是「教练 → 学员」的双边关系。

这个项目 2025 年 3 月在 Reddit 上首发后几天内暴涨数千星，属于典型的爆款叙事：作者是一个想给学员排课的教练，发现市面工具要么收费贵要么不给导出数据，索性自己写了一套。技术栈非常现代：Next.js + TypeScript + shadcn/ui + PostgreSQL，Docker Compose 一条命令起本地。核心功能拆开看有三层：动作库（自带示范动图）、训练计划编排（拖拽式）、以及最有商业想象力的教练端——教练可以管理多名学员、下发计划、追踪完成度。

上手难度：⭐⭐

适用人群：私教、健身工作室、想给自己排计划的训练者。变现思路也现成：自托管免费，官方卖云托管订阅；二开方向是把「教练工作台」做成面向健身房门店的 SaaS，国内健身工作室管理软件普遍又贵又丑，这个赛道有空隙。

## 2. wger-project/wger — 老牌训练管理全家桶

**仓库**：[wger-project/wger](https://github.com/wger-project/wger) | 数千星，十年老项目 | 持续维护

一句话定位：自托管健身管理器的祖师爷，训练 + 营养 + 体重三合一。

wger 从 2010 年代就开始做了，Django REST Framework 后端配 Flutter 客户端，功能覆盖训练计划、营养日记、身体围度、训练日历。它真正的隐藏价值在**动作数据库**：wger 维护了一套结构化的运动动作库并开放 API，被大量第三方健身 App 复用——这是典型的「_application 层不值钱，数据层才是护城河」案例。官方在 wger.de 提供托管版，等于自带商业模型参照。

上手难度：⭐⭐⭐（Django 部署比 Docker 全家桶略费手）

适用人群：想要长期数据资产的重度训练者、想基于现成动作数据做衍生产品的开发者。二开方向：把 wger 的 API 当作动作数据底座，套一个微信小程序壳，就能做出一个可商用的健身小程序原型。

## 3. SamR1/FitTrackee — 自托管版 Strava Lite

**仓库**：[SamR1/FitTrackee](https://github.com/SamR1/FitTrackee) | 千星上下 | 活跃维护

一句话定位：把骑行、跑步的 GPS 轨迹从 Strava 手里拿回来。

FitTrackee 是 Python（Flask）+ Vue 的自托管户外运动平台：导入 GPX/FIT 文件、OpenStreetMap 轨迹回放、按周月年的运动量统计、分段配速。它刻意不做社交feed，只做「自己的运动档案库」——这恰好是很多骑行者转向自托管的理由：Strava 能随意改条款，你的十年轨迹档案说锁就锁。部署走 Docker，数据全在自己家里。

上手难度：⭐⭐⭐

适用人群：骑行党、跑者、轨迹数据控。二开方向：给车友会/跑团做私有活动存档站，配合手表导出 FIT 文件的批处理脚本，可以打包成「跑团数据托管」小服务。

## 4. joaovitoriasilva/endurain — 更年轻的耐力运动自托管服务

**仓库**：[joaovitoriasilva/endurain](https://github.com/joaovitoriasilva/endurain) | 低星小而美（数百星级别） | 持续开发中

一句话定位：FitTrackee 的年轻竞品，主打「Strava 的界面观感 + 自托管的数据主权」。

endurain 是典型的低星宝藏：项目时间不长，但功能迭代很快，Docker 部署，Web 端颜值在自托管健身项目里属于第一梯队。核心能力围绕活动管理（自动同步 Garmin/Strava 数据）、装备里程追踪（跑鞋公里数提醒换鞋）、心率区间统计。据其 README，它通过 API 桥接的方式从 Garmin Connect 拉取活动，这解决了自托管耐力运动最大的痛点——「手表数据怎么自动进来」。

上手难度：⭐⭐⭐

适用人群：有 Garmin 手表、又不想把数据全权交给 Strava 的耐力玩家。星数低意味着文档和生态还不厚，遇到坑要自己读源码——但这也意味着现在是参与共建、刷存在感的最佳窗口期。

## 5. OpenTracksApp/OpenTracks — 隐私硬核的 Android 运动记录

**仓库**：[OpenTracksApp/OpenTracks](https://github.com/OpenTracksApp/OpenTracks) | 千星量级 | F-Droid 分发，长期维护

一句话定位：一款「一次网络权限都不需要」的 GPS 运动记录 App。

OpenTracks 的硬核之处在于架构决策：整个 App 不申请任何网络权限，记录完的轨迹只存在本地，想看地图就装配套的 OSMDashboard 加载离线地图。支持 BLE 心率带、踏频器等传感器，导出标准 GPX/KML，天然能和 FitTrackee、endurain 这类自托管服务拼成完整链路——手机端采集，服务端归档。F-Droid 直接安装，零成本试用。

上手难度：⭐

适用人群：隐私敏感的跑者、户外爱好者，以及任何想给家里老人装个「不会弹广告、不会要会员」运动软件的人。它证明了没有云服务的运动 App 一样能功能完整。

## 6. oliexdev/openScale — 把百元蓝牙体脂秤变成开源硬件

**仓库**：[oliexdev/openScale](https://github.com/oliexdev/openScale) | 千星上下 | 维护多年

一句话定位：一个 App，接管市面上一大票蓝牙体脂秤的通信协议。

openScale 是本期最「跨界」的项目：它是 Android 端 App，通过逆向各家蓝牙体脂秤的 BLE 协议，直接读取小米、Beurer、Medisana、Yunmai 等几十款秤的原始测量数据——包括很多厂商在自家 App 里藏着不给看的阻抗原始值。你不用买昂贵的智能秤，百元级蓝牙秤 + openScale 就能得到体重、体脂、肌肉量、水分的长期曲线，数据存本地不经过厂商服务器。

上手难度：⭐⭐（买对秤型号是唯一门槛，README 有兼容列表）

适用人群：减脂期重度称重用户、硬-net 件玩家。二开方向：它本质上是一份「体脂秤协议逆向大全」，做智能健康硬件的团队可以直接拿去省掉一轮逆向工程。

## 7. davidhealey/waistline — 极简离线卡路里追踪

**仓库**：[davidhealey/waistline](https://github.com/davidhealey/waistline) | 低星（千星以下） | F-Droid 分发

一句话定位：无账号、无广告、无云端的体重/卡路里记录器。

Waistline 是「小而美」三个字的具象化：一个条形码扫描接 Open Food Facts 开放食品数据库，加上手动录入和体重曲线，就构成了全部。它是少数认真做离线体验的热量追踪工具——数据导出为 JSON/CSV，换手机不丢数据，不需要注册任何账号。对被 MyFitnessPal 广告轰炸过的人来说，这个项目的极简是一种救赎。

上手难度：⭐

适用人群：只想简单记个体重和热量的普通人。对开发者而言它是个好教材：如何用 Cordova/JS 在移动端做出和原生 App 体验相当的轻量工具，代码量小到可以整个读完。

## 8. tcheneau/GarminDB — 手表数据的终极归宿

**仓库**：[tcheneau/GarminDB](https://github.com/tcheneau/GarminDB) | 千星上下 | 持续维护

一句话定位：把 Garmin Connect 云端的所有数据，定时同步进自己的 SQLite 数据库。

GarminDB 是「数据主权」的终极形态：一组 Python 脚本通过 Garmin 的非官方 API，把活动、步数、睡眠、心率、静息心率、体重等全部指标拉下来，解析后落进结构化的 SQLite 表。再配一个 Grafana 就能搭出比 Garmin 官方 App 强得多的看板——比如把睡眠质量和训练负荷放在同一时间轴上交叉分析。作者本人就是用这套系统追踪自己多年的健康数据。

上手难度：⭐⭐⭐⭐（要跑 Python 定时任务，API 变动时偶尔要更新适配）

适用人群：戴 Garmin 手表的数据控、量化自我玩家。二开方向：国内高驰、佳明的用户群不小，「健康数据代管+个性化看板」可以做成面向小众硬核玩家的付费服务。

---

## 本期横向对比

| 仓库 | 方向 | 端 | 星数（约） | 上手难度 | 一句话场景 |
|------|------|----|-----------|---------|-----------|
| workout-cool | 力量训练平台 | Web 自托管 | 千星级，增速快 | ⭐⭐ | 教练给学员排课 |
| wger | 训练+营养全家桶 | Web+App | 数千星 | ⭐⭐⭐ | 长期训练档案 |
| FitTrackee | 耐力运动存档 | 自托管 Web | 千星上下 | ⭐⭐⭐ | GPX 轨迹归档 |
| endurain | 耐力运动服务 | 自托管 Web | 数百星 | ⭐⭐⭐ | Garmin 自动同步 |
| OpenTracks | GPS 运动记录 | Android | 千星量级 | ⭐ | 离线隐私跑步 |
| openScale | 体脂秤协议 | Android | 千星上下 | ⭐⭐ | 白菜价体脂秤 |
| Waistline | 卡路里追踪 | Android | 千星以下 | ⭐ | 无账号记热量 |
| GarminDB | 健康数据底座 | 脚本+SQLite | 千星上下 | ⭐⭐⭐⭐ | 手表数据进 Grafana |

## 全景图

```mermaid
flowchart LR
  subgraph 采集端
    A["OpenTracks"]
    B["openScale"]
    C["Waistline"]
  end
  subgraph 服务端
    D["workout-cool"]
    E["wger"]
    F["FitTrackee"]
    G["endurain"]
  end
  subgraph 数据底座
    H["GarminDB"]
    I["SQLite 与 Grafana 看板"]
  end
  A -->|GPX 轨迹导入| F
  H -->|定时同步| I
  D -->|训练计划| J["自建运动数据栈"]
  E -->|动作库 API| J
  G -->|活动与装备| J
```

## 本期之最

- **最值得立即尝试：OpenTracks** — F-Droid 装上就能跑，零网络权限零成本，体验完不喜欢卸载即可，是整条自托管健身链路的最低门槛入口。
- **最有商业潜力：workout-cool** — 「教练-学员」双边模型天然长在付费场景上，私有化部署给健身工作室做二开，比通用型训练 App 的变现路径清晰得多。
- **最被低估：openScale** — 一个 App 吃掉几十款硬件的协议逆向成果，做健康管理类产品的人应该把它当基础设施读一遍源码。

## 参考来源

1. [snouzy/workout-cool](https://github.com/snouzy/workout-cool) — 开源健身教练平台仓库
2. [wger-project/wger](https://github.com/wger-project/wger) — 自托管训练与营养管理器仓库
3. [SamR1/FitTrackee](https://github.com/SamR1/FitTrackee) — 自托管户外运动追踪仓库
4. [OpenTracksApp/OpenTracks](https://github.com/OpenTracksApp/OpenTracks) — 隐私优先 Android 运动记录仓库
5. [oliexdev/openScale](https://github.com/oliexdev/openScale) — 开源蓝牙体脂秤客户端仓库

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
