TrainingPeaks

🚴 专业训练数据,Cookie 即开即用

通过 Cookie 认证安全访问 TrainingPeaks 训练数据,支持计划查询、体能指标追踪和个人记录管理,无需 API 密钥。

收藏
7.2k
安装
2.2k
版本
1.0.0
CLS 安全性认证2026-08-11
点击查看完整报告 >

使用说明

核心功能

TrainingPeaks Skill 提供 CLI 方式访问 TrainingPeaks 内部 API,无需官方 API 密钥,仅需浏览器 Cookie 即可获取完整的训练数据。主要能力包括:

  • 训练计划管理:查询指定日期范围内的训练安排(支持 90 天范围过滤)
  • 体能指标监控:获取 CTL(慢性训练负荷)、ATL(急性训练负荷)、TSB(训练压力平衡)等核心骑行/跑步科学指标
  • 个人记录追踪:按运动类型和时间段查询功率、心率、速度等 PR 数据
  • 训练详情查看:获取单次训练的完整信息,包括教练备注和完成状态

技术架构亮点

纯 Python 标准库实现,零外部依赖,单文件可执行。采用 Cookie→Bearer Token 的认证链,Token 自动刷新机制,凭证本地存储(~/.trainingpeaks/ 目录,0600 权限)。内置 150ms 请求限速,避免触发服务端防护。

显著优势

1. 零配置门槛:无需申请 TrainingPeaks 开发者账号或支付 API 费用
2. 数据完整性:直接访问内部 API,获取比官方导出更丰富的原始数据

3. 脚本友好:--json 模式支持管道化数据处理,适合自动化分析流程

4. 跨平台:标准库依赖确保 macOS/Linux/Windows 原生兼容

局限性与风险

| 维度 | 说明 |
|------|------|
| 认证稳定性 | 依赖 `Production_tpAuth` Cookie,有效期数周至数月不等,过期需手动更新 |
| 非官方支持 | 使用内部 API,TrainingPeaks 可能随时更改端点或加强防护 |
| 功能边界 | 只读操作,不支持创建/修改训练计划或上传活动数据 |
| 速率限制 | 150ms 硬编码延迟,批量查询大数据集耗时较长 |
| 账户安全 | Cookie 泄露等同于账号泄露,需严格保管 `~/.trainingpeaks/` 目录 |

适合人群

  • 数据驱动的耐力运动爱好者(铁三、公路车、马拉松)
  • 需要自动化训练数据分析的教练和运动员
  • 希望将 TrainingPeaks 数据接入自建 Dashboard 的技术用户
  • 对官方导出功能不满足的重度平台用户

常规风险提示

Cookie 凭证属于高敏感信息,建议:

  • 仅通过环境变量 TP_AUTH_COOKIE 在 CI/自动化场景使用,避免硬编码
  • 定期检查 ~/.trainingpeaks/ 目录权限,确保非当前用户不可读取
  • 发现异常登录时立即在 TrainingPeaks 网页端清除会话并重新认证
  • 不建议在共享环境或容器镜像中持久化存储凭证文件

安全解读

核心用法

TrainingPeaks Skill 是一款面向耐力运动爱好者的 CLI 工具,通过 Cookie 认证方式接入 TrainingPeaks 官方内部 API,无需申请 API Key 即可获取个人训练数据。用户需从浏览器开发者工具提取 Production_tpAuth Cookie 完成首次认证,工具会自动交换为 Bearer Token 并缓存至 ~/.trainingpeaks/ 目录。

主要功能模块包括:训练计划查询(workouts 命令,支持 90 天范围筛选与完成状态过滤)、单次训练详情(workout 命令,含教练评语与完整指标)、体能数据分析(fitness 命令,计算 CTL/ATL/TSB 三大核心指标并生成趋势表格)、个人纪录追踪(peaks 命令,支持自行车功率与跑步配速多维度查询)。所有输出默认为人性化表格,附带 --json 参数可获取原始 API 响应供二次开发。

显著优点

零依赖架构是该 Skill 最大技术亮点——纯 Python 标准库实现,仅使用 urllib.request 进行网络通信,彻底规避了供应链攻击风险,部署极轻量。认证机制设计合理,敏感凭证采用 0600 权限本地文件存储,符合 Unix 安全最佳实践。

功能层面,CTL(慢性训练负荷)、ATL(急性训练负荷)、TSB(训练压力平衡)三大指标的计算与可视化呈现,为业余运动员提供了专业级周期化训练监控能力。个人纪录查询覆盖自行车 5 秒至 90 分钟功率曲线及跑步 400 米至马拉松全距离配速,数据维度完整。

潜在缺点与局限性

认证流程存在用户体验门槛:普通用户需掌握浏览器开发者工具操作提取 Cookie,对非技术背景的运动爱好者不够友好。Cookie 有效期虽长达数周,但一旦失效需重复手动提取流程,缺乏 OAuth 原生应用的便捷性。

功能边界方面,该 Skill 为只读工具,不支持训练计划编辑、训练日志录入或教练-运动员互动等双向操作。日期查询窗口限制 90 天,历史数据追溯需多次分段查询。此外,150ms 的强制请求间隔虽保障了 API 友好性,但批量数据获取效率受限。

适合的目标群体

核心用户为具备基础技术能力的耐力运动爱好者(铁三、公路车、马拉松),尤其是需要自定义数据分析工作流的数据驱动型运动员。数据科学家、运动表现分析师可利用 JSON 输出构建个人 BI 看板。教练群体可借助该工具批量导出学员训练日志,替代繁琐的手动网页操作。

不适合期望即插即用图形界面的普通用户,或需要实时训练指导、计划动态调整等交互功能的场景。

使用风险说明

凭证安全风险:Cookie 作为长期有效凭证,若用户设备被入侵可能导致训练数据泄露。建议配合系统级磁盘加密使用,避免在共享计算环境存储认证信息。

服务依赖风险:TrainingPeaks 平台政策变更可能导致 API 端点失效或认证机制调整,属于不可控外部依赖。个人开发者维护模式(T3 来源)意味着更新响应存在不确定性。

数据准确性风险:体能指标基于 TrainingPeaks 官方算法计算,Skill 仅做数据透传,不保证运动科学模型的医学准确性,重大训练决策应咨询专业教练。

合规提示:用户需确保获取自身数据的行为符合 TrainingPeaks 服务条款,不得用于抓取他人数据或商业爬虫用途。

TrainingPeaks 内容

scripts文件夹
手动下载zip · 9.9 kB
tp.pytext/plain
请选择文件