mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-14 06:40:50 +00:00
Add an opt-in in-browser OCR path so a user whose provider cannot read images (ChatGPT-OAuth/Codex, a text-only model) can still scan a lab report. The capability probe gains a `mode` field: `vision` when the provider reads the image directly, `text` when local OCR is enabled and any provider is configured, or null. The extract route grows a text branch that accepts the in-browser-OCR'd text as JSON and structures it through the existing schema + review/commit flow; the raw image never reaches the server in text mode. New `labsLocalOcrEnabled` user column (migration 0184, default off) gates it, with a dedicated PATCH endpoint.
17 lines
873 B
SQL
17 lines
873 B
SQL
-- v1.18.10 — opt-in local (in-browser) OCR for lab-report scans.
|
|
--
|
|
-- One additive, defaulted column on `users`. When `true`, a user whose AI
|
|
-- provider cannot read images (ChatGPT-OAuth/Codex, a text-only model) can
|
|
-- still scan a paper report: the image is OCR'd in the browser via tesseract.js
|
|
-- and only the extracted TEXT is forwarded to the text-only provider for
|
|
-- structuring. The raw image never leaves the device in this mode.
|
|
--
|
|
-- Less accurate than a native vision model — the mandatory per-row review
|
|
-- screen stays the safety backstop, and the in-app copy sets that expectation.
|
|
-- The default `false` backfills every existing row onto the current behaviour
|
|
-- (vision-only scan, or no scan affordance), so this is a no-op for anyone who
|
|
-- never opts in.
|
|
|
|
ALTER TABLE "users"
|
|
ADD COLUMN "labs_local_ocr_enabled" BOOLEAN NOT NULL DEFAULT false;
|