For a hosted API key and
/v1 requests, use the separate Cloud
quickstart. This page
covers the open-source engine and its own commands.
A · the library
Two packages, numpy the only dependency. No key, no network, no database, and no model runs on your machine — the resolver is a lexical index over LOINC, not an LLM.血脂 names a category rather than one observation, so it resolves to nothing.
That is the design: a wrong code puts two different tests on one trend line.
Reading a vendor export needs nothing further — zipfile and xml.etree are
both stdlib:
pip install 'mirobody[parse]' to turn a PDF, photo or
spreadsheet into readings (that one calls a model, so it needs a key), and
pip install 'mirobody[app]' for the server. Neither is needed for the above.
([agent] is the agent harness as a library, [test] the test suite.)
B · the stack
Postgres + pgvector, the server and the worker, with the demo record already seeded.deploy.sh pulls the application image, which already contains the LOINC
bundle, and writes a .env with generated secrets on first run. Docker users
do not need Git LFS. Put one model key in .env, then restart the server
and worker with docker compose up -d. Check available model features
inside the server container:
you@mirobody.ai with code 111111; no mail provider is involved.
SEED_DEMO_DATA is on, so 2,019 readings across two accounts are already
there. Set it to false before the first start if you intend to hold real
data, and neither account is created.
Four files in demo/upload/ are deliberately NOT seeded, so
dropping one on the Data page walks the real path rather than doing nothing.
C · a checkout
serve is the deployment shape: it reads the shipped config and any
config.{ENV}.yaml overlay, and expects persistent secrets. dev runs the
same server in one process with an in-memory config and generated secrets:
version field. Use pgvector rather than plain
Postgres: the schema creates a vector column on first start.
dev serves the API, not the web client. The built client lives at
repo-root frontend/ and is outside the package, so it is there in a checkout
and absent from a pip install. What dev is for is the API, the MCP surface
and the agent; for the UI, use B.
The secrets dev generates are per-run: sessions and encrypted config values
do not survive a restart. Set JWT_KEY, CONFIG_ENCRYPTION_KEY and
LOG_ENCRYPTION_KEY in the environment to keep them.