Skip to content

About

fit-reader docker image - help you read .fit file as a pro

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

VoltCoach

一个解析码表/运动手表 .fit 文件的本地训练分析工具,输出逐秒时序 CSV 与汇总指标 JSON,并提供 Web 仪表盘与 AI 训练报告。

English documentation — click here to read the English README.

能做什么

  • FIT 文件解析:把 .fit 文件重采样为严格 1 秒网格的时序 CSV(功率、心率、踏频、海拔、速度、温度),并生成汇总 JSON(NP、IF、TSS、功率/心率分区、峰功率曲线、心率漂移、间歇/爬坡段、数据质量等)
  • 运动指标计算:标准化功率(NP)、强度因子(IF)、训练负荷(TSS)、CTL/ATL/TSB 负荷趋势、FTP 自动估算(20min 峰功率 × 0.95)、科学 FTP 估算(CP 模型 + Coggan 双法互校 + 心率交叉验证)
  • 多运动类型:骑行(指标最全)、跑步(配速/步频)、游泳(length 消息:趟数/泳池长度/划水/SWOLF)
  • Web 仪表盘:本地浏览器查看负荷趋势、月度汇总、训练详情时序曲线、分区分布、上传分析
  • AI 训练分析:一键生成单次复盘、周期规划、赛前减量、两次对比报告;AI 通过 agentic 工具调用(function calling)按需自主查询训练库——历史训练清单、单次详情、逐秒时序、负荷走势、月汇总、FTP 估算,并能做实时计算:未来 CTL/ATL/TSB 负荷推演(含风险标注)与按目标/时长生成单次课表,不限于提示词预装数据
  • AI 对话:报告追问(快问快答,200 字以内,结合本次训练具体数据)与「对话」页自由问答均入库持久化,异步生成、提交后可关闭页面事后回看,支持整条删除
  • AI 记忆:AI 在交互中了解到伤病、日程约束、目标变化等个人事实时主动保存(带时间戳,新事实可取代旧事实),后续所有 AI 调用自动注入;「记忆」页可查看与删除
  • 技能知识库:skills/ 目录下的 Markdown 训练科学文档(Coggan 功率体系、TrainingPeaks 负荷模型、心率区间、报告撰写规范)全文注入 AI 报告与对话提示词,保证切换任意模型报告口径一致;往目录放 .md 文件即可扩充(详见 skills/_README.md)
  • 中英双语:界面、图表与 AI 报告支持英文——首次打开按浏览器系统语言自动选择(非中文一律英文),设置页可随时切换;命令行提示词命令加 --lang en 生成英文提示词
  • 训练备注(体感/路况)与身份/训练目标会纳入 AI 分析考量
  • 训练数据库:SQLite 本地训练库,自动记录每次分析并计算长期负荷趋势

快速开始

npm install

# 分析单个文件
node index.js 你的骑行.fit

# 批量处理目录下所有 .fit
node index.js ./input ./output

# 启动 Web 界面(默认 http://localhost:3000)
npm run web

# 运行回归测试
npm test

Docker 部署(快速开始)

已发布镜像到 GitHub Packages,可直接拉取运行:

docker pull ghcr.io/wallyyanggt/voltcoach-for-docker:latest
docker run -d \
  --name voltcoach-for-docker \
  -p 3000:3000 \
  -v "$(pwd)/input:/input" \
  -v "$(pwd)/output:/output" \
  -v "$(pwd)/db:/app/db" \
  ghcr.io/wallyyanggt/voltcoach-for-docker:latest

启动后访问 http://localhost:3000 即可使用。

完整构建说明(含本地构建、版本号标签、持久化挂载、权限配置)见 DEPLOY.md。

技术栈

  • Node.js(ESM,零构建、零转译)
  • fit-file-parser:解析 .fit 文件
  • marked:AI 报告 Markdown 转 HTML
  • dayjs:AI 提示词当前日期/星期/时区格式化
  • Node 内置 node:sqlite:本地训练库

开发约定

详见 AGENTS.md:算法阈值集中在 src/settings.js,骑手参数走训练库 settings 表,修改指标算法后需跑 npm test 并同步更新文档。

About

fit-reader docker image - help you read .fit file as a pro

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages