QVAC

Healthcare

Diamesh

A five-agent ophthalmology copilot that reasons over clinical data entirely on local MedPsy models

visionragmulti-agent
Diamesh

A rural or short-staffed eye clinic often has an optometrist on site but no ophthalmologist on call, and no reliable link to send patient images out for a second opinion. Diamesh puts that second opinion on the exam-room laptop itself: a six-agent pipeline that reads the case, examines the fundus or OCT image, retrieves the relevant ophthalmology guidance, and hands back a ranked differential diagnosis with ICD-10 codes - without any patient data leaving the machine.

Six agents, one pipeline

Each agent has a narrow job and its own model. An Intake agent (MedPsy-1.7B) parses the clinical input and flags urgency. A Vision agent (SmolVLM2-500M) reads fundus, OCT, or slit-lamp images through local multimodal inference. A Knowledge agent retrieves ophthalmology guidelines from a local vector store, and a Reasoning agent (MedPsy-4B) does the actual clinical reasoning - with a visible thinking trace and tool calls into a local ICD-10 lookup and risk calculator. A Differential agent ranks the resulting diagnoses, and an Education agent turns the output into a plain-language guide for the patient.

architecture (README.md)
Next.js 16 Frontend (localhost:3000)
         │ HTTP + SSE
Express API (localhost:3001)

    ┌────┴────────────────────────────────┐
    │           ORCHESTRATOR              │
    │  Intake → Vision → Knowledge →      │
    │  Reasoning → Differential →         │
    │  Education                          │
    └────┬────────────────────────────────┘

    ┌──┴────────────────────────────────────────┐
    │             QVAC MODEL POOL               │
    │  EmbeddingGemma-300M (always)             │
    │  MedPsy-1.7B (always)                     │
    │  MedPsy-4B (on-demand, swaps in)          │
    │  SmolVLM2-500M (on-demand, if images)     │
    └────────────────────────────────────────────┘

    SQLite (local only, never synced)

Delegation with a local fallback

On an 8-16 GB laptop, only one heavy model stays resident at a time - the pool swaps MedPsy-4B and SmolVLM2 in on demand. When a peer device is configured in Consumer Mode, the pipeline can delegate the heavier reasoning step to it over QVAC's P2P layer, and falls back to local inference automatically if that peer drops. Diamesh is explicit that the output is decision support, not a diagnosis: every assessment is meant to be reviewed by a qualified clinician.

Demo video

Why on-device

  • Fundus, OCT, and slit-lamp images never leave the exam room

  • Every completion call captures a thinking trace, persisted to a local audit log

  • Runs on hardware the clinic already owns - 8 GB RAM minimum, Metal-accelerated on Apple Silicon

Build this

Ship your own local AI

One install in JavaScript or Python. 10+ AI tasks. Private, offline and free - on the hardware you already own.