One local endpoint for every AI engine.
Your laptop already runs Ollama, LM Studio, llama.cpp and MLX — and every app hardcodes exactly one of them. anz33 is a small router daemon: point everything at localhost:3300 and each request goes to whichever engine is genuinely fastest on your hardware, right now.
and none of them left the machine
Five engines. Five APIs. Zero coordination.
Laptops now ship several incompatible AI stacks, and the NPU mostly idles while everything piles onto one process. Every chat app, IDE plugin and script hardcodes a single engine and a single model — even when a faster one is sitting a port away, even at 20% battery.
Measured, not guessed
anz33 records real tokens/sec for every engine × model on your machine, then ranks by what your hardware actually does — not by marketing TOPS. Re-run it whenever you pull a new model.
anz33 benchanz33 bench benchmarking 3 engines · 5 models ollama qwen3:8b 41.2 t/s ollama gemma3:4b 58.7 t/s ollama llama3.1:8b 39.5 t/s lmstudio qwen2.5-coder-7b-instruct 36.4 t/s mlx Qwen3-14B-4bit 33.8 t/s written to ~/.anz33/bench.json
Every response explains itself
Each reply carries anz33-engine and anz33-route headers naming exactly where it ran and why it was chosen — in plain English, on every single request. No black-box routing.
HTTP/1.1 200 OK anz33-engine: ollama anz33-route: auto: fastest measured local model anz33-model: qwen3:8b HTTP/1.1 200 OK anz33-engine: ollama anz33-route: battery 42%: swapped qwen3:32b for smaller local model anz33-model: gemma3:4b
Local by default, cloud only if you say so
Remotes route only when you flip allow_cloud yourself. API keys are read from environment variables at request time — never written to config, never logged, never sent anywhere but the provider you named.
{ "allow_cloud": false, "battery_saver": true, "remotes": [{ "name": "anthropic", "key_env": "ANTHROPIC_API_KEY" }] } key read from env at request time — never stored in this file
Apps see one API. anz33 sees everything.
anz33 speaks the OpenAI wire format on /v1 — chat, streaming, embeddings. Anything that accepts a custom base URL works on day one. Ask for "model": "auto" and the router picks; name a model and anz33 finds whichever engine hosts it.
See every token, every engine, every decision.
Built into the daemon at localhost:3300/anz33dashboard. Live tiles, hourly traffic, per-engine breakdowns, measured model speeds and routing controls that write straight to your config. All local — nothing leaves your machine.
requests · last 24h by hour
by engine · all time
recent requests
| time | engine | model | route reason | sec | tok |
|---|
engines & models
routing configuration
endpoint & files
Sample data shown — on your machine these are your own requests. The toggles are live, try them.
Running in about thirty seconds.
Zero config by default — engines are discovered on their well-known ports. One small daemon, no background telemetry, 14-day trial built in. Prefer a native package? There are signed builds for macOS, Windows and Linux — Homebrew, .deb, .rpm, Scoop and standalone binaries.
Install the router
A single Python package. pip install anz33 works too.
Start it, measure your hardware, run at login
bench is what makes routing real — it records actual tokens/sec per engine and model.
Point any OpenAI-compatible client at it
That is the whole integration. Nothing else in your stack changes.
One plan. Everything included.
No tiers, no feature matrix, no upsells inside the product. One subscription covers the router, measured routing, the live dashboard, battery policy, cloud remotes, the memory vault — and everything we ship next.
Everything, for one person, on every machine you own.
- Measured routing across all local engines
- Live dashboard and routing controls
- Battery and power-state policy
- Portable memory vault and skills
- Opt-in cloud remotes, keys never stored
- Up to 5 machines · priority support
For fleets, and for work that cannot leave the building.
- Fleet dashboard across the team
- Routing policy — "this repo never touches cloud"
- Signed, hash-chained audit log
- Air-gapped deployment for legal and health
- Volume pricing on the same $20 base
The things people ask first.
Does anything leave my machine?
No. The router, the dashboard and the stats log all live on localhost, and there is no telemetry of any kind. The only traffic that ever leaves is a request you explicitly routed to a cloud remote after turning allow_cloud on yourself.
What happens when an engine isn't running?
It is skipped. Engines are probed on their well-known ports and the routing table is built from whatever answered, so starting or stopping Ollama mid-session simply changes where the next request goes.
Do I have to change my apps?
Only the base URL. anz33 speaks the OpenAI wire format, so anything that lets you set base_url — chat clients, IDE plugins, LangChain, plain curl — works without a code change.
What does "auto" actually pick?
The fastest model your hardware measured that can serve the request, adjusted for power state and any policy you set. Whatever it chose comes back in the anz33-route header, in plain English.
Why a subscription for something that runs locally?
Because it keeps being worked on. There is no free tier and no paid add-ons — one price, every feature, including the ones that ship after you subscribe. Fourteen days to decide, no card up front.
Stop hardcoding engines.
One endpoint, every engine, decisions you can read. Fourteen days free, no card.