Provider Cookbook
Short Settings recipes for connecting common providers in the Navin desktop app. Each recipe lists what to enter in Settings → Providers and Settings → Models, and what a failure usually means.
If this is your first install, start with start-without-technical-background.md. For field meanings, read providers.md and configuration.md.
Recipes are examples, not rankings. Pick the recipe that matches the credential, endpoint, and model ID you already intend to use.
Choose a recipe
| What you have | Recipe | Must match |
|---|---|---|
A gateway key and model IDs like provider/model-name | OpenRouter Gateway | API key, OpenRouter provider, gateway model ID |
| An OpenCode Zen or Go key | OpenCode Zen or Go | OPENCODE_API_KEY (or paste in Settings), Zen/Go provider, matching model ID |
| An OpenAI platform API key | OpenAI Direct | OpenAI key, OpenAI provider, OpenAI model ID |
| An Anthropic API key | Anthropic Direct | Anthropic key, Anthropic provider, non-gateway model ID |
| A Kimi Coding Plan key | Kimi Coding Plan | Kimi Coding key, kimi_coding provider, kimi-for-coding |
An OpenAI-compatible /v1 endpoint | Custom OpenAI-Compatible Provider | Base URL, optional key, model ID from that endpoint |
| Ollama already running locally | Ollama Local Model | Ollama base URL, pulled model, local server up |
| Ollama not installed yet | Configure Ollama locally | Settings → Providers → Ollama panel |
| vLLM, LM Studio, or similar | vLLM or LM Studio | Local /v1 base URL, any required key, served model name |
| No key at all, want free models now | OmniRoute Free Gateway | OmniRoute running on localhost:20128, model auto |
| A primary model plus backups | Fallback Presets | Named configurations + fallback list in Settings → Models |
How to use a recipe
- Open Navin.
- Open Settings → Providers and enter the key or base URL from the recipe.
- Open Settings → Models, add a configuration with that provider and model ID, then set it Active.
- Send a short chat message to verify.
- Optionally connect channels under Settings → Channels.
Prefer pasting keys into Settings. If you use OS environment variables, set them before launching Navin so the app can resolve ${VAR} references in advanced config.
Recipe: OpenRouter Gateway
- Settings → Providers → OpenRouter - paste your OpenRouter API key.
- Settings → Models - add a configuration:
- Provider:
openrouter - Model: for example
anthropic/claude-sonnet-4.5 - Label:
Primary(or any clear name)
- Provider:
- Set it Active and chat.
If chat fails with unauthorized, re-paste the key. If the model is not found, pick an ID OpenRouter lists for your account.
Recipe: OpenCode Zen or Go
Both use an OpenCode API key; pick the provider that matches your subscription.
Zen
- Settings → Providers → OpenCode Zen - paste the key.
- Settings → Models - provider
opencode_zen, model such asopencode/deepseek-v4-pro.
Go
- Settings → Providers → OpenCode Go - paste the key.
- Settings → Models - provider
opencode_go, model such asopencode-go/deepseek-v4-flash.
Use model IDs that OpenCode lists for the chat/completions-compatible path. Set the configuration Active and test in chat.
Recipe: OpenAI Direct
- Settings → Providers → OpenAI - paste
OPENAI_API_KEY. - Settings → Models - provider
openai, model such asgpt-5(use an ID available to your account). - Set Active and chat.
Leave OpenAI apiType alone unless Settings document a specific mode you need.
Recipe: Anthropic Direct
- Settings → Providers → Anthropic - paste
ANTHROPIC_API_KEY. - Settings → Models - provider
anthropic, model such asclaude-sonnet-4-5(Anthropic ID, notanthropic/claude-…). - Set Active and chat.
If you copied anthropic/claude-sonnet-4.5, that gateway-style path belongs under OpenRouter, not Anthropic direct.
For an Anthropic-compatible proxy, keep provider Anthropic and set the custom base URL in the Anthropic provider panel.
Recipe: Kimi Coding Plan
- Settings → Providers → Kimi Coding - paste the Coding Plan key.
- Settings → Models - provider
kimi_coding, modelkimi-for-coding. - Set Active and chat.
Do not configure Kimi Coding as a generic custom OpenAI provider; Navin uses a dedicated path for this plan.
Recipe: Custom OpenAI-Compatible Provider
- Settings → Providers - add Custom (or a named custom entry).
- Set base URL (include
/v1when required) and API key if needed. - Settings → Models - point a configuration at that provider name and the model ID the endpoint serves.
- Set Active and chat.
For multiple custom endpoints, create separate provider entries (for example Work proxy and Lab local) instead of overloading one Custom block. Anthropic-compatible proxies should use the Anthropic provider with a custom base URL, not a generic custom OpenAI entry.
Recipe: Ollama Local Model
Prefer Settings → Providers → Ollama (Detect → Install → Pull → Configure). Details: Configure Ollama locally.
When Ollama is already running with a pulled model:
- Confirm the Ollama panel shows a healthy server.
- Pull or select
llama3.2(or another local tag). - Use Configure / Use so Navin creates an Active local configuration.
- Chat in the desktop app.
If replies fail with connection refused, start Ollama from its app or the Settings panel, then retry.
Recipe: vLLM or LM Studio
vLLM (example)
- Settings → Providers → vLLM (or custom named entry) - base URL
http://127.0.0.1:8000/v1, keyEMPTYif required. - Settings → Models - provider
vllm, model = the name your server serves.
LM Studio
- Settings → Providers → LM Studio - base URL
http://localhost:1234/v1. - Settings → Models - provider
lm_studio, model = your loaded local model.
Set Active and chat. Ensure the local server is running before testing Navin.
Recipe: OmniRoute Free Gateway
OmniRoute is a local, MIT-licensed gateway to 350+ providers (150+ free tiers). It answers right after install, no signup and no key.
- Install and start it:
npm install -g omniroutethenomniroute(dashboard and API onhttp://localhost:20128). - Settings → Providers → OmniRoute - keep the base URL
http://localhost:20128/v1, Auth None, then Test connection. It should list theautocombos plus every model OmniRoute exposes. - Settings → Models - provider
omniroute, modelauto(orauto/coding,auto/fast, or a specific id such asoc/kimi-k2.5). - Set Active and chat. Connect more upstream providers from the OmniRoute dashboard to widen the
autopool.
If OmniRoute runs with REQUIRE_API_KEY=true, switch Auth to Bearer and paste a key from its dashboard (Endpoints).
Recipe: Fallback Presets
- Create two or more configurations under Settings → Models (for example Fast on OpenRouter, Deep on Anthropic, Local on Ollama).
- Set Fast as Active.
- Add Deep and Local (in order) to the fallback list under Models / agent defaults.
- Chat normally. On retryable primary failures, Navin tries the next named configuration.
Fallback entries are configuration names, not raw model IDs. Keep context windows realistic across the chain. See Configure model fallback.
Recipe: Switch models at runtime
After you have more than one configuration, use the chat model selector or composer actions:
/model
/model local
/model fast
Runtime switches do not permanently rewrite Settings until you change the Active configuration. An in-progress turn keeps using the model it started with.
Quick failure map
| Symptom | Usually means | First check |
|---|---|---|
| Unauthorized / invalid API key | Key missing, wrong, or under the wrong provider | Re-paste under Settings → Providers |
| Model not found | Model ID does not belong to the selected provider | Compare provider + model in Settings → Models |
| Connection refused | Local server down or wrong base URL | Start Ollama / LM Studio / vLLM / OmniRoute; fix base URL |
| Provider not found | Misspelled provider registry name | Use names such as openrouter, openai, anthropic, ollama, vllm, lm_studio, omniroute |
Next references
| Need | Read |
|---|---|
| Field meanings and provider resolution | providers.md |
| Settings-first configuration | configuration.md |
| First launch without a technical background | start-without-technical-background.md |