跳转到主要内容

Mirobody 是什么?

Mirobody 是一个开源、可自托管的健康数据 + AI 引擎 —— 一个轻量的 C++ 内核,把你的个人健康数据接入 LLM,并可以在任何地方运行:作为独立服务跑在服务器上,或在设备本地跑在 Android / iOS 应用里,让数据永远无需离开手机。
  • 🧩 一个内核,三种形态 —— 同一个 C++ 引擎,既作为独立二进制(HTTP + WebSocket)分发,也作为共享库嵌入移动端宿主应用(Android 走 JNI、iOS 走 C API),还通过一个纯 extern "C" 接口让任何语言都能嵌入。
  • 🔌 MCP 服务器 —— 内置工具通过 Model Context Protocol 端点暴露,可被 ChatGPT、Claude、Cursor 或任何 MCP 客户端调用。
  • 🤖 多提供商对话 —— 一套流式接口覆盖 OpenAI、Google Gemini、MiroThinker,另有完全在设备本地运行的选项(Gemma,经 LiteRT-LM / llama.cpp),让对话无需服务器、无需网络也能跑。
  • 🔄 健康数据连接器 —— 可穿戴设备、手机健康存储、临床 EHR(经 SMART on FHIR)都通过可插拔的 vendor 客户端接入;设备本地存储(Apple Health、Health Connect)由宿主应用读取。
  • 🏥 原生 FHIR R4 —— 内嵌的 FHIR R4 端点把一切归一化(单位对齐到 UCUM;指标向 SNOMED CT / LOINC / RxNorm 映射),再以 FHIR 资源的形式返回。
本文档站覆盖 Mirobody 的健康垂直 —— 即 Theta Wellness 背后的引擎。

快速开始

构建 C++ 内核,几分钟内跑起来

用例与示例

基于合成健康数据的真实对话

Provider 集成

几小时接入一种新设备或数据源

托管 API 平台

比起自建,更想要托管 API?同一套引擎,由我们托管。

为什么选 Mirobody?

内核端到端在本地运行。在桌面 / 服务器上,它是一个单独的二进制,跑在你自己的 Postgres(或 SQLite)之上;在手机上,同一个内核在设备本地运行,健康数据无需离开设备,除非你主动选择同步。自带 LLM 密钥(OpenAI、Gemini、MiroThinker)—— 或用设备本地的 Gemma 完全离线运行。
单个 C++ 引擎,带一个纯 extern "C" 的 C API。它作为独立的 HTTP / WebSocket 二进制分发,作为共享库嵌入 Android / iOS 宿主应用,也可经该 C ABI 从 Java、Go、C#、Rust、Swift 或 Python 嵌入 —— 无需为每个平台重写。
只有一个 Agent:它按提供商名挑一个 LLM 客户端,构建系统提示词,把这一轮流式返回 —— 并按需调用内置的 MCP 工具(读文件、渲染图表、家庭健康、记忆)。
工具是 res/mcp_tools/ 下的 C++ 文件,在编译期自注册 —— 丢一个带 MIROBODY_REGISTER_TOOL 宏的 .cpp 进去再重新构建即可。它们通过 /mcp 端点暴露给 ChatGPT / Claude / Cursor,并为内置 Agent 在进程内运行。
PDF(PDFium)、Excel / CSV(xlnt)、图像(经 Tesseract OCR,外加视觉模型内联)都会被解析;数值经归一化(UCUM)后写入内嵌的 FHIR 存储。
OpenAI RealtimeGoogle Gemini Live,在 WebSocket 上做实时语音对话。
创建一个圈子并按邮箱邀请他人;成员可以分享一段对话(查看 / 编辑)或自己的健康数据(按人设置,默认关闭)。之后 Agent 就能回答”我家人最近怎么样?“,且只读取成员选择分享的内容。

架构一览

内核由五个部分组成(全部是 C++):
部分路径说明
LLM 客户端src/llm/每个提供商一个流式客户端 —— OpenAI、Google Gemini、MiroThinker、设备本地 Gemma(LiteRT-LM / llama.cpp),外加 Realtime / Live 语音
MCP 工具src/mcp/ + res/mcp_tools/通过 Model Context Protocol 端点暴露的服务端工具
Agentsrc/chat/ + res/agents/按提供商挑客户端,构建提示词,流式返回这一轮
健康 vendorsrc/health/vendor/可穿戴、手机存储、EHR(SMART on FHIR),统一到一套 authorize / fetch / webhook 契约之后
FHIR R4src/fhir/内嵌 FHIR 端点 + 术语(UCUM;SNOMED CT / LOINC / RxNorm)
Agent 与工具在编译期自注册:把一个 .cpp 丢进对应的 res/ 目录再重新构建即可。

数据源

健康数据通过可插拔的 vendor 客户端接入,分四类:

聚合平台

Terra、Validic、Human API、Junction、Metriport… —— 15 家 B2B 平台,统一到一套契约之后

设备品牌

Fitbit、Garmin、Withings(第一方 OAuth)—— Oura / Polar / Whoop 经聚合平台接入

临床 EHR

SMART on FHIR —— 一个通用客户端对接 ONC 认证的 EHR(Epic、Oracle Health / Cerner、athenahealth…)

设备本地存储

Apple Health、Samsung Health、Google Health Connect、华为 —— 在设备本地读取,以 FHIR 形式 POST 上来
src/health/vendor/ 里实现一个 vendor::Vendor 即可新增数据源。参见 Provider 集成

技术栈

  • C++11 内核,用 CMake 构建(Windows 上加 vcpkg)
  • libwebsockets / libcurl / OpenSSL 提供 HTTP + WebSocket + TLS
  • 存储后端在构建期选定:PostgreSQL(桌面默认)或 SQLite(移动端),也支持 MySQL / DuckDB / ClickHouse;文件走 S3 / OSS / Azure Blob / 本地
  • 设备本地 LLM:Gemma,经 LiteRT-LM(移动端)/ llama.cpp(Electron)
  • 内嵌 FHIR R4,带 UCUM / SNOMED CT / LOINC / RxNorm 术语
  • OAuth 2.0 / OIDC 授权服务器;邮箱验证码 + Google / Apple / WeChat / GitHub 登录

适用人群

个人用户

任何想给自己的健康数据一个私密、AI 加持的家,而不愿把它交给第三方的人

开发者

构建个人数据 AI 产品的工程师 —— 想要一个私密、可嵌入、能在设备本地运行的健康引擎,而不必自己搭数据 + FHIR + MCP 的管线

真实示例

下文示例使用 合成健康数据,部分用到了 Theta 的私有工具。

个人健康数据管理与对话

跨多个医疗系统、甚至跨国家查询同一个健康问题:

膝痛进展

在不同 Provider 间追踪膝痛进展

心血管疾病

跨医疗系统监测心血管健康
把设备数据、病历、自述笔记合并到一起做分析:

心血管摘要

跨数据源汇总心血管状况

糖尿病历史与进展

从设备、病历、其他来源追踪糖尿病

PCP 就诊准备

给初级保健(PCP)就诊生成完整摘要与待问问题清单

个人健康深度研究

找出真正在帮助或拖累你的因素:

血糖分析

定位影响血糖的因子

症状与情绪驱动因素

发现症状与情绪背后的主导原因

糖尿病治疗选项

研究个性化的糖尿病管理方案(药物、设备、生活方式)

作为开发者数据引擎的 Mirobody

可穿戴设备厂商

无需自建后端即可为你的设备添加 AI 对话能力

研究类应用

把自定义工具丢进 tools/,快速部署面向受试者的研究 App

消费健康 App

以 Mirobody 作为数据 + AI 后端构建你的产品

企业级

定制集成与企业支持,请联系我们

Theta Wellness:生产环境中的 Mirobody

Theta Wellness 是我们构建在 Mirobody 之上的旗舰应用 —— 一个个人健康智能 App,展示了 Mirobody 在生产级规模下的能力。它连接可穿戴设备、手机健康存储和 EHR 病历,并支持语音、图像、文件、文字作为输入。 我们之所以开源引擎,是为了让你能自己运行同一个私密、可在设备本地运行的健康内核 —— 为全家自托管,在手机上离线运行,或经 C API 嵌入你自己的应用。

下一步

1

开始上手

跟着 快速开始 构建内核(./build.sh)并运行。
2

配置提供商

给想接入的设备配好 OAuth 凭据 —— 参见 配置
3

探索 API

阅读 API 参考 了解 OpenAI 兼容的 /v1 端点。
4

加自定义 Provider 或工具

新数据源走 Provider 集成;或在 res/mcp_tools/ 里加一个 C++ 工具。

参与贡献

我们欢迎各种贡献 —— 新 Provider、新工具、框架改进,都可以。

GitHub 仓库

源码、Issue、PR

贡献指南

如何提交变更

社区与支持

Discord

社区讨论(即将上线)

GitHub Issues

Bug 报告与功能请求

Mirobody 支持

直接联系技术团队
本文档站覆盖 Mirobody 的健康垂直。开源引擎仓库见 github.com/thetahealth/mirobody