Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

189 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

训练助手

训练助手是一个本地优先的网页训练计时工具,适合按动作、组数、次数和休息时间执行重复训练计划。应用支持语音播报、后台播放辅助、训练记录、方案保存和云端备份。

功能

  • 训练计时:按动作名称、组数、次数、单次秒数、次休、组休和项休执行。
  • 有氧计时:支持步行、快走、慢跑、跑步、骑行、游泳、椭圆机和划船机等有氧项目。
  • 热量估算:根据 MET、体重和运动时长估算 kcal。
  • 语音播报:训练开始、动作切换、倒计时和休息提示。
  • 双侧交替:支持左右侧交替训练,并预留换边休息时间。
  • 方案库:把当前动作列表保存为方案,后续可一键载入。
  • 记录页:分为“每日行动”和“健身日历”,完成训练后自动写入记录。
  • 体重管理:支持添加体重记录、查看周/月/年曲线、计算日均体重变化和阶段趋势。
  • 彩色日历:不同动作项目使用不同颜色,方便快速查看训练分布。
  • 主题:支持多套预设色和自定义主题色。
  • 同步备份:支持 S3 协议和 WebDAV 上传/下载。
  • AI 教练:支持多版本回答、用量统计、Prompt 模板与分享。
  • 训练 PR 追踪:自动统计 1RM / 单组最大重量 / 单组最大次数。
  • 训练量热力图:按周展示训练强度分布。
  • PWA:支持安装到桌面/手机主屏,并通过 Service Worker 缓存离线资源。

使用

  1. 在“训练”页填写动作名称、组数、次数和时间参数。
  2. 点击“添加到计划”。
  3. 点击悬浮的开始按钮启动训练。
  4. 或者切换到“有氧”模式,选择项目、体重和目标分钟,使用同一个主计时卡和悬浮按钮启动有氧计时。
  5. 完成训练后,记录会自动保存到“记录”页。
  6. 在“方案”页可以保存和载入常用训练计划。

记录与健康管理

"记录"页包含两个视图:

  • 每日行动:展示今日训练摘要、饮食记录、体重管理和 AI 减重指导。
  • 健身日历:以月历方式展示每天的训练记录和运动类型。

饮食记录

在"每日行动"中可添加食物记录:

  • 选择餐次(早餐/午餐/晚餐/加餐)。
  • 输入食物名称,自动搜索本地食物库(40+ 种常见食物)。
  • 输入克数和每 100g 热量,自动计算实际热量。
  • AI 智能识别:输入自然语言描述(如"一碗米饭加一个鸡蛋"),AI 会解析出食物列表和热量。
  • 按餐次分组显示今日摄入明细。
  • 今日汇总显示:摄入 kcal、运动消耗、净热量、目标 kcal。

AI 减重指导

在"每日行动"中可使用 AI 生成减重方案:

  • 输入目标体重、身高、活动水平和每天运动时间。
  • AI 生成三种方案:快速、中等、慢速。
  • 每个方案显示:每周减重、预计天数、建议每日摄入、每日热量缺口。
  • 选择一个方案后,它会成为当前饮食目标,在今日汇总中显示目标 kcal。
  • AI 方案以常规记录选项形式保存,不是对话框。

体重管理

支持:

  • 添加日期、体重和备注。
  • 查看最近周、月、年的体重变化曲线。
  • 计算当前阶段日均体重变化。
  • 判断阶段趋势为下降、上升或基本不变。

所有数据存储在 data.db.health 中,会随 S3/WebDAV 一起备份。

AI 配置

在"设置"页配置 AI:

  • 选择 AI 服务(OpenAI 兼容 / Gemini)。
  • 填写 Base URL、模型名称和 API Key。
  • API Key 存储在浏览器本地,不会上传到同步服务。
  • AI 配置可加密写入同步数据,并支持冲突保留策略。

有氧热量

有氧模式使用通用 MET 公式估算热量:

kcal = MET × 体重 kg × 时长 小时

当前内置 MET 值:

  • 步行:3.5
  • 快走:4.3
  • 慢跑:7.0
  • 跑步:9.8
  • 骑行:6.8
  • 游泳:7.0
  • 椭圆机:5.0
  • 划船机:7.0

该结果是估算值,未接入心率、速度、坡度或手表传感器。

OPPO 手表接入

当前网页/PWA 版本不能稳定直接读取 OPPO 手表传感器数据。可行路线通常是:

  • Wear OS 设备:开发 Android/Wear OS 原生模块,通过 Health Services API 获取运动、心率、距离和热量。
  • 手机健康平台:如果数据同步到系统健康平台,可通过对应平台授权读取,但这需要原生 App,不是纯网页能力。
  • Web Bluetooth:浏览器理论上可连接部分 BLE 心率设备,但 OPPO 手表通常不会作为标准开放心率带稳定暴露给网页。

因此当前版本先使用 MET 本地估算。后续若要接手表,建议新增 Android/Wear OS 配套应用或 Capacitor/原生桥接层。

同步备份

在“设置”页选择同步方式并保存配置。

S3 协议

需要填写:

  • Endpoint URL
  • Region
  • Bucket
  • Access Key
  • Secret Key

备份文件默认写入 Bucket 下的 rehab_pro_data.json

WebDAV

需要填写:

  • WebDAV 地址
  • 用户名
  • 密码或 App Password
  • 备份文件路径

备份文件路径默认是 training_assistant_data.json。如果服务端要求目录提前存在,请先在 WebDAV 服务中创建对应目录。

本地数据

训练数据存储在浏览器 localStorage 中:

  • 动作列表
  • 方案库
  • 训练记录
  • 语速
  • 同步配置

清除浏览器站点数据会删除本地记录。建议配置 S3 或 WebDAV 备份。

部署

这是静态网页项目,可以直接部署到 GitHub Pages、静态服务器或任意对象存储静态站点。

入口文件:

  • index.html
  • styles.css
  • data.js
  • workout.js
  • sync.js
  • theme.js
  • sw.js

缓存说明

项目使用 Service Worker 缓存静态资源。发布 UI 更新时需要同步提升 sw.js 中的缓存版本,例如:

const CACHE = 'training-assistant-v7';

如果浏览器仍显示旧 UI,可在 Chrome DevTools 的 Application 面板中执行:

  • Unregister Service Worker
  • Clear site data
  • 刷新页面

开发

本项目不依赖构建工具,直接编辑源码即可。修改后打开 index.html 或部署到静态服务器查看效果。

发版

执行 node scripts/bump-version.js 自动提升 SW 与静态资源版本号。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors