How it works
What Diffgazer does between the command and the review.
You run one command, and a moment later a review opens in your browser. In between, Diffgazer starts an embedded local server and a UI on your own machine. No account, no upload to a Diffgazer service, no dashboard you do not control. During provider setup, opening the model picker can make outbound model-list requests before any review starts — the shared models.dev catalog, a product's public model list, or a saved configuration's own endpoint asked with its own key; none of them includes your code.
The pieces
There are four parts, and they all live on your computer.
The CLI is the diffgazer binary you install globally. When you run it, it decides which mode to start and brings everything else up.
The embedded server is a Hono backend that runs the review pipeline, talks to git, owns secrets, admission, budgets, and configuration actions. It binds to 127.0.0.1.
The web SPA is the review interface served by the same embedded server. If you prefer the terminal, there is an Ink terminal UI instead.
Your product configuration is the model transport you bring. Diffgazer supports nine selectable products documented in the providers reference. Web, Ink, and CLI all consume the same client-safe configuration summaries and readiness language.
The review pipeline
Once the UI is up and you start a review, the work runs as four steps, in order:
The UI reports progress as each step starts and completes. See The review pipeline for details.
Web mode vs terminal UI
Web mode is the default. Pass --tui to start the Ink interface instead. Both modes run the same pipeline against the same local server and expose the same provider names, readiness states, and terminology.
What runs locally
Everything before a review runs on your machine: the CLI, embedded server, UI, git access, secrets, admission checks, and configuration storage. Two kinds of request can leave your computer: a pre-review model-catalog lookup during provider setup, and the review request sent to the admitted product you configured.
Diffgazer does not fall back to another product when admission or transport fails. Catalog-backed hosted products use the models.dev catalog; OpenRouter and Ollama Cloud also read their public model lists, and a saved OpenAI-compatible configuration with a key asks its own endpoint for its list. For exactly what each request carries, see Privacy.