Choose a model
Your accomplice thinks with an AI model you bring. Mandala includes none: connect a sign-in, an API key or a model running on your own machine. You can connect several and route different kinds of work to each.
Options
| Option | How | Where your conversations go |
|---|---|---|
| Sign in with ChatGPT | Uses your ChatGPT plan. | OpenAI |
| Sign in with Grok | Uses your xAI plan. | xAI |
| Paste an API key | OpenAI, Anthropic (Claude), Google Gemini, xAI, DeepSeek, Kimi, Z.ai, Meta. | That provider |
| Use a model on this computer | Ollama, found automatically. | Nowhere: it stays on your machine |
Claude is available with an API key only: Anthropic does not allow Claude subscriptions to power other apps.
At the first run
The setup assistant offers these options right after Face ID (The first run). Pick one; Mandala tries it live, the model greets you by name, and Mandala sets sensible routing (what conversations and quick things will use). Nothing is saved until the test passes. If you skip it, a banner offers Choose one later.
Sign in with ChatGPT
- Press Sign in with ChatGPT. OpenAI's sign-in page opens.
- Sign in and accept.
- Your browser then lands on a page that may not load (
http://localhost:1455/auth/callback?code=…). Copy that page's whole address, paste it into Mandala, and press Finish.
The sign-in renews itself. Settings → Models → OpenAI / ChatGPT shows it (Signed in — With your ChatGPT account, and when the token renews); Disconnect removes it, and an API key pasted there replaces it.
Sign in with Grok
Press Sign in with Grok, then enter the code Mandala shows on xAI's page. From Settings later: Settings → Models → xAI Grok → Authorize (or Sign in again).
Later, from Settings
- Open Settings → Models and choose the provider.
- Paste the key and press Connect (or Authorize for Grok).
- The provider shows Connected. Keys are stored encrypted on your server and never shown again.
You can also put keys in the environment file before starting: ALMA_OPENAI_API_KEY, ALMA_ANTHROPIC_API_KEY, ALMA_GEMINI_API_KEY, ALMA_XAI_API_KEY, ALMA_DEEPSEEK_API_KEY, ALMA_KIMI_API_KEY, ALMA_ZAI_API_KEY, ALMA_META_API_KEY. They are copied into the encrypted store at each start.
Choose which model does what
Open Settings → Models → Workload routing. Each kind of work has its own connection, model and reasoning effort:
| Workload | Used for |
|---|---|
| Conversation | Talking with you, on every channel. Required. |
| Triage | Mail, messages and events arriving in the background. |
| Follow-ups | Scheduled wakeups, routines and the morning plan. |
| Sensitive conversations | Sensitive mode (adult content), if you use it. |
| Simple requests / Complex requests | Lighter or stronger models, when routing by complexity is on. |
Leave a workload on Same as Conversation until you have a reason to change it. A good start: your best general model for Conversation, a small fast one for Triage. Changes apply from the next turn.
The model list comes from the provider when it can be asked; otherwise Mandala shows suggestions, and Other… lets you type any model id.
Local models with Ollama
Install Ollama, pull a model (ollama pull qwen3), and choose Ollama (local) in Workload routing. Mandala expects it at http://127.0.0.1:11434; set ALMA_OLLAMA_BASE_URL if it runs elsewhere. Local models keep everything on your machine but are slower and less capable with tools.
Next
Models and workload routing covers reasoning effort, routing with Jev, and costs.