☰
如何用Docker两条命令自托管AI健康数据引擎?Mirobody部署完整教程
2026/10/12 23:38:14 网站建设 项目流程

【免费下载链接】mirobody

Turn scattered health data into answers you can trace. Self-hosted AI health data engine for lab reports, wearables and genetics, with a built-in MCP server. Run it with Docker and one LLM key, or keep every model local on llama.cpp.

项目地址:https://gitcode.com/gh_mirrors/mi/mirobody
点击查看免费下载

Mirobody 是一个可自托管(Self-hosted)的 AI 健康数据引擎:它把散落在化验单 PDF、手机照片、可穿戴设备和基因检测文件里的健康数据,变成一套可追溯的标准化记录。你用 Docker 只需两条命令就能把它跑起来——一条git clone,一条./deploy.sh——然后粘贴一个模型 Key,或者让所有模型 100% 在你的机器上本地运行,数据不出家门。

它的核心是一条Collect → Translate → Agent三段式流水线,对应源码中mirobody/collect/、mirobody/engine/和mirobody/agent/:

阶段做什么你能看到什么
① Collect 采集报告、设备数据、日志进入系统,原始文件全程保留每个数字都能点回它所在的源文件
② Translate 转译A1c、HbA1c、Glycated Hemoglobin离线解析为同一个 LOINC 编码,单位归一到 UCUM 标准三家实验室的同一项检验合并成一条趋势线
③ Agent 问答在编码后的记录上提问,跨报告对比每个数字带编号来源,点击即见原文

关键设计:编码和单位来自内置词表(离线、确定性),永远不是模型编出来的;模型只负责读文档和推理。它还内置 MCP Server,可以把你的健康记录接入 Claude Code、Codex 等任意 MCP 客户端。

部署前准备:一台带 Docker 的电脑就够了

需要说明
Docker(带 Compose)唯一硬性要求,不需要 Python、Node.js 或 GPU
OpenSSLdeploy.sh用它生成写入.env的随机密钥
网络拉取预构建镜像(已内置 LOINC 词表包,无需 Git LFS)
16 GB 内存仅当选择"全本地模型"模式时;用云端模型 Key 则无此要求

💡 Windows 用户请在WSL 2终端中运行以下命令。

两条命令快速开始:Docker 一键部署步骤

打开终端,执行:

git clone --depth 1 https://gitcode.com/gh_mirrors/mi/mirobody && cd mirobody ./deploy.sh

就这么简单。deploy.sh替你完成了所有脏活:

  1. 生成密钥:自动创建.env(权限 600),写入数据库密码、JWT 密钥等随机值;
  2. 防冲突:检查 18060(Web)/ 18062(Postgres)端口是否被占用,被占用会直接告诉你该改.env里的哪个变量;
  3. 拉镜像:拉取已内置 LOINC 词表的预构建镜像;连不上 Docker Hub 时自动切换镜像源;
  4. 启动编排:拉起 compose.yaml 里定义的 Postgres(pgvector)、API 服务、worker 后台任务,并等待健康检查通过。

跑完后,终端会打印一个首次设置页链接(http://localhost:18060/setup?token=...)和演示账号:

配置模型:粘贴一把 Key,或选择 100% 本地运行

打开脚本打印的设置链接,你有两条路:

路线 A · 云端模型 Key:粘贴 OpenRouter、OpenAI、Gemini、Anthropic、DeepSeek 或任意 OpenAI 兼容网关的 Key。Key 只在真实请求成功通过后才被保存。也可以不经过网页,直接写进.env:

OPENROUTER_API_KEY=sk-or-... # 或 OPENAI_API_KEY / GOOGLE_API_KEY / ANTHROPIC_API_KEY, # 以及 <PROVIDER>_BASE_URL 指向兼容网关

路线 B · 全本地模型:在.env中已有 Key 的前提下不想用?重新部署时加一个 profile,llama.cpp 会在容器旁边启动一个本地模型服务(下载一次约 4.8 GB 的模型权重):

COMPOSE_PROFILES=local-cpu ./deploy.sh

本地模式下文档识别、问答、日志标题全部在本机完成,详见 docs/local-models.zh-CN.md 和预设文件 docker/local-models.ini。

验证模型是否就位,随时跑一下体检命令(--probe会向每个模型发一次真实请求):

docker compose exec mirobody mirobody doctor --probe

登录演示账号:4 分钟体验完整功能

SEED_DEMO_DATA默认开启,两个演示账号里已有2,019 条合成读数(一年设备数据 + 一份化验单):

  • 在Email code(邮箱验证码)标签登录you@mirobody.ai,验证码111111,不涉及任何邮件服务;
  • 你的记录旁边还有mom@mirobody.ai的——她把自己的记录以"只读"方式共享给你,这是体验数据隔离最直观的方式。

然后做三件事:

  1. 提问:"我的胆固醇变化如何?" Agent 边工作边展示步骤,把三份报告里三种叫法的同一项检验合成一条趋势,每个数字都带编号来源;
  2. 上传文件:demo/upload/里刻意没播种进数据库的四个文件(PDF 报告、JPG 照片、CSV、XLSX),拖到 Data 页走的就是真实解析路径,比如这张化验单照片:

  1. 写健康日志:输入一句昨晚开始头疼,血压 150/95,无发烧,它会变成编码为 NS01 的头痛、两条血压读数——而"无发烧"不会被错误记成发烧。

⚠️要存真实数据?在第一次启动前把.env里的SEED_DEMO_DATA改为false,两个演示账号就不会被创建。

日常运维:备份、健康检查与常见问题

备份:仓库自带shell/backup.sh,一条命令用pg_dump导出数据库并归档上传文件卷,可挂 cron 每日执行:

shell/backup.sh # 输出到 ./backups BACKUP_DIR=/mnt/nas/mirobody shell/backup.sh # 备份到别的磁盘

恢复步骤在 docs/backup-restore.md 中逐步给出,每条命令都在真实环境上验证过。

常见问题速查(摘自 docs/quickstart.zh-CN.md):

你看到的现象原因与解决
mirobody doctor显示keys present : none还没配置任何模型。打开./deploy.sh打印的设置链接,粘 Key 或选本地模型;① 采集和 ② 转译仍可用
mirobody dev启动后要求 Postgres 连接传--pg-url,或设置环境变量PG_URL/DATABASE_URL
端口被占用导致启动失败按脚本提示在.env中改MIROBODY_HOST_PORT(默认 18060)/PG_HOST_PORT(默认 18062)后重跑./deploy.sh
服务器起来了但设备同步不跑查 worker 日志与 Postgres 连接:设备拉取和任务状态都依赖 Postgres

延伸阅读

部署只是开始,仓库内这些文档值得翻一翻:

  • 完整产品走查:docs/walkthrough.zh-CN.md
  • 本地模型选型与速度实测:docs/local-models.zh-CN.md
  • 一条读数如何走完整条流水线:docs/pipeline.md
  • 数据到底留在哪、哪些会出网:README.zh-CN.md 的"What stays on your machine"一节
  • 仓库目录地图:docs/repository-layout.zh-CN.md

从./deploy.sh结束到问出第一个问题,你只需要几分钟——而每个数字背后,都有一份可以点开的源文件。

【免费下载链接】mirobody

Turn scattered health data into answers you can trace. Self-hosted AI health data engine for lab reports, wearables and genetics, with a built-in MCP server. Run it with Docker and one LLM key, or keep every model local on llama.cpp.

项目地址:https://gitcode.com/gh_mirrors/mi/mirobody
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询