news 2026/10/7 10:32:33

openGym完全指南:规划训练、记录组数、追踪肌肉的自托管健身应用全景解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
openGym完全指南:规划训练、记录组数、追踪肌肉的自托管健身应用全景解析

openGym完全指南:规划训练、记录组数、追踪肌肉的自托管健身应用全景解析

【免费下载链接】openGymSelf-hosted gym & body-weight tracker — plan routines, log workouts (supersets, warm-ups, cardio), see which muscles are trained, fatigued or detrained, import from FitNotes/Strong/Hevy, passkey login. Your data, your server.项目地址: https://gitcode.com/GitHub_Trending/op/openGym

openGym 是一款自托管健身应用(self-hosted gym & body-weight tracker),你可以用它规划每周训练、记录每一组负重、追踪哪些肌肉在恢复、哪些已过度疲劳。与市面大多数健身 App 不同:没有账号体系、没有订阅费、没有遥测,所有数据都存放在你自己服务器上的一个文件夹里。本指南带你完整了解它的核心功能、部署方式和进阶玩法。

为什么选择 openGym:数据主权自托管健身

传统健身 App 的通病是:数据存在厂商服务器上、功能靠订阅解锁、公司停运数据就没了。openGym 反其道而行——

  • 🏠你的数据你的服务器:所有记录存在./data目录,备份一个文件夹即备份一切
  • 🔑Passkey 登录:Face ID / 指纹登录,密码登录可按实例开启
  • 📶离线可用:断网时本地记录不丢失,恢复联网自动同步
  • 🌍17 种语言:含从右到左书写的阿拉伯语

3 步快速部署:Docker 一键搭建自己的 openGym

只需要装了 Docker Compose 的机器(树莓派或 VPS 均可):

git clone https://gitcode.com/GitHub_Trending/op/openGym cd openGym cp .env.example .env docker compose pull docker compose up -d

打开http://localhost:8080,点击Create profile即可进入。首次启动会自动下载约 140 MB 的动画演示素材(仅一次)。

💡 手机上使用 Passkey 需要 HTTPS,只需在.env中改两行配置。完整的 Cloudflare Tunnel / Caddy / nginx 教程见 docs/SELF_HOSTING.md,局域网 HTTPS 与 Kubernetes 部署另有专门文档。

训练规划:用 1324 个动作搭建你的每周计划

Plan 页签是规划的起点,openGym 提供:

  • 📚1324 个动作库:带动画演示,支持按肌肉图谱(人体图)浏览、按你拥有的器械筛选
  • 🗓4 套入门计划:推/拉/腿(PPL)、上肢/下肢、全身、5×5,加载后可任意编辑
  • 🔄组间高级玩法:超级组、热身组、掉组(drop set)、休息暂停、计时动作(平板支撑等)、按时间与速度记录的有氧、每个动作的休息时长、计划减载周
  • 📸自定义动作:上传自己的照片、GIF 或短视频,上传前会自动剥离位置信息

想省事,也可以直接把计划导出成小文件分享给训练伙伴,或打印成 PDF。

记录训练:休息倒计时、PR 检测与智能配重

Workout 页签的训练体验被刻意做得"安静"——每个动作一张卡片,组数本身就是菜单:

  • ⏱休息计时器:组间自动倒计时,可配置屏幕闪烁提醒,适合嘈杂健身房
  • 📈PR 实时检测:练出个人纪录时当场提示
  • 🏋配重计算:根据你的杠铃/ EZ 杆/陷阱杆/史密斯机和你拥有的杠铃片,直接算出每侧挂几片
  • 💪RPE/RIR 努力度列:彩色分级,每级配一句大白话解释
  • 🦵单侧动作分开记录:弓步、单臂动作左右腿/左右臂可分别计次
  • ⚡ 训练时屏幕常亮,上次练过的重量自动预填

肌肉追踪与进度分析:知道该练什么、该歇什么

Stats 页签是 openGym 的"数据大脑":

  • 🗺肌肉图谱三种模式:哪些肌肉训练量过大、哪些还在恢复、哪些已被冷落(detrain)
  • 📊1RM 预估曲线:每个动作独立的预估一次极限重量曲线
  • ⚖️结构性平衡比:支持 Poliquin、Thibaudeau、ATG 三种前后链比值方案
  • 🔥全年活动热力图:一眼看出训练出勤规律
  • 📉体重曲线:对照目标线追踪减脂/增肌进程

渐进超负荷规则可按计划或按动作单独设置:线性渐进、Greyskull LP、双渐进(rep range 内加重量)或加时间,停滞会自动触发减载。训练逻辑全部是带单元测试的纯函数,位于frontend/src/lib/目录(如 progression.js),欢迎审计。

多设备同步:手机和笔记本如何不打架

openGym 的同步机制很简洁:每个用户的数据是一份带"版本号"的文档。设备保存时带上自己最后看到的版本;若期间别的设备写过,服务器返回 409 并附上当前文档,设备本地合并后再重试——两台设备同时改,是合并而不是互相覆盖。

整个实例的架构也很清爽:nginx 静态服务 + Node API + JSON 文件存储,外加可选的 AI 教练与 MCP 只读查询服务:

数据导入与备份:从 FitNotes / Strong / Hevy 无痛迁移

在Settings → Data里,迁移历史只需一次文件选择(详见 docs/DATA_IMPORTS.md):

来源方式
FitNotes / Strong / Gravl导出 CSV 后直接导入
Hevy Pro用 API Key 直接拉取训练、计划、称重
Apple Health导出export.xml,只读体重记录,每天保留一条

导入会智能匹配动作名称,不认识的自动变成你的自定义动作;重复导入同一天不会生成重复记录。想整体备份,随时导出一个 JSON 文件即可。

进阶玩法:AI 教练、MCP 服务与手机端

  • 🤖AI 教练(默认关闭):可起草一整周的训练计划,并根据你实际记录的数据提出修改建议——每一步都需你批准。跑在你自己的服务器上,用你自己的密钥(Anthropic / OpenAI / Gemini / Ollama 等),源码见 api/coach/,教程见 docs/AI_COACH.md
  • 🔌MCP 服务器:让 Claude Desktop 等 AI 助手只读查询你的训练历史,见 mcp/
  • 📱Android APK:同一套代码打包成独立 App,无账号无服务器、全本地存储;iPhone 用户可自托管后把 PWA 添加到主屏幕,详见 docs/MOBILE.md

文档、源码与延伸阅读

想了解去看
快速问答(成本、数据去向、iPhone)docs/FAQ.md
HTTP API 完整定义api/openapi.yaml
每个版本的改动CHANGELOG.md
未来路线图(程序化训练、iOS App)ROADMAP.md
贡献代码CONTRIBUTING.md

openGym 采用 AGPL v3 协议开源且长期免费,没有付费层级。docker compose up之后,这个健身应用就真正属于你了——规划训练、记录组数、追踪肌肉,数据永远握在自己手里。

【免费下载链接】openGymSelf-hosted gym & body-weight tracker — plan routines, log workouts (supersets, warm-ups, cardio), see which muscles are trained, fatigued or detrained, import from FitNotes/Strong/Hevy, passkey login. Your data, your server.项目地址: https://gitcode.com/GitHub_Trending/op/openGym

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/7 10:32:24

神卓互联巴比达内网穿透V9.4.1 Linux客户端安装使用教程

神卓互联巴比达内网穿透V9.4.1 Linux客户端安装使用教程 一、教程说明 本文档为神卓互联巴比达内网穿透 V9.4.1 正式版Linux客户端完整安装配置教程,适配主流Linux系统,包含x86_64、ARM架构设备,涵盖手动安装、权限配置、账号绑定、后台运行…

作者头像 李华
网站建设 2026/10/7 10:30:31

ASP.NET Core实现大文件分片上传与断点续传实战

做过网页上传功能的朋友应该都有过这种体验&#xff1a;文件稍微大一点&#xff0c;比如几百MB甚至几个GB&#xff0c;用传统的 <input type"file"> 加后端一把梭&#xff0c;要么浏览器卡死&#xff0c;要么后端报超时&#xff0c;要么网络抽风一下整个文件…

作者头像 李华
网站建设 2026/10/7 10:30:25

JS数字转中文大写金额:零的规则与完整实现

上月在做一个合同管理系统&#xff0c;财务那边提了一个看着很不起眼的需求&#xff1a;订单金额要给出一行中文大写。我一开始以为这就是做一张数字映射表&#xff0c;把“10”替换成“壹拾”就行&#xff0c;真正动手写 JS 数字转中文大写金额的功能时才发现&#xff0c;整段…

作者头像 李华
网站建设 2026/10/7 10:30:21

排序算法全解析:从分类实现到工程选型

前几天帮朋友准备面试&#xff0c;他问我&#xff1a;为什么面试官总喜欢问排序算法&#xff1f;我的回答是&#xff0c;排序算法看起来基础&#xff0c;但它的分类维度、底层实现、时间空间复杂度、稳定性&#xff0c;任何一个细节都能反映一个人的计算机基础是否扎实。我见过…

作者头像 李华
网站建设 2026/10/7 10:30:13

交通智能调度实战:Spark清洗、Hive特征工程与决策模型全解析

前年我接手一个城市交通智能调度项目&#xff0c;本来以为算法才是核心&#xff0c;真正做进去才发现&#xff0c;大数据在交通领域的深层难点&#xff0c;是把零散、脏乱的原始数据洗干净&#xff0c;再让它真正参与决策。项目开始第一个月&#xff0c;GPS轨迹在市区主干道大面…

作者头像 李华
网站建设 2026/10/7 10:29:46

WSL2安装到D盘:--location参数把Ubuntu虚拟磁盘迁出C盘的完整指南

做开发这几年&#xff0c;WSL2已经成了我Windows机器上离不开的Linux运行环境。它比传统虚拟机轻量太多&#xff0c;又不依赖云服务器&#xff0c;直接在终端里敲 wsl 就能进入一个完整的Ubuntu环境&#xff0c;跑脚本、起服务、调Nginx、开Docker都跟在物理Linux上一样顺手。…

作者头像 李华