Google Health API 开源 CLI 工具 ghealth:用终端或 AI 代理管理 Fitbit 健康数据
ghealth 是一个开源 CLI 工具,将 Google Health API v4 封装为单一 Go 二进制文件,支持 40 种健康数据类型(如心率、睡眠、步数)以 JSON 格式输出。本文介绍其安装、使用方法、与官方 API 的对比,以及中文用户如何利用它管理 Fitbit 或 Pixel Watch 数据。
一句话看懂
ghealth 是一个开源 CLI,将 Google Health API v4 封装成单一 Go 二进制文件,支持 40 种健康数据类型以 agent-ready JSON 输出,方便终端和 AI 代理直接使用。
详细发生了什么
Google Health API 是 Fitbit Web API 的官方继任者,基于 Google OAuth 2.0 认证。现在,一个名为 ghealth 的开源 CLI 工具将其封装,提供终端和 AI 代理友好的接口。ghealth 是一个单一 Go 二进制文件,采用 Apache 2.0 许可证,支持 40 种经过验证的数据类型,如 steps、heart-rate、sleep、weight、oxygen-saturation、heart-rate-variability 等,临床类型如 electrocardiogram 需要 ecg.readonly 作用域。
安装方式:从源码编译 go build -o ghealth .,生成单一二进制文件。设置通过 ghealth setup 命令引导,用户需在 Google Cloud Console 创建 Desktop 类型 OAuth 客户端,自行提供凭据。工具不持有共享密钥,令牌自动刷新,文件以 0600 权限存储在 ~/.config/ghealth/。
数据读取命令统一:例如 ghealth data heart-rate list --from today --limit 10 返回最近心率读数,ghealth data steps daily-rollup --from 2026-03-22 --to 2026-03-29 返回每日步数汇总。输出默认简化 JSON,可用 --raw 获取原始响应,--format csv 或 --format table 切换格式。分页通过 nextPageToken 和 --page-token 实现。
ghealth 还提供两个 Agent Skills 文件(SKILL.md),分别覆盖认证设置和 40 种数据类型操作,可通过 npx skills add 安装。
中文圈视角
对中文用户来说,ghealth 的价值在于:
- 数据自主权:国内用户若拥有 Fitbit 或 Pixel Watch,可通过 ghealth 将健康数据导出为本地 JSON/CSV,无需依赖第三方平台。但需注意,Google Health API 需要 Google 账号和 OAuth 认证,国内访问可能需要网络环境。
- AI 代理集成:ghealth 的 agent-first 设计使其输出可直接喂给 Claude Code、Codex 等 AI 工具。例如,将睡眠数据以 JSON 格式输入,让 AI 分析深度睡眠趋势。国内类似场景可使用国产模型(如 DeepSeek、Kimi)配合本地脚本处理。
- 与国产设备对比:目前国内主流健康设备(如小米手环、华为手表)多使用自有 API,缺乏统一 CLI 工具。ghealth 的模式值得借鉴,但直接用于国产设备需适配。
- 隐私合规:ghealth 要求用户自行创建 OAuth 客户端,数据不经过第三方服务器,但 Google Health API 的 Restricted 作用域需隐私审查。国内用户需注意数据出境合规。
几条值得记住的细节
- ghealth 是社区项目,非 Google 官方发布,托管在 Google-Health-API GitHub 组织下。
- 支持 40 种数据类型,包括 steps、heart-rate、sleep、weight、oxygen-saturation、heart-rate-variability 等,临床类型需额外作用域。
- 设置需自行在 Google Cloud Console 创建 Desktop 类型 OAuth 客户端,令牌自动刷新。
- 输出支持 JSON、CSV、表格格式,可通过
--raw获取原始 API 响应。 - 提供 Agent Skills 文件,方便 AI 代理直接调用。
一句话总结
如果你是 Fitbit 或 Pixel Watch 用户,ghealth 让你用终端或 AI 代理轻松管理健康数据,但需注意网络环境和隐私合规。