SuperAPI AI 工具集

garmin-pulse

办公与效率

查看项目

更新于 10-15 21:47

技能介绍

用途:把 Garmin Connect 中的每日健康与健身数据同步为可读的 Markdown 文件,每个日期一个文件,存放于 {baseDir}/health/YYYY-MM-DD.md,便于按日期回答健康或健身相关问题。

主要能力:同步指标包括睡眠、活动、心率、压力、身体电量、HRV、血氧和体重等。健康数据文件位于 {baseDir}/health/YYYY-MM-DD.md,每天一个文件;若某日期文件不存在,先为该日期运行同步命令,再读取该文件回答。

使用方式:首次同步前需完成一次认证,令牌缓存约一年。若同步命令报错“No cached tokens found”,在终端运行:uv run {baseDir}/scripts/sync_garmin.py --setup --email you@example.com。密码通过 getpass 交互式提示,不会回显、不会存入 shell 历史,也不作为命令参数;成功后令牌缓存于 ~/.garminconnect。之后所有同步仅使用缓存令牌。

同步今日数据:uv run {baseDir}/scripts/sync_garmin.py 同步指定日期:uv run {baseDir}/scripts/sync_garmin.py --date 2026-02-07 同步最近 N 天:uv run {baseDir}/scripts/sync_garmin.py --days 7

依赖:使用 uv 运行同步脚本;uv 读取内联脚本元数据(PEP 723),会在隔离环境中自动安装依赖 garminconnect 与 cloudscraper,无需手动 pip install。

凭证与存储:Garmin Connect 不提供公开 OAuth API,因此需要一次邮箱/密码登录。设置时密码仅用于获取 OAuth 令牌,随后丢弃;令牌本地缓存于 ~/.garminconnect/ 约一年,运行时仅用缓存令牌。令牌过期需重新运行设置命令。写入路径包括 ~/.garminconnect/(缓存的 OAuth 令牌,属敏感信息,可访问用户 Garmin 账户)和 {baseDir}/health/(每日健康 Markdown 文件,含个人健康数据)。

定时:可用 OpenClaw 的 cron 工具将同步脚本安排为每天早晨运行,保持数据自动更新;无需环境变量或凭证,使用一次性设置后的缓存令牌。

限制:不要在聊天中索取密码,也不要通过命令行参数或标准输入传递密码,以免在进程列表或对话历史中泄露凭证。