garmin-connect

本地优先的健身数据管家

基于OAuth的Garmin健身数据同步工具,每5分钟自动拉取步数、心率、睡眠等健康指标至本地,数据不上云,隐私可控。

收藏
16.6k
安装
4k
版本
v1.0.0
CLS 安全性认证2026-04-30
点击查看完整报告 >

使用说明

核心用法

Garmin Connect Skill 是一款面向 Clawdbot 用户的健身数据同步工具,通过 OAuth 认证接入 Garmin Connect 平台,实现步数、心率、卡路里、睡眠质量、运动记录等全维度健康数据的自动化采集。用户仅需执行一次 garmin-auth.py 完成 OAuth 授权,系统即生成本地会话文件,后续通过 cron 定时任务每 5 分钟自动同步最新数据至本地缓存,供 Clawdbot 随时调用展示。

显著优点

隐私优先的架构设计:所有数据仅存储于本地 ~/.clawdbot/.garmin-cache.json,不经过第三方服务器,杜绝云端泄露风险。OAuth 安全认证:采用 garth 库实现标准 OAuth 流程,不保存用户明文密码,会话令牌本地加密存储。实时性与完整性兼顾:5 分钟高频同步确保数据新鲜度,覆盖日常活动、睡眠分期、运动详情三大核心模块。低耦合易集成:提供 format_all()()get_as_dict()() 两种数据接口,Clawdbot 可无缝嵌入对话场景。多用户支持:通过独立的会话文件路径实现家庭或团队多账号管理。

潜在缺点与局限性

硬编码路径问题:部分脚本存在 /home/mamotec// 等开发者本地路径硬编码,用户需手动修改适配自身环境。第三方库依赖风险:核心功能依赖 garminconnectgarth 两个非官方库,若作者停止维护或引入漏洞,将直接影响 skill 可用性。无输入验证机制:认证脚本直接接收命令行邮箱密码,缺乏格式校验,误操作可能导致认证失败或日志残留敏感信息。2FA 兼容性差:官方建议禁用双因素认证或使用应用专用密码,对安全敏感用户不够友好。Garmin 平台依赖:数据同步受限于 Garmin 服务器状态,API 限流或变更可能导致服务中断。

适合的目标群体

健康管理重度用户:需持续追踪运动、睡眠数据以优化生活方式的健身爱好者。量化自我实践者:希望通过 Clawdbot 实现自然语言查询健康数据的极客用户。隐私敏感型用户:拒绝将健康数据上传至第三方云平台,坚持本地优先存储理念的人群。Clawdbot 生态用户:已部署 Clawdbot 且希望扩展其功能至健康领域的现有用户。小型团队/家庭场景:需要为多成员统一管理健身数据的管理员。

使用风险

会话令牌泄露风险~/.garth/session.json 包含有效 OAuth 令牌,若文件权限设置不当(建议 600)或被恶意程序读取,可导致 Garmin 账号被冒用。依赖项供应链风险:第三方库更新可能引入破坏性变更或安全漏洞,需建立定期更新机制。cron 任务堆积风险:网络延迟或 Garmin 服务异常时,30 秒超时机制虽可防止挂起,但频繁失败可能导致日志膨胀。数据时效性局限:5 分钟同步间隔意味着数据非真正实时,高强度训练场景下存在延迟。硬编码配置维护成本:路径未参数化导致升级或迁移时需人工干预,增加运维复杂度。

安全解读

核心用法

Garmin Connect Skill 是一个用于 Clawdbot 的健身数据同步工具,支持从 Garmin Connect 平台拉取完整的健康与运动数据。用户通过 OAuth 一次性认证后,可设置每5分钟自动同步,数据包括日常活动(步数、静息心率、卡路里、活跃分钟数)、睡眠分析(时长、质量评分、深睡/REM/浅睡比例)以及近期运动记录(距离、时长、消耗、心率区间)。

使用方法简洁:运行 garmin-auth.py 完成 OAuth 登录生成本地会话文件,随后通过 cron 定时执行 garmin-sync.py 即可保持数据更新。Python 接口提供 format_all() 格式化输出和 get_as_dict() 原始数据获取两种模式,便于集成到各类自动化工作流。

显著优点

安全架构合理:采用 OAuth 认证而非密码存储,敏感会话信息保存在 ~/.garth/session.json,健身数据缓存于 ~/.clawdbot/.garmin-cache.json,全程本地处理无云端上传风险。依赖的 garthgarminconnectrequests 均为成熟开源库,无已知 CVE。

功能覆盖全面:不仅同步基础步数和卡路里,还包含专业级睡眠分期数据和完整运动档案,满足健身爱好者和健康追踪用户的需求。

集成友好:专为 Clawdbot 设计,API 简洁,支持多用户场景,5分钟高频同步确保数据时效性。

潜在局限

可移植性瑕疵:部分脚本存在硬编码绝对路径(/home/mamotec/)和开发者邮箱,其他用户需手动修改才能使用,虽不影响安全性但降低开箱即用体验。

外部依赖风险:完全依赖 Garmin 官方 API,而 Garmin 在2024年强制推行 OAuth 变更已有历史,未来 API 变动可能导致 Skill 失效,需持续关注上游库更新。

隐私合规提示:处理健康敏感数据,需用户明确知情同意,文档中缺乏专门的隐私条款说明。

适合人群

Garmin 设备用户、量化健康爱好者、希望将健身数据整合到自动化工作流(Clawdbot)的开发者,以及注重数据本地化的隐私敏感型用户。

常规风险

  • 依赖外部服务可用性,Garmin 服务器维护或认证变更会导致同步中断
  • 需妥善保管 OAuth 会话文件,设备丢失或权限配置不当可能导致账户访问风险
  • 高频同步(5分钟)可能触发 Garmin 的速率限制,建议合理设置间隔

garmin-connect 内容

scripts文件夹
手动下载zip · 10.6 kB
garmin-auth-oauth.pytext/plain
请选择文件