核心功能
Garmin Tracker 是一款面向严肃跑者的数据同步与训练管理技能,核心目标是自动化维护 garmin_tracking.json 训练档案。该技能通过 Playwright 浏览器自动化技术,从 Garmin Connect 提取两类关键数据:一是自 2026-02-01 起的历史运动活动(距离、时长、配速、心率、卡路里等核心指标),二是当前训练计划的进度与 upcoming 训练安排。
显著优点
1. 自动化数据闭环:无需手动导出 GPX 或复制粘贴 CSV,一键完成从 Garmin 云端到本地结构化 JSON 的同步
2. 严格的 Schema 约束:强制统一的 activity 字段格式(type, distanceKm, durationSec, avgPaceSecPerKm, avgHrBpm, calories, sourceId),确保下游分析工具的数据一致性
3. 训练计划整合:不仅同步历史记录,还能抓取 Garmin 原生训练计划(/app/training-plan),实现「历史回顾 + 未来规划」的双向视图
4. 营养数据融合:支持通过 n8n 工作流(照片模式)或手动文本输入(text mode)记录每日营养,并与运动数据按日期关联存储
5. 安全优先的认证设计:明确区分「浏览器 session 复用」「直接凭证登录」「手动引导登录」三种模式,且严格禁止凭证持久化
潜在局限与风险
- 浏览器依赖:必须安装
playwright-core,容器环境需额外配置浏览器运行时,增加了部署复杂度 - 数据范围受限:明确排除 GPS 轨迹、分段时间序列、功率/踏频原始数据等深度遥测信息,对于需要精细 biomechanics 分析的高级用户可能不足
- 硬编码时间锚点:控制起始日期固定为 2026-02-01,无法灵活调整历史数据窗口
- 认证 fragile:Garmin Connect 的登录流程变更(如新增反爬机制、2FA 策略调整)可能导致同步中断
- 营养数据精度依赖外部:照片模式依赖 n8n 工作流和可能的第三方 AI 识别服务,准确性非本 skill 直接可控
适合人群
- 正在执行 Garmin 结构化训练计划的马拉松/半马备赛者
- 希望将运动数据与营养摄入进行日期级关联的健康管理者
- 需要本地化、结构化训练档案以对接自定义分析工具(如 Python/R 数据科学工作流)的技术型用户
- 对「最小可行数据集」理念认同,不需要 GPS 轨迹级别原始数据的务实跑者
常规风险提示
1. 凭证安全:尽管 skill 设计承诺不持久化密码,但用户仍需警惕在不可信环境中执行「credentials mode」
2. 数据覆盖风险:--write 模式会重建 history,虽保留 recurring_activities 和既有的 nutrition,但极端情况下可能存在数据丢失风险,建议定期备份 JSON 文件
3. 速率限制:高频自动化爬取可能触发 Garmin 的反爬机制,建议合理安排同步频率(如每日一次而非每小时)
4. Schema 升级:固定字段列表未来若需扩展,可能带来 breaking change,需关注 skill 版本更新说明