Engines and models
An engine is a program that runs AI models on your computer. anz33 does not replace them — it stands in front of them and picks one per request.
The engines anz33 knows
| Engine | Usual address | Notes |
|---|---|---|
| Ollama | 127.0.0.1:11434 | The most common starting point. Models come from ollama pull. |
| LM Studio | 127.0.0.1:1234 | Turn on its local server; anz33 finds it immediately. |
| llama.cpp | 127.0.0.1:8080 | The llama-server binary. |
| MLX | 127.0.0.1:8081 | Apple Silicon only; typically an mlx_lm.server. |
| Cloud | over the internet | Off until you add one and allow it. See Adding a cloud engine. |
How they are found
anz33 asks each of those addresses whether anything is listening and what models it holds. That is the whole mechanism: no scanning, no configuration, no plugins. Start an engine and it shows up; stop it and it disappears.
anz33 status
anz33 0.4.1 · battery 62%
ollama http://127.0.0.1:11434 4 models
lmstudio http://127.0.0.1:1234 1 model
llamacpp not running
mlx not running
If an engine listens somewhere unusual, change its address in
~/.anz33/config.json under local_engines.
Seeing every model at once
anz33 models
One list, across every engine, in the same format apps expect from the OpenAI API. This is what an app sees when it loads its model dropdown after you point it at anz33 — which is why the dropdown suddenly contains everything you own.
What "auto" does
Send "model": "auto" and anz33 chooses. In order:
- Which engines are up right now. A stopped engine is never chosen.
- Measured speed. The tokens per second recorded by
anz33 benchon this machine. Never a published benchmark from someone else's hardware. - Power state. On battery — especially with battery saver on — a lighter engine is preferred over the outright fastest.
- Your rules. A request matching a local-only rule can never go to a cloud engine, whatever the speed numbers say.
Asking for a specific model
Name it and anz33 finds whichever engine has it:
curl http://127.0.0.1:3300/v1/chat/completions \
-d '{"model": "llama3.2", "messages": [{"role": "user", "content": "hi"}]}'
You do not say which engine — that is the point. If two engines hold the same model, anz33 uses the faster one.
Embeddings
Requests to /v1/embeddings are routed too, to an engine that can
actually produce embeddings. Apps that index your notes or documents generally
need this endpoint as well as chat.
Adding an engine later changes nothing you have set up. Install LM Studio next month and every app already pointing at anz33 can use it that afternoon, without touching a single app's settings.