openGym 的 3 种使用方式完整对比:从浏览器试用到数据完全属于你
openGym 的 3 种使用方式完整对比:从浏览器试用到数据完全属于你【免费下载链接】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/openGymopenGym 是一款自托管健身房与体重追踪器:规划每周训练、记录每组次数与体重、查看哪些肌肉被练到、疲劳或退化,开源免费。本文帮你判断该从哪条路上手:在线演示、Android APK 还是自托管实例。三者共用同一套代码,功能一致,差别只在数据落在哪、要不要服务器。三条使用路径 30 秒选型表选型维度在线演示Android 独立 APK自托管实例前置条件任意浏览器一台安卓手机装有 Docker 与 Compose 插件的机器配置耗时0 分钟约 5 分钟(装 APK)约 10 分钟(拉镜像建档案)数据落在哪当前浏览器(游客模式)手机 App 私有目录文件服务器./data文件夹多设备同步❌可选,可配对到自己的服务器✅ 自动同步,字段级合并提醒方式浏览器通知原生系统通知Web Push打算用多久几分钟到几天单台手机长期使用长期、家人共用拿不准就从下一节的第 1 条看起,它不花你几分钟;确定要长期使用,直接看第 3 条。由轻到重:三条路径分别怎么走先花几分钟看看功能长什么样适合谁:不想装任何东西,只想体验引导式训练、组间休息计时、体重曲线长什么样,用几分钟到几天。怎么开始:打开 openGym 官网的在线演示页,无需注册随便点:演示是加载了示例数据的完整真实应用,5,600 多个带动画演示的动作、按肌肉群浏览、PR 检测都能用不想碰示例数据,就用游客模式自己记几组边界在哪:演示里是别人的示例数据,游客模式数据只存在那一个浏览器里,清缓存或换电脑就没了。当你开始认真记录、想换台手机接着看,说明该换下一条路径。只有一台安卓手机的时候适合谁:只有一台安卓手机,想要原生 App 的手感,不想搭服务器,也不想把数据交给任何人。怎么开始:从最新 release 下载官方签名 APK 并安装,每个构建旁附.sha256校验文件,App 会自己检查更新首次安装按系统提示允许未知来源安装——它故意不上 Play Store,不想让商店账号、审核规则和年费挡在开源应用和你之间首次启动选本地模式:没有登录界面、没有同步、没有遥测,手机本身就是账号边界在哪:本地模式每次修改都会写进 App 私有目录的opengym-state.json,提醒是原生通知,组间休息倒计时挂在通知栏,全程不需要后端——但数据也不出手机,换机前记得通过系统分享面板导出备份。哪天想用电脑看数据了,把同一个 APK 配对到自建服务器即可:在已登录的浏览器里打开 设置 → Pair the mobile app 生成 5 分钟有效的一次性配对码,在 App 里输入服务器地址和配对码。这不是另一个版本,是同一 App 的一种模式,离线改动会在恢复联网后自动补传。想让多设备同步、数据长期属于自己适合谁:打算长期使用,有多台设备或想给家人开档案,且有一台能跑 Docker 的机器。怎么开始:装好 Docker 与 Compose 插件依次执行: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用 Passkey(Face ID / 指纹 / 密码管理器)建档边界在哪:整个系统就是web与api两个小容器加一个数据文件夹,动作动画素材(约 80 MB)已内置在镜像里,首次启动无需再下载;备份./data就等于备份全部。两台设备同时编辑不会互相覆盖:每次保存都带上上次看到的版本号,期间若另一台设备写过,服务器返回 409 并附上最新文档,设备合并本地改动后重试;断网、登出都不会丢弃未上传的改动,App 会显示离线横幅,恢复连接后自动补传。避坑清单Passkey 弹不出来→ 你正通过http://的局域网 IP 访问;Passkey 只走 HTTPS,仅localhost例外 → 挂一个 HTTPS 域名(Cloudflare Tunnel / Caddy / nginx 均可),或临时用游客模式、在.env开PASSWORD_LOGIN1。Passkey 报错但域名看着没问题→.env里RP_ID与ORIGIN和浏览器地址不完全一致 → 两处必须与你实际访问的地址逐字符对齐,见 docs/SELF_HOSTING.md。事后改域名→ 旧 Passkey 绑定的是原RP_ID,改完全部失效 → 在有人注册前就定好域名。换手机重装 APK 失败→ 新版本必须与旧版本同一签名 → 只用官方签名包并核对.sha256;自己重签的包无法覆盖旧版。手机 App 配不上服务器→ 配对码只在已登录的真实浏览器里生成(App 的 WebView 域名对不上,无法走 Passkey),且 5 分钟过期 → 在浏览器生成后立即输入;http://下生成配对码还需要先开密码登录。配对码走了明文 http://→ 配对码与 token 不加密 → 仅限家庭内网使用,公网请上 HTTPS。手机 App 提示 CORS 或登录页代替应答→ 反向代理抢答了 preflight 或多加了一份Access-Control-Allow-Origin→ 让/api/*原样透传,不要给该路由加 CORS 中间件,文档有 curl 自检命令。备份只拷了./data→ 自定义动作的照片与视频存在./data/uploads/→ 一起备份。iPhone 用户→ 没有可侧载的 APK,Apple 不允许应用商店外安装 → 推荐自托管后从 Safari 把 PWA 加到主屏幕;Xcode 免费签名可用但 7 天过期需重签,细节见 docs/MOBILE.md。升级服务器后旧手机同步异常→ 旧版本无法判断手机是否见过某次改动 → 服务器升级后把各端 App 一并更新。三条路径共用一套代码,随时可以从轻的那端升级:先在线演示熟悉界面,再docker compose up建实例,最后在 APK 里配对到同一台服务器,手机电脑自动同步,一步不浪费。更多细节: docs/FAQ.md、docs/SELF_HOSTING.md,训练逻辑源码在 frontend/src/lib/。【免费下载链接】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),仅供参考

相关新闻

图像如何进入模型?sapiens2-pointmap-1b-bf16 预处理流程(1024×768、归一化、填充)深度解析

图像如何进入模型?sapiens2-pointmap-1b-bf16 预处理流程(1024×768、归一化、填充)深度解析

【免费下载链接】sapiens2-pointmap-1b-bf16 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/sapiens2-pointmap-1b-bf16 点击查看 免费下载 Sapiens2 是 Meta 发布的以人物为中心的视觉模型,能从单张图像预测逐像素 3D 点云坐标&#xff…

2026/10/19 1:41:21 阅读更多 →
Unity嵌入式文档渲染:PPTX/PDF/Excel/Word跨平台内嵌方案

Unity嵌入式文档渲染:PPTX/PDF/Excel/Word跨平台内嵌方案

简介:本资源是一套面向Unity开发者(尤其聚焦Android平台)的文档文件内嵌显示技术方案,解决教育类、企业展示类应用中需在Unity运行时加载并渲染Word、Excel、PDF、PPT等办公文档的核心需求。方案基于C#脚本集成FreeSpire、Aspose.…

2026/10/19 1:41:21 阅读更多 →
Qt从入门到装好:版本选择、组件勾选与编译套件匹配指南

Qt从入门到装好:版本选择、组件勾选与编译套件匹配指南

第一次接触Qt的人,很多都是从“界面库”这个印象开始的。也确实,打开Qt Creator新建一个工程,拖几个按钮进去,程序跑起来就是一个像模像样的窗口,比某些用原生API手写界面的方式友好太多。但你真把它当成一个画UI的小工…

2026/10/19 1:41:21 阅读更多 →

最新新闻

Android自定义SeekBar:图片背景与图片进度的实现方案与避坑指南

Android自定义SeekBar:图片背景与图片进度的实现方案与避坑指南

简介:面向Android开发者的SeekBar定制方案资源包,以图片替换系统原生样式,解决默认SeekBar外观单一、难以匹配界面整体设计的问题。压缩包内是一个完整的Eclipse工程示例,演示如何继承SeekBar并编写MySeekBar类,在attr…

2026/10/19 2:21:37 阅读更多 →
匹配滤波与脉冲压缩:从信噪比最大化到MATLAB仿真避坑

匹配滤波与脉冲压缩:从信噪比最大化到MATLAB仿真避坑

简介:这是一份面向雷达信号处理、数字信号处理学习者的Matlab仿真与推导资料,核心围绕线性调频(LFM)信号匹配滤波,系统讲解增益和归一化系数的来龙去脉。作者先分别推导信号和白噪声通过匹配滤波后的增益公式&#xff…

2026/10/19 2:21:37 阅读更多 →
基于RK3588的边缘AI婴儿监护系统:多模态融合与工程实践

基于RK3588的边缘AI婴儿监护系统:多模态融合与工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:21:37 阅读更多 →
Codex 0.105.0语音编程实测:按住空格说话让AI直接写代码

Codex 0.105.0语音编程实测:按住空格说话让AI直接写代码

作为一个常年在终端里干活的人,我对"命令行工具又更新了"这种消息本来已经麻木了。但这次 Codex 0.105.0 的更新确实让我多看了两眼:按住空格键,对着终端说话,让它直接把代码写出来。听起来像demo噱头,但真正…

2026/10/19 2:21:37 阅读更多 →
专科生论文降AIGC检测全攻略:从查重到AI痕迹的实战方法

专科生论文降AIGC检测全攻略:从查重到AI痕迹的实战方法

查重率10%,AIGC疑似度91%。A同学拿着检测报告坐在我面前时,表情比论文答辩还沉重。导师的话很直接:要么把AI痕迹降下来,要么别进盲审。这不是个例。最近几个月,找我咨询论文降重的人里,专科生比例明显上升&…

2026/10/19 2:21:37 阅读更多 →
PyCharm 安装激活全流程避坑指南:从版本选择到环境配置

PyCharm 安装激活全流程避坑指南:从版本选择到环境配置

简介:面向初学Python编程语言或需要重新配置开发环境的人群,这份PyCharm安装教程以Word文档形式,完整梳理了从获取安装包、安装选项配置到激活授权的整个操作链路。文档采用分步骤讲解,先介绍在浏览器搜索入口找到下载页面&#x…

2026/10/19 2:20:36 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →