新闻详情

新闻详情

首页 / 资讯中心 / 详情

一文看懂Open Wearables统一数据模型:摘要、时间序列与事件如何抹平设备差异

发布时间:2026/10/2 21:22:11来源:尧图网络
一文看懂Open Wearables统一数据模型:摘要、时间序列与事件如何抹平设备差异
一文看懂Open Wearables统一数据模型摘要、时间序列与事件如何抹平设备差异【免费下载链接】open-wearablesSelf-hosted platform to unify wearable health data through one AI-ready API.项目地址: https://gitcode.com/gh_mirrors/op/open-wearablesOpen Wearables 是一个自托管的开源平台通过一套AI-Ready API将 Garmin、Oura、Whoop、Apple Health 等穿戴设备的数据统一成一个统一数据模型Unified Data Model。无论你用哪块手表、哪支戒指、哪个 App查出来的心率、睡眠、运动数据都长得一样。这篇文章带你用一张图 三张表彻底搞懂它背后的设计。先说痛点为什么多设备数据这么难用不同厂商的数据格式五花八门Garmin 叫Body BatteryOura 叫Readiness语义完全不同步数有的存整数、有的存分钟级聚合值单位还有米和公里之分睡眠阶段划分标准各不相同时区和时区偏移处理也不统一如果每个 App 都要单独对接每家厂商的 OAuth、API 和数据映射开发成本会爆炸。Open Wearables 的做法是在数据入口做一次归一化之后所有访问者后端、前端、AI Agent都只面对一套结构。统一数据模型三大支柱事件、时间序列、描述符官方文档对架构的完整阐述见 docs/architecture/unified-data-model.mdx。整个模型围绕三类核心结构展开1️⃣ 事件Events一次完整的发生过的事适用于有明确起止时间的记录一次跑步、一夜睡眠、一次月经周期。字段说明category事件类别如workout、sleepstart_datetime/end_datetime起止时间与时长详情表多态按类别挂WorkoutDetails心率 min/max/avg、距离、卡路里或SleepDetails深睡/REM/清醒分钟数对应源码backend/app/models/event_record.py2️⃣ 时间序列Time Series所有中高频数据的共享池所有心率、HRV、SpO2、步数、体重……全部存进同一张表data_point_series靠两个维度区分类型通过series_type_definition表引用每种类型绑定标准单位bpm、kg、kcal避免单位混乱来源设备每个数据点都带设备映射 ID同一分钟两台设备各记各的互不覆盖源码参考backend/app/models/data_point_series.py、backend/app/models/series_type_definition.py完整支持的 100 数据类型清单含单位见 docs/architecture/data-types.mdx。3️⃣ 描述符与 ID 映射慢变信息与设备身份证PersonalRecord生日、性别等静态生物特征用于计算年龄相关指标DataSource设备映射把用户 厂商 设备映射成一个内部 ID其他表只需引用这个 ID既标明来源又不撑宽时间序列表见 backend/app/models/data_source.py摘要 API时间序列之上的日报层原始时间序列太细分钟级甚至秒级看趋势不现实。Open Wearables 在上面盖了一层按天聚合的摘要接口一次请求拿一天的全貌接口内容GET /users/{id}/summaries/activity步数、活动能量、站立时间等每日活动汇总GET /users/{id}/summaries/sleep睡眠时长、效率、各阶段占比GET /users/{id}/summaries/recovery恢复分、HRV、静息心率、SpO2路由实现见 backend/app/api/routes/v1/summaries.py。时间序列查询则支持resolution参数可按1min/5min/1hour聚合心率取均值、步数取总和——聚合规则统一由平台代劳你不用关心设备差异。抹平设备差异的 4 个关键设计单位标准化每种序列类型在定义表里绑定唯一单位Garmin 的皮肤温度偏差和 Ultrahuman 的体温会被重新归类到同一语义类型项目里甚至专门写了 数据重标注脚本 处理历史数据运动类型归一化各厂商的run/跑步/TREADMILL统一映射为 100 个标准类型如running、cycling来源可追溯原始 ID 保留在external_id字段归一化不丢信息数据优先级同一指标多台设备同时上报时可由用户配置哪家设备说了算面向 AI 的数据出口MCP Server统一模型的直接受益者是 AI内置 MCP Server 让 Claude、Cursor 等助手可以直接问我上周睡得怎么样AI 自己决定查睡眠事件还是时间序列。工具实现见 mcp/app/tools/。路线图数据模型还将演进官方将演进分为四个阶段基础模型当前→ 广谱数据支持 → 复杂指标计算VO2 max、EPOC 等由计算引擎推导→ 时间序列按整数/小数/分类拆分以优化存储小结你想查的用哪个结构昨晚睡了多久、深睡多少睡眠事件 SleepDetails最近一周 HRV 趋势时间序列heart_rate_variability今天走了多少步、烧了多少千卡活动摘要 API上周三 5 公里跑步详情运动事件 WorkoutDetails一句话总结Open Wearables 用事件管发生过什么、时间序列管连续变化、摘要管每日全貌再用设备映射和单位定义把 10 厂商的差异挡在入口让你拿到手的永远是同一套字段、同一套单位 【免费下载链接】open-wearablesSelf-hosted platform to unify wearable health data through one AI-ready API.项目地址: https://gitcode.com/gh_mirrors/op/open-wearables创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

集团首都公报:放飞炬人集团行政总裁方达炬批准  设置  自主战斗署全球范围的自主战斗主管部门,自主战斗领导机构。 2026/10/2 23:44:30

集团首都公报:放飞炬人集团行政总裁方达炬批准 设置 自主战斗署全球范围的自主战斗主管部门,自主战斗领导机构。

集团首都公报:放飞炬人集团行政总裁方达炬批准 设置 自主战斗署 全球范围的自主战斗主管部门,自主战斗领导机构。

阅读更多 →
[强网杯 2019]随便注_CTF2 2026/10/2 23:42:47

[强网杯 2019]随便注_CTF2

靶场环境:easy_sql 环境展示 解题过程 1. 判断注入类型 输入 1 正常回显 输入 1 报错 说明存在单引号字符型注入。 2. 判断字段数 通过 order by 探测: 1 order by 1# 正常 1 order by 2# 正常 1 order by 3# 报错 说明当前查询语句有 2 个字段。…

阅读更多 →
022_位填充规则违反后的错误检测过程 2026/10/2 23:40:52

022_位填充规则违反后的错误检测过程

022、位填充规则违反后的错误检测过程 那个让人抓狂的“幽灵丢帧” 前年做一个多节点同步采集的项目,主控和几个从节点走差分总线,波特率跑到500k。实验室里跑了一整天,丢帧率稳定在千分之三左右,偶尔某个从节点会彻底掉线,重新上电又好了。一开始怀疑是线缆屏蔽没做好,…

阅读更多 →
1-26笔记 2026/10/2 23:40:21

1-26笔记

1.计算机基础2.CS架构与BS架构 C:客户端(需要安装;不可跨平台) B:浏览器(无需安装;无需更新;可跨平台) S: 服务器 3.网页 结构(HTML) 表现&…

阅读更多 →
AI开始“主动上班”了:OpenAI推出24小时在线的智能体 Dots 2026/10/2 23:38:15

AI开始“主动上班”了:OpenAI推出24小时在线的智能体 Dots

以前用 AI,通常是人先提问,AI 再回答。现在,AI 开始尝试在你没发出下一条指令时,继续推进工作。 9月29日,OpenAI 发布智能体产品 Dots。据官方介绍,每个 Dot 都有自己的云端电脑,可以使用浏览器…

阅读更多 →
cywebdh导航主题6.1.0版本前瞻 2026/10/2 23:33:29

cywebdh导航主题6.1.0版本前瞻

1.全面优化导航系统细节。 重大更新: 2.内置indexNow实现必应快速收录[站点足够优质可实现天级收录,即当天发布当天收录] 3.全局改为采用模块化布局设计,像拼积木一样自由搭配组合。随心调整,无需繁琐操作,即可快速构…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉