Google Health API 推出 CLI:ghealth 是一款针对 Fitbit 数据的开源工具

Google Health API 是 Fitbit Web API 的官方后继版本。它面向 Google Health API v4,并将开发者迁移至 Google OAuth 2.0。现在有一款名为 ghealth 的开源 CLI 命令行工具,为该 API 提供了终端和 AI 智能体的封装。

该工具是一个独立的 Go 二进制文件,采用 Apache 2.0 许可证。它公开了 40 种经过验证的数据类型,以结构化 JSON 格式呈现。这种设计让你可以将睡眠、心率和步数数据直接导入到智能体的上下文(context)中。

什么是 ghealth?​

ghealth 是 Google Health API v4 的一个封装器。你可以通过 go build -o ghealth . 从源码编译构建。它以一个自包含的二进制文件形式交付。

该工具明确以智能体(agent)优先。每条命令都返回简化且结构稳定的 JSON。此外,它还提供了确定性的退出码、--dry-run 标志和 --raw 标志。

代码仓库附带两个智能体技能(Agent Skills)文件,格式为 SKILL.md。一个涵盖了认证、设置和全局标志;另一个记录了全部 40 种数据类型、操作、常见模式及注意事项。智能体通过 npx skills add 安装这些技能。

该 CLI 托管在 Google-Health-API GitHub 组织下。该组织还维护着一些长期存在的 Fitbit 开源仓库。

数据面:40 种已验证的数据类型​

这 40 种类型涵盖了 Fitbit 和 Pixel Watch 的大部分信号。例如步数、心率、睡眠、体重、血氧饱和度和心率变异性。临床类数据(如心电图)需要 ecg.readonly 作用域。

每种类型都支持一组操作子集。常见操作包括 list、rollup、daily-rollup 和 reconcile。可写入类型(运动、睡眠、体重、体脂、身高)额外支持 create、update 和 delete。

reconcile 操作会合并来自多个源的重叠数据点。这与 v4 API 中的 Reconciled Stream(已调和对齐流)功能一致。

睡眠数据是模式分析的一个很好的例子。默认 list 操作返回摘要。添加 --detail 标志可返回各阶段数据(清醒、深睡、REM)。这有助于你按周观察睡眠模式的变化。

设置:实际操作步骤​

设置通过一条命令完成:ghealth setup。一个向导会引导你完成 GCP 项目和 OAuth 配置。你需要在 Google Cloud Console 中创建一个桌面类型的 OAuth 客户端。

你自行提供 OAuth 凭据。该工具不持有任何共享密钥。文件写入 ~/.config/ghealth/ 目录,权限为 0600。Token 会自动刷新。

所有 Google Health API 作用域均被归类为“受限”。Google 要求生产环境访问需通过隐私与安全审核。个人使用时,你需在自己的项目中授权自己的账号。该 API 可返回来自 Fitbit、Pixel Watch 及已连接的第三方来源的数据。

无浏览器交互流程使用 PKCE 加 S256 挑战。它还会在流程结束时验证一个随机 state 参数。

动手实操:命令与输出​

读取数据在所有类型上保持一致。每次读取都会返回一个对象,其中 dataPoints 下包含多行数据。

复制代码 已复制 请使用其他浏览器
代码:
# Recent heart rate readings
ghealth data heart-rate list --from today --limit 10

# Daily step totals for a week
ghealth data steps daily-rollup --from 2026-03-22 --to 2026-03-29

# Sleep stages for the last five nights
ghealth data sleep list --limit 5 --detail
步数汇总会返回聚合后的 JSON:

复制代码 已复制 请使用其他浏览器
代码:
{
"dataPoints": [
{"date": "2026-03-28", "countSum": "9037"},
{"date": "2026-03-27", "countSum": "2408"}
]
}
默认情况下输出已简化。使用 --raw 可获取原始 API 响应。使用 --format csv--format table 可切换为其他格式。-o 参数用于写入文件并打印 Schema 预览。

分页不会丢失数据。大型列表会返回一个 nextPageToken。你可以通过 --page-token 将其传回,以获取下一页。

使用示例​

  • 将睡眠模式输入智能体:使用 --detail 拉取多晚数据,将 JSON 通过管道传给 Claude Code 或 Codex 会话,让智能体总结一周内的深睡眠趋势。
  • 将运动数据加载到 pandas:运行 ghealth data exercise export-tcx --id <id> --output ride.csv --as csv,每一行对应一个带有心率和 GPS 的轨迹点,然后运行 pd.read_csv 读取该文件。
  • 构建静息心率视图:查询连续 30 天的每日静息心率,使用 --format csv 输出 CSV,在笔记本或仪表盘中绘制图表。

ghealth 对比​

下表将 ghealth 与原始 API 及另外两个 CLI 工具进行对比。另外两个 CLI 均自称是非官方工具。

属性ghealth(本 CLI)Google Health API v4(直接 REST)rudrankriyam/Google-Health-CLIgooglehealth-cli(npm)
安装git clone + go build无;自行调用 HTTP/gRPC从 Go 源码构建npm i -g googlehealth-cli
语言Go,单二进制文件任意GoNode.js
认证你自己的 OAuth 客户端,PKCE S256Google OAuth 2.0你自己的 OAuth 客户端你自己的 OAuth 客户端
智能体输出简化 JSON、退出码、SKILL.md原始 JSON / gRPC可预测的 JSON稳定版 --json 信封
数据类型40 个已验证与实时 API 一致完整的 v4 表面追踪已文档化的 v4 表面类型的子集
官方状态否;社区维护,位于 Google-Health-API 组织下是;Google否;声明为非官方否;声明为无关联
对于原始控制,直接使用 REST API 是事实标准。对于终端和智能体使用,ghealth 减少了认证和格式化的样板代码。

评论

没有可显示的评论

信息

作者
波坤太叔
发布时间
查看
2

波坤太叔更多新闻

  • 豆包智能体功能将于7月15日下线,官方建议提前完成备份
    豆包发布通知,智能体功能因产品功能调整将于2026年7月15日下线。下线后用户仍可在一段时间内查看并保存智能体信息及历史对话数据;2026年10月15日后,豆包将根据《隐私政策》处理相关数据,届时无法查看或恢复。官方建议通过截图或分享导出文本提前备份。字节跳动旗下猫箱App可创建新智能体、开启对话服务。
  • NVIDIA 发布 Nemotron-Labs-TwoTower 开放权重扩散语言模型
    NVIDIA 发布 Nemotron-Labs-TwoTower,基于冻结的自回归骨干 Nemotron-3-Nano-30B-A3B 的扩散语言模型。采用双塔架构:上下文塔冻结,降噪器塔训练,通过层对齐交叉注意力和状态播种协作。在 2×H100 上 BF16 评估,保留 98.7% 的 AR 基线质量,生成吞吐量提升 2.42 倍(γ=0.8,块大小 S=16)。降噪器在约 2.1T token 上训练,骨干使用 25T token 预训练。总参数约 60B,每 token 活跃参数约 3B/塔。支持扩散
  • 面向 Web 开发者的 Safari MCP 服务器
    Safari Technology Preview 247 推出 Safari MCP 服务器,基于 Model Context Protocol,允许任何 MCP 兼容客户端连接 Safari 浏览器窗口。智能体可获取 DOM、网络请求、截图、控制台输出等信息,自主完成调试、性能分析、可访问性检查等任务。内置 browser_console_messages、screenshot、evaluate_javascript、list_network_requests 等工具。开发者安装后启用“远程自动化与外部
  • OpenAI 预览新一代模型 GPT-5.6 Sol
    GPT-5.6 Sol 不是一次常规升级,它把推理推到新高度,还引入了子代理模式。但美国政府要求有限预览,让这次发布多了点政治味道。
  • 全球首例 AI Agent 勒索攻击曝光,从漏洞利用到数据库加密全程自主完成
    安全厂商 Sysdig 首次记录到 AI Agent“JADEPUFFER”自动完成的勒索攻击。攻击利用暴露的 Langflow 服务漏洞 CVE-2025-3248 远程执行 Python 代码,随后自主收集 OpenAI、Anthropic、DeepSeek、Gemini 等 API 密钥及阿里云、腾讯云、华为云、AWS、Google Cloud、Azure 等云平台凭证,通过 MinIO 默认密码访问对象存储并创建每 30 分钟连接的计划任务。横向移动到 MySQL 和 Nacos 服务器,利用数据库
社区
规则 帮助 用户
  • 目前没有人在聊天。
聊天中还没有人留言。快跟大家说声Hi!
用户活动
刚才 · 5318资源社区