Skip to content

feat(elos): on-device OCR of scanned PDFs in the MCP server (macOS Vision) - #26

Merged
eulogep merged 2 commits into
mainfrom
feat/mcp-vision-ocr
Oct 23, 2026
Merged

eulogep merged 2 commits into
mainfrom
feat/mcp-vision-ocr

Conversation

@eulogep

@eulogep eulogep commented Oct 23, 2026

Copy link
Copy Markdown
Owner

Summary

Scanned course PDFs are now read by the agent server on macOS with the built-in Vision framework (mcp/ocr-vision.swift, compiled once): no download, no upload. Background OCR (first question never waits), cache by file digest outside the shared folder (ELOS_CACHE_DIR), OCR citations flagged. npm run mcp:ocr pre-computes; ELOS_OCR=off disables.

Real library: 14 scanned PDFs / 220 pages in 84 s; readable documents 210 → 224.

Test plan

  • Platform-independent unit test: real text-less PDF + seeded cache → merged, flagged, nothing written in the shared folder
  • npm run test:ci, typecheck, eslint .
  • Run on the real library; answer citing an OCR page

🤖 Generated with Claude Code

…sion)

Scanned course PDFs were skipped by the agent server. On macOS it now
recognises them with the built-in Vision framework (mcp/ocr-vision.swift,
compiled once with swiftc): no download, no upload. OCR runs in the
background so a first question never waits, results are cached by file
digest outside the shared folder (ELOS_CACHE_DIR), and citations from
OCR pages say to verify against the page. `npm run mcp:ocr` prepares the
cache ahead of time; ELOS_OCR=off disables it.

On a real 226-file library: 14 scanned PDFs / 220 pages recognised in
84 s, readable documents 210 → 224.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
daily-english-mission Ready Ready Preview Oct 23, 2026 6:24am UTC

@qodo-code-review

Copy link
Copy Markdown

ⓘ Qodo reviews are paused because the subscription is no longer active. Ask your workspace admin to reactivate the subscription to resume reviews. Manage billing

@coderabbitai

coderabbitai Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 1f3aa71d-c7f0-45f2-8f64-039a3e13459a
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review 🔄 Running since 2026-10-23T06:23:58.490798Z 41702b3 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@eulogep
eulogep merged commit 0d77233 into main Oct 23, 2026
5 checks passed
@eulogep
eulogep deleted the feat/mcp-vision-ocr branch October 23, 2026 06:27

This branch was successfully deployed

1 active deployment
Preview — b43599ac Deployed Oct 23, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant