核心用法
Garmin Connect CLI (gc) 是一款非交互式命令行工具,用于从 Garmin Connect 平台读取用户的健康、健身及活动数据。该工具通过 Homebrew 分发,安装后需使用 Garmin 账号邮箱和密码完成身份验证(支持 MFA 双因素认证)。
数据访问涵盖六大维度:
- 日常健康:步数、爬楼层数、活动强度、事件记录
- 生理指标:心率(含静息心率)、睡眠、压力、身体电量、呼吸频率、血氧、血压、生活方式评分、水分摄入
- 运动活动:活动列表查询、详情获取、分段数据、心率/功率区间、装备关联、进度统计、FIT/GPX/TCX 等格式下载与上传
- 身体与体重:体重记录、称重历史
- 进阶训练指标:VO₂max、HRV、训练准备度、晨起准备度、训练状态、体能年龄、比赛预测、耐力评分、爬坡评分、乳酸阈值、骑行 FTP
- 设备与生态:设备列表、设置、闹钟、太阳能充电数据、目标、纪录、徽章、挑战、装备管理、训练计划、月经周期追踪
输出格式默认为表格,支持 --format json 切换为机器可读格式,便于程序化解析。
显著优点
1. 数据覆盖全面:几乎涵盖 Garmin 生态所有健康与训练维度,包括专业级指标如训练准备度、HRV 状态、乳酸阈值等
2. 自动化友好:非交互式 CLI 设计,支持日期快捷指令(today/yesterday/week/month)和 JSON 输出,易于集成到脚本和工作流
3. 灵活的时间范围查询:支持单日、自定义日期范围、周/月聚合等多种查询模式
4. 双向数据能力:除读取外,支持活动文件上传(.fit/.gpx/.tcx),扩展了使用场景
5. 设备生态完整:可查询设备设置、太阳能充电数据等硬件相关信息
潜在缺点与局限性
1. 只读为主:核心定位为数据读取工具,无法修改健康数据或活动记录(除上传新活动外)
2. 认证依赖:需硬编码或使用环境变量传递凭据,在自动化场景中需额外注意安全性
3. 非官方工具:由社区开发者维护(voydz/tap),非 Garmin 官方出品,存在 API 变更导致失效的风险
4. Rate Limit 风险:未提及请求频率限制,高频调用可能触发 Garmin 平台的反爬虫机制
5. 数据隐私:健康数据属于敏感个人信息,传输和存储需符合 GDPR/HIPAA 等合规要求
适合人群
- 数据分析师/开发者:希望自动化提取 Garmin 数据进行分析、可视化或集成到个人健康仪表盘
- 严肃运动爱好者:需要批量导出历史活动数据,或进行自定义训练数据分析
- 量化自我(Quantified Self)实践者:希望将 Garmin 数据与其他健康数据源(如 Apple Health、Oura)整合
- 教练与运动科学研究人员:需要获取运动员的详细训练指标和生理数据
常规风险
- 账号安全:凭据泄露可能导致 Garmin 账号被盗,建议使用专用账号或应用级授权(如支持)
- 数据准确性:CLI 依赖 Garmin Connect API 的数据同步状态,设备未同步时数据可能滞后
- 服务稳定性:第三方工具可能因 Garmin API 变更而突然失效
- 隐私合规:处理健康数据需确保符合当地数据保护法规,避免未经授权的第三方共享