the-momentum/open-wearables

GitHub: the-momentum/open-wearables

统一多品牌可穿戴设备健康数据的自托管平台,通过单一API简化多供应商集成并支持AI驱动的健康洞察。

Stars: 909 | Forks: 107

# Open Wearables
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![PRs Welcome](https://img.shields.io/badge/PRs-Welcome-blue.svg)](https://github.com/the-momentum/open-wearables/issues) ![Built with: FastAPI + React + Tanstack](https://img.shields.io/badge/Built%20with-FastAPI%20%2B%20React%20%2B%20Tanstack-green.svg) [![Discord](https://img.shields.io/badge/Discord-Join%20Chat-5865F2?logo=discord&logoColor=white)](https://discord.gg/qrcfFnNE6H)
**文档**:https://docs.openwearables.io 开源平台,统一来自多个供应商的可穿戴设备数据,并通过自然语言自动化启用 AI 驱动的健康洞察。使用单一 API、可嵌入的小部件和智能 webhook 通知,更快地构建健康应用程序。 ## 功能介绍 Open Wearables 提供统一的 API 和开发者门户,用于连接和同步来自多个可穿戴设备和健身平台的数据。无需为每个供应商(例如 Garmin、Whoop、Apple Health)单独实现集成,您可以使用单一平台访问标准化的健康数据,并通过 AI 驱动的自动化构建智能健康洞察。
image
## 为什么使用它 **对于构建健康应用的开发者:** - 🔌 通过一个 API 集成多个可穿戴设备供应商,而无需维护单独的实现 - 📊 访问跨不同设备的标准化健康数据(心率、睡眠、活动、步数等) - 🏠 自托管解决方案 - 在您自己的基础设施上部署,拥有完全的数据控制权 - 🚀 核心功能无第三方依赖 - 使用 `docker compose up` 在本地运行 - 🤖 使用自然语言构建 AI 驱动的健康洞察和自动化(即将推出) - 🧩 可嵌入的小部件,便于集成到您的应用程序中(即将推出) **它解决的问题:** 构建支持多个可穿戴设备的健康应用通常需要: - 每个供应商(Garmin、Whoop、Apple Health 等)投入大量开发工作,以实现 OAuth 流程、数据映射和同步逻辑 - 为每个服务管理不同的 OAuth 流程和 API - 处理各种数据格式和单位 - 维护多个 SDK 并应对 API 变更 Open Wearables 处理了这些复杂性,让您可以专注于构建产品 🚀 ## 使用案例 - 🏃 **健身教练应用**:连接用户的可穿戴设备以提供个性化的训练建议。跑步教练可以创建用户,通过 WhatsApp 分享连接链接,并测试 AI 洞察功能 - 🏥 **医疗保健平台**:聚合来自各种设备的患者健康数据,并为健康警报设置自动化 - 💪 **健康应用**:通过 AI 驱动的洞察,跟踪和分析用户在不同可穿戴设备上的活动 - 🔬 **研究项目**:从多个来源收集标准化的健康数据 - 🧪 **产品试点**:非技术产品所有者可以通过与用户分享连接链接来测试平台功能,而无需自己的应用程序 - 👤 **个人使用**:个人可以自托管平台以连接自己的可穿戴设备,使用 AI 健康助手与他们的健康数据聊天,并设置个人健康洞察 - 所有这些都拥有完整的数据隐私和控制权 ## 快速开始 几分钟内启动并运行 Open Wearables。 1. **克隆代码库:** git clone https://github.com/the-momentum/open-wearables.git cd open-wearables 2. **配置环境变量:** **后端配置:** cp ./backend/config/.env.example ./backend/config/.env **前端配置:** cp ./frontend/.env.example ./frontend/.env 3. **启动应用程序** **使用 Docker(推荐):** 最简单的入门方法是使用 Docker Compose: docker compose up -d 关于不使用 Docker 的本地开发设置,请查看 [文档](https://docs.openwearables.io/quickstart#local-development-setup) 4. **登录开发者门户:** 启动时会使用 `ADMIN_EMAIL` 和 `ADMIN_PASSWORD` 环境变量自动创建一个管理员帐户(默认值:`admin@admin.com` / `your-secure-password`)。 打开 http://localhost:3000 访问开发者门户并创建 API keys。 5. **填充示例数据**(可选): 如果您需要测试用户和示例活动数据: make seed 这将创建: - 测试用户 - 测试用户的示例活动数据 6. **查看 API 文档:** 在浏览器中打开 http://localhost:8000/docs 以浏览交互式 Swagger UI。 ## 核心功能 ### 开发者门户仪表板 用于管理您的集成的 Web 仪表板: - 📈 **常规统计**:一目了然地查看用户数和数据点数 - 👥 **用户管理**:通过门户或 API 添加用户 - 📋 **用户详情**:查看已连接的数据源、集成状态以及带有可视化的用户指标 - 🔑 **API Key 管理**:在 Credentials 标签页中生成和管理凭证 ### 健康洞察与自动化(即将推出) 平台最强大的功能 - 使用自然语言定义智能健康洞察: - 💬 **自然语言条件**:用简单的英语描述何时应触发通知 - 🔔 **Webhook 通知**:配置您的后端 endpoint 以接收实时健康洞察 - 🧪 **测试自动化**:在历史数据上运行演习 (dry runs),以了解自动化在实践中如何工作 - 👤 **人机协同**:在测试期间标记错误的 AI 解释,以持续改进系统 - ✨ **改进描述**:AI 驱动的建议,帮助您完善自动化描述 - 📜 **自动化日志**:查看过去的自动化触发情况并提供反馈 ### AI 健康助手(即将推出) - 💬 用于调试和探索用户数据的交互式聊天界面 - 🧩 可嵌入的小部件,只需几行代码即可集成到任何应用中 - 🔄 可自定义的 AI 模型(根据需要更换模型) - 🔍 关于用户健康指标的自然语言查询 ### 统一 API 无论源设备如何,都通过一致的 REST API 访问健康数据。 ### 供应商支持 - ☁️ **基于云**:Garmin、Suunto、Polar(更多即将推出!) - 📱 **基于 SDK**:Apple HealthKit、Samsung Health、Google Health Connect ### OAuth 流程管理 为最终用户简化的连接流程: 1. 为您的用户生成一个连接链接(或使用 SDK 小部件) 2. 用户使用其可穿戴设备供应商进行身份验证 3. 数据自动同步到您的平台 4. 通过统一 API 访问 ### 移动同步 SDK 用于从设备端健康存储进行推送式健康数据同步的原生 SDK: - **[iOS SDK](https://github.com/the-momentum/open_wearables_ios_sdk)** (Swift) - Apple HealthKit - **[Android SDK](https://github.com/the-momentum/open_wearables_android_sdk)** (Kotlin) - Samsung Health & Google Health Connect - **[Flutter SDK](https://github.com/the-momentum/open_wearables_health_sdk)** (Dart) - 围绕原生 SDK 的跨平台封装 ### 小部件(即将推出) - 🔌 **连接小部件**:允许用户直接从您的应用连接他们的可穿戴设备 - 🤖 **AI 健康助手小部件**:嵌入 AI 聊天界面用于用户健康查询 ## 架构 构建技术栈: - 🐍 **后端**:FastAPI (Python) - ⚛️ **前端**:React + TanStack Router + TypeScript (Vite) - 🗄️ **数据库**:PostgreSQL + Redis - ⚙️ **任务队列**:Celery(用于数据同步和处理的后台作业) - 🔐 **认证**:自包含(无需外部认证服务) - 📡 **API 风格**:RESTful,附带 OpenAPI/Swagger 文档 该平台专为自托管而设计,这意味着每次部署服务于单个组织。没有多租户的复杂性。 ## 开发路线图 **已推出**: - 开发者门户 - 用户管理(通过 API 和开发者门户) - Garmin、Polar 和 Suunto 的 OAuth 流程 - Garmin、Polar 和 Suunto 的训练数据同步和 API 访问 - 移动同步 SDK(iOS、Android、Flutter) **开发中**: - 核心健康数据 endpoints - 健康洞察自动化 - AI 健康助手 - 增强的小部件集成 ## 加入 Discord 加入我们的 Discord 社区,与其他开发者交流、获取帮助、分享想法,并随时了解最新进展: [![Discord](https://img.shields.io/badge/Discord-Join%20Chat-5865F2?logo=discord&logoColor=white)](https://discord.gg/qrcfFnNE6H) ## 许可证 [MIT 许可证](LICENSE) - 可在商业和开源项目中自由使用。
标签:AI就绪, API网关, Apple Health, AV绕过, Docker, FastAPI, Garmin集成, React, Syscalls, Tanstack, Webhook通知, Whoop, 健康数据, 健身追踪, 包管理器, 医疗健康, 可穿戴设备, 威胁情报, 安全防御评估, 开发者工具, 开源平台, 搜索引擎查询, 数据聚合, 测试用例, 生物识别数据, 统一API, 自托管, 请求拦截, 逆向工具, 隐私优先