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 官方釋出。