Add local vision analysis scaffold

This commit is contained in:
Sean McElwain 2026-05-28 23:51:25 -05:00
parent 93f3086b48
commit 6792a8629e
2 changed files with 21 additions and 0 deletions

View File

@ -2191,6 +2191,24 @@ async def save_layout_review(document_id: str, request: Request, db: Session = D
# --- layout review save helpers end ---
@router.post("/{document_id}/run-vision-analysis", response_class=RedirectResponse)
def run_vision_analysis(document_id: str, db: Session = Depends(get_db)):
document = db.query(Document).filter(Document.document_id == document_id).first()
if not document:
return RedirectResponse(
url=f"/documents/{document_id}?tab=layout-review&error=document_not_found",
status_code=303,
)
# Phase 1 placeholder.
# Next phase: render page image, send to local VLM service, store suggestions.
print(f"[vision-analysis] queued placeholder run for {document.document_id}", flush=True)
return RedirectResponse(
url=f"/documents/{document.document_id}?tab=layout-review&success=vision_analysis_started",
status_code=303,
)
@router.get("/{document_id}", response_class=HTMLResponse)
def document_detail(document_id: str, request: Request, queue: str | None = None, viewer_source: str = "scan", db: Session = Depends(get_db)):
requested_tab = request.query_params.get("tab", "ocr-review")

View File

@ -1916,6 +1916,9 @@ document.addEventListener("DOMContentLoaded", () => {
<button type="button" class="layout-tool-btn" id="layout-tool-pan">Pan</button>
<button type="button" class="layout-tool-btn" id="layout-tool-add">Add</button>
<button type="button" class="layout-tool-btn danger" id="layout-delete-word">Delete</button>
<form method="post" action="/documents/{{ document.document_id }}/run-vision-analysis" style="display:inline;">
<button type="submit" class="layout-tool-btn">Run Vision</button>
</form>
</div>
<div class="word-ribbon-label">Tools</div>
</div>