📌 项目地址:DuarteSantos8/openGym | ⭐ 3,887 颗星 | 🔧 JavaScript | 📜 未标注

健身应用有个常见结局:某天开始收订阅费,或者公司关门,你三年的训练记录一起消失。openGym(GitHub: DuarteSantos8/openGym,3887 星,JavaScript)把这件事的根基换掉了:应用跑在你自己的机器上,数据放在你能看见的文件夹里,一条 docker compose up 启动。没有别人的服务器,没有订阅,没有广告,没有遥测。

有意思的是,它没有因为“自托管”就长得像十年前的简陋表格。README 明确写了:可以装到手机主屏幕当 App 用,Passkey 登录,离线可用,手机和电脑之间同步。这些恰恰是 Strong、Hevy 这类商业应用的体验底线,openGym 把它们和“数据归你”放在了一起。

功能拆开看

计划部分

  • 1324 个动作的库,每个带动画演示,可以在身体肌肉图上按部位浏览,按你实际拥有的器械筛选
  • 四套入门计划:Push/Pull/Legs、Upper/Lower、Full Body、5×5,载入后就是普通 routine,随便改
  • 单次训练可以挪到别的日子,不动周计划本身;一周从周一还是周日开始,你自己选
  • 超级组、热身组、递减组、rest-pause 都支持;计时动作(平板支撑、悬挂、负重行走)、按时间和速度记的有氧、每动作的组间休息、计划内的 deload 周也有
  • 自定义动作可以传照片、GIF 或短视频,上传前在设备端剥离位置信息。这个细节说明作者想过隐私问题

训练部分

这是我觉得设计最用心的地方。当天的训练自动开始,不用翻菜单;重量按上次的结果预填;组间自动跑倒计时;练着练着 PR 会被实时检测出来。休息日它告诉你下一次训练是什么时候。

训练界面刻意做得安静:每个动作只有一个菜单,组号本身就是那一组的菜单。有卡片和列表两种视图。如果你怀念老式的按钮排,设置里有开关可以换回去。

其他细节:

  • 可选 RIR/RPE 强度列,颜色编码,每个等级配一句大白话解释
  • 杠铃片计算,支持直杆、EZ 杆、六角杆、史密斯机,按你家里实际有的杠铃片算
  • 自重动作知道自己不带负重:记次数就行,用负重腰带可以另外加重量

迁移

支持从 FitNotes、Strong、Hevy 导入。想换工具的人最关心这个,三年的记录搬不过来,功能再多也白搭。

三个使用入口

  1. 在线体验:https://opengym.duarte-santos.ch/demo/ 是带示例数据的完整真实应用,不装任何东西就能玩
  2. Android:从 GitHub Releases 下载 APK
  3. 自托管:docker compose up 启动,具体步骤看仓库的 docs/SELF_HOSTING.md(README 没贴 compose 文件内容,以官方文档为准)

和 Strong、Hevy 比怎么选

功能上 openGym 不一定碾压,差异在所有权:数据在你机器上,代码你 fork 得到,公司倒闭这件事对它不成立。反过来讲,代价也真实存在:备份和升级是你自己的责任,Docker 都要自己维护。如果你完全不想碰服务器,可以只用官方托管站点,但那就回到了“数据在别人手里”的老路,等于只买了半个卖点。

我的建议:先去 demo 完整跑一次训练记录,看看引导式训练的交互顺不顺手,再决定要不要迁移。项目 3887 星,已经过了社区验证,但不算大众,遇到问题可以去它的 Discord 问(README 里有邀请链接)。路线图和更新记录在仓库的 ROADMAP.md 和 CHANGELOG.md,仍在活跃迭代。

这篇文章对你有帮助吗?

发表回复