Open Code Review Manager
ocr): projects, review profiles, a durable queue, live progress, structured findings, and usage analytics — with an MCP server and signed webhooks on top.What it is
OpenCodeReview Manager is a local-first web control plane for the ocr review engine. It manages projects, review profiles, a durable review queue, live job progress, structured findings, usage analytics, and integrations (an MCP server and signed webhooks) from one local app. Your code and credentials stay local except for the requests to whichever LLM endpoint you configure.
Why I built it
The ocr CLI is a good review engine but had no way to manage many projects and sessions at once. I wanted a durable queue, live progress, and a UI over the structured findings — plus programmatic access so my AI agents could submit and monitor reviews themselves instead of me pasting diffs into a terminal.
Features
- Project management — register git repositories, browse branches, and discover repositories by scanning folders
- Review queue — durable, priority-ordered, concurrency-limited jobs with drag-and-drop reordering
- Live progress — SSE-streamed logs, file progress, elapsed time, adaptive ETA, and token consumption
- Structured findings — color-coded HIGH/MEDIUM/LOW findings with code snippets, reasoning, and triage states
- Usage analytics — token histograms, input/output/cache breakdowns, per-model usage bars, and time-range filters
- Provider & profile management — configure LLM endpoints, discover models, and test connections; reusable presets
- Repository scans — review supported files at the current commit without a range or pull request
- Review recovery — retry a review from scratch or resume an eligible OCR session
- MCP server — lets AI agents submit and monitor code reviews programmatically
- Webhooks — signed event delivery for CI/CD integration
- GitHub CLI integration — switch between keychain accounts and refresh pull-request data
Architecture
┌──────────────────────────────────────────────────────────────┐
│ React 18 · TypeScript · Vite (custom design system) │
└──────────────┬───────────────────────────────────────────────┘
│ REST /api/v1 SSE /events
┌──────────────▼───────────────────────────────────────────────┐
│ FastAPI · SQLAlchemy 2 (async) · SQLite WAL · Alembic │
│ Queue worker · Webhook worker · Watchdog reaper │
└───────┬──────────────────────────────────────────────────────┘
│ invokes
┌───────▼──────────────────────────────────────────────────────┐
│ `ocr` CLI → runs reviews in isolated git worktrees │
│ │
│ Also exposes: /mcp (MCP server) · /api/v1 (REST) │
└──────────────────────────────────────────────────────────────┘
- Backend — Python 3.12, FastAPI, SQLAlchemy 2 async, SQLite WAL, Alembic
- Frontend — React 18, strict TypeScript, Vite, a custom design system
- Engine — the
ocrCLI executes reviews in isolated worktrees - Extras — MCP server, signed webhooks, GitHub CLI keychain switching
Tech stack
- Python 3.12 · FastAPI · SQLAlchemy 2 (async) · Alembic · SQLite (WAL)
- React 18 · TypeScript (strict) · Vite
- MCP · Webhooks (signed) · SSE
- Review engine:
@alibaba-group/open-code-review
Status
Public on GitHub. Actively used for my own review workflow and exposed to agents through the MCP server.