核心功能
Garmin Pulse 是一款面向 Garmin 智能穿戴设备用户的本地化健康数据同步工具。它通过调用 Garmin Connect 的私有 API,将用户的睡眠时长、活动记录、静息/运动心率、压力指数、身体电量、HRV(心率变异性)、血氧饱和度及体重数据,自动抓取并整理为结构清晰的 Markdown 文件,按日期归档于本地目录。
显著优点
1. 隐私优先的本地存储:所有健康数据以纯文本 Markdown 形式存储于用户设备,而非云端第三方服务器,大幅降低数据泄露风险。
2. 一次性认证机制:采用 OAuth 令牌缓存策略,首次配置后密码即被丢弃,后续 12 个月内无需重复输入凭证,兼顾便利与安全。
3. 零依赖环境隔离:借助 Astral 出品的 uv 工具,自动解析 PEP 723 内联元数据,在独立虚拟环境中安装 garminconnect 与 cloudscraper,免除手动 pip 管理的繁琐。
4. 自动化定时同步:内置 Cron 支持,可设定每日清晨自动更新,确保健康档案始终处于最新状态。
潜在局限与风险
- 非官方 API 依赖:Garmin 未开放公开 OAuth 接口,工具通过逆向/私有端点访问,存在接口变更导致功能失效的风险,且可能违反 Garmin 服务条款。
- 令牌安全责任:缓存令牌位于
~/.garminconnect/,虽比明文密码安全,但若设备被物理入侵或恶意软件窃取,仍可泄露账户访问权限。 - 健康数据敏感性:导出的 Markdown 包含详细生理指标,若未加密存储或同步至未受保护的云盘,存在隐私暴露隐患。
- 无实时健康建议:工具仅作数据导出,不提供医学解读或运动建议,用户需自行判断数据含义。
适合人群
- 注重数据主权的 Garmin 设备用户
- 希望通过本地文件管理健康档案的量化自我(Quantified Self)爱好者
- 需要将健康数据与 Obsidian、Notion 等笔记系统联动的效率工具用户
- 具备基础命令行操作能力的技术型用户
常规风险提示
- 定期关注上游仓库更新,以应对可能的 API 变更
- 建议对
~/.garminconnect/及{baseDir}/health/目录启用文件级加密或磁盘加密(如 macOS FileVault、Linux LUKS) - 避免将健康 Markdown 文件提交至公共代码仓库或未加密的云同步服务