mirobody/
├── engine/ 正门:resolve()、resolve_reading() 和 parse_file()
├── units/ UCUM 单位、unit_family、换算
├── lexical.py 表层折叠 + 认识 CJK 的分词器
├── bundle.py 构建期:轴表和别名来源
├── res/ 随包发布的 LOINC 词表、res/catalog/metrics.tsv
├── kernel/ 健康数据「是什么意思」,全是纯函数:
│ metrics · series · quality · overlay · meds ·
│ query · tools · ops · connect · sink · events ·
│ evidence · memory · decoders/
├── documents/ 文件变成文本,按类型分:PDF 文本层、只对扫描件做 OCR、Office、纯文本 [parse]
├── collect/ ① 收集 Collect provider、文件解析、落库、读取(Postgres)
├── translate/ ② 转译 Translate 纯函数缝(fold · parse · local_day · series · code ·
│ devices)、指标目录、单位、aggregate/、derive/
├── agent/ ③ 智能体 Agent models/ fs/ wire/ middleware/ tools/ chat/
├── mcp/ MCP 服务端
├── server/ HTTP 应用:路由、鉴权、自带的前端
├── utils/ 调用方自己接的机制:config、db、sse、net、llm_output、prompts、log
├── user/ 身份与关爱圈:谁可以读谁的记录
└── schema/ DDL,开发环境启动时重放
demo/ 关爱圈演示数据,和 frontend/ 并排 检出会带这两个目录,
frontend/ 自带的前端 pip install 不会