Google Health API 迎來 CLI:ghealth 是 Fitbit Air 數據的開源工具
ghealth 是一個開源命令行工具,封裝了 Google Health API v4,提供 40 種經過驗證的數據類型,並以結構化 JSON 格式輸出。它專為終端和 AI 代理設計,支持 OAuth 2.0 認證,幷包含詳細的設置嚮導。該工具屬於社區項目,非 Google 官方發佈。
Google Health API 是 Fitbit Web API 的官方繼任者,而 ghealth 是一個新的開源命令行工具,旨在簡化對該 API 的訪問。它由 Go 語言編寫,發佈為單一二進制文件,採用 Apache 2.0 許可證。ghealth 封裝了 Google Health API v4,提供 40 種經過驗證的數據類型,將睡眠、心率、步數等數據以結構化 JSON 格式輸出,特別適合終端環境或 AI 代理直接使用。
該工具的設計思路是“代理優先”,每個命令都返回形狀穩定的簡化 JSON,並支持確定性退出碼、--dry-run 和 --raw 標誌。倉庫中還包含兩個 SKILL.md 文件,分別介紹認證配置和全部 40 種數據類型的操作細節,方便 AI 代理通過 npx skills add 安裝。
ghealth 支持的數據類型涵蓋 Fitbit 和 Pixel Watch 的主要信號,包括步速、心率、睡眠、體重、血氧飽和度和心率變異性等。部分臨牀類型如心電圖需要 ecg.readonly 範圍。每種類型支持特定操作,如 list、rollup、daily-rollup 和 reconcile,可寫類型還支持 create、update 和 delete。reconcile 操作可合併來自多個來源的重複數據點,對應 v4 API 中的 Reconciled Stream。
設置過程通過 ghealth setup 命令啓動,一個嚮導程序會引導用户在 Google Cloud Console 中創建桌面型 OAuth 客户端。用户需自行提供 OAuth 憑據,工具不持有任何共享密鑰。憑證文件存儲在 ~/.config/ghealth/ 目錄下,權限設置為 0600,令牌自動刷新。所有 Google Health API 範圍均被歸類為受限,生產環境使用需通過隱私和安全審查。個人使用則只需授權自己的項目。
實際操作中,讀取數據保持一致的命令格式。例如,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/table 轉換格式。分頁支持通過 nextPageToken 和 --page-token 實現無損遍歷。
ghealth 的應用場景靈活:可將睡眠數據管道傳輸給 Claude Code 或 Codex 代理以分析深睡趨勢;可將運動數據導出為 TCX 格式供 pandas 分析;或通過 CSV 格式查詢 30 天靜息心率並繪製圖表。
與其他工具相比,ghealth 強調代理友好輸出和簡化認證。原始 REST API 提供最直接的控制,但 ghealth 降低了終端和代理使用的門檻。該工具託管在 Google-Health-API GitHub 組織下,屬於社區項目,並非 Google 官方發佈。