Garmin Connect Sync (国际→国内)

Security

佳明国际账号数据同步到国内账号(基于 garminconnect 开源库)

Install

openclaw skills install garmin-connect-sync

Garmin 国际→国内账号同步技能 v2.0

基于 python-garminconnect 开源库, 从 Garmin Connect International 读取活动数据,下载 FIT 文件后上传到 Garmin Connect China。

功能

功能命令说明
🔄 同步sync执行一次完整同步(读取国际版→下载FIT→上传国内版)
📊 状态status查看同步状态和统计
📋 列表list查看最近活动记录
🔧 认证测试auth-test测试国际版和国内版账号认证

使用方式

// 完整同步(最近7天)
sync()

// 同步最近30天
sync({ days: 30 })

// 查看同步状态
status()

// 列出最近活动
list()

// 测试认证
auth-test()

同步原理

  1. 🔐 登录国际版 Garmin Connect,获取活动列表
  2. ⬇️ 下载每条活动的原始 FIT 文件
  3. 📤 登录国内版 Garmin Connect,上传 FIT 文件
  4. 💾 记录已同步的活动 ID,避免重复

环境变量配置

变量必填说明
GARMIN_INTL_USERNAME国际版 Garmin 账号(邮箱)
GARMIN_INTL_PASSWORD国际版 Garmin 密码
GARMIN_CN_USERNAME国内版 Garmin 账号(邮箱/手机)
GARMIN_CN_PASSWORD国内版 Garmin 密码
GARMIN_SYNC_DIR数据存储目录(默认 ~/.garmin-sync)

⚠️ 注意事项

  1. API 限流: Garmin API 有请求频率限制,同步间隔会自动处理
  2. 重复检测: 已同步的活动会自动跳过,不会重复上传
  3. FIT 缓存: 下载的 FIT 文件保存在本地,可定期清理
  4. 首次使用: 建议先用 auth-test 验证账号配置是否正确

版本历史

v2.0.0 (2026-04-29)

  • 全面重写,基于 python-garminconnect 真实 API
  • 支持完整的认证流程(含 OAuth token 持久化)
  • 支持 FIT 文件下载 + 国内版上传
  • 支持活动去重和状态记录

v1.0.0 (2026-04-16)

  • 初始版本(模拟实现,未对接真实 API)