Open Health Sync Vibe 项目
13 个可穿戴源 + 6 套统一接口(含只读 MCP)的开源 Go 平台,amd64/arm64 镜像可跑树莓派
Open Health Sync:自托管可穿戴健康数据统一 API 网关
Apple Health、Oura、WHOOP、Withings、Strava、Dexcom、Fitbit……每家可穿戴厂商都把数据锁在自家云里,跨设备分析永远要先写一堆连接器。Open Health Sync 用一个 Go 二进制加 Postgres,把 13 个主流数据源收成统一模型,对外暴露 REST、FHIR R4、只读 MCP 等多种接口,让本地 AI 智能体和家用服务器也能"看懂"你的健康数据。
项目简介
Open Health Sync 是由 Soma Intelligence 开源的自托管可穿戴健康数据 API 平台(AGPL-3.0)。它在本地把 Apple Health、Health Connect、Withings、Oura、WHOOP、Fitbit、Polar、Strava、Suunto、Ultrahuman、Dexcom、OMRON、intervals.icu 等 13 个数据源同步到 Postgres,再以 REST、FHIR R4、Open mHealth、CSV/Parquet、外发 Webhook、只读 MCP 等 6 套统一接口对外输出。单 Go 二进制、amd64/arm64 双架构镜像、树莓派可跑,CI 全绿。
核心功能
- 13 个原生数据源:内置 Apple Health、Health Connect、Withings、Oura、WHOOP、Fitbit、Polar、Strava、Suunto、Ultrahuman、Dexcom、OMRON、intervals.icu,覆盖手环、智能手表、动态血糖仪、血压计、运动平台主流生态。
- 6 套统一输出:REST API、FHIR R4、Open mHealth、CSV/Parquet 文件导出、外发 Webhook、只读 MCP 服务器,AI 智能体可直接通过 MCP 查询生理数据。
- 后台增量同步:连接器自动检测编码、推断类型、抓取新增样本,本地 Postgres 保留 raw store 原始字节 + 标准化两层数据。
- 数据质量看板:自动输出缺失率、分布、重复、偏度等质量指标,无需手动抽样统计。
- 一条命令部署:Docker 镜像 + Helm Chart,amd64 / arm64 双架构,可跑在树莓派、家庭服务器、NAS 上,无云锁定。
- AGPL-3.0 开源:可商用、可二次开发、可审计,适合研究、临床、隐私敏感场景。
技术实现
项目以 Go 编写,采用模块化连接器架构:每家厂商独立实现 Connector 接口,负责鉴权、抓取、字段映射、增量游标;上游数据先落入"raw store"保留原始字节,再进入标准化层生成 FHIR R4 Observation、Open mHealth 资源。整套后端只依赖一个 Postgres 实例,没有额外的 Kafka / Redis 依赖。MCP 服务器以 stdio + JSON-RPC 暴露只读查询端点,Claude、Cursor 等智能体在取得授权后可拉取心率、HRV、睡眠等标准化数据。CI 覆盖单元测试 + 端到端集成,v0.1.0 已发版到 GHCR,amd64 / arm64 镜像均可拉取,GitHub Actions 工作流显示全绿。
快速上手
docker pull ghcr.io/soma-intelligence/open-health-sync:0.1.0- 准备 Postgres 14+ 实例,把连接串写入
.env或config.yaml - 在
config.yaml中填入所需数据源(Apple Health / Withings / Strava 等)的 OAuth 凭据 docker compose up -d启动后端,访问http://localhost:8080/api/v1/health检查连接器状态- 通过
http://localhost:8080/fhir/Observation暴露 FHIR R4 端点,或把 MCPstdio端点接入本地 Claude / Cursor - 在 Webhook 配置页订阅新增样本事件,做实时分析
适用人群
- 隐私优先、想摆脱厂商云锁定的健康数据玩家。
- 健身教练、运动科学家、慢病管理研究者,需要统一格式的多设备数据。
- AI 健康类应用开发者,需要可验证、合规的生理数据接入通道。
- 想把全家人健康数据集中备份到 NAS / 家庭服务器的硬核用户。
评论与建议
登录 后参与评论或提建议