Provider matrix
When to read this: Configure LLM backends, auth, or default model capabilities.
Source: crates/chatty-core/src/settings/models/providers_store.rs,
crates/chatty-core/src/factories/agent_factory/provider_builder.rs.
Provider types
| Provider | Display name | Auth | Required config | Default images | Default PDF | Temperature default |
|---|---|---|---|---|---|---|
openrouter | OpenRouter | API key | api_key; optional base_url | yes | yes | per ModelConfig |
ollama | Ollama | none | optional base_url (default http://localhost:11434) | no | no | always applied |
azure_openai | Azure OpenAI | API key or Entra ID | base_url (resource endpoint) + credentials | yes | no | per ModelConfig |
OpenRouter
- Gateway to 200+ upstream models (Anthropic, OpenAI, Google, Mistral, Meta, …).
- Persisted
ProviderTypeJSON isopen_router(serde snake_case). Legacy valuesopen_ai,open_a_i,anthropic,gemini,mistraldeserialize as OpenRouter. The stringopenrouteris not accepted. configured_providers()requires a non-emptyapi_key.- Rig client:
rig_core::providers::openrouter::Client. - MCP tools are sanitized for OpenAI-compatible schemas before attachment.
Ollama
- Local or remote Ollama instance; no API key required.
- Included in
configured_providers()even withoutapi_key. - Default capabilities are
(false, false); vision/PDF support is detected per model via/api/show(sync_service.rs) and stored inModelConfig. - Rig client:
rig_core::providers::ollama::Client.
Azure OpenAI
- Auth via
extra_config.auth_method:api_key(default) orentra_id. configured_providers()requires non-emptybase_urland (api_keyor Entra ID).- Endpoint URLs are normalized (trailing slashes stripped,
/openai/deployments/...paths truncated). - Per-model
api_versioninModelConfig.extra_params; default fromAZURE_DEFAULT_API_VERSION. - Entra ID tokens are cached in
AzureTokenCachewhen available. - Rig client:
rig_core::providers::azure::Client.
Model capabilities (ModelConfig)
| Field | Purpose |
|---|---|
supports_images | Allow image attachments in chat |
supports_pdf | Allow PDF attachments |
supports_temperature | Show temperature slider; skipped for reasoning models |
New models inherit ProviderType::default_capabilities(). Ollama overrides per model after sync.
TUI direct-connect flags (bypass Settings UI)
| Flag | Maps to | Notes |
|---|---|---|
--ollama [URL] | Ollama provider | Auto-discovers models from /api/tags |
--openai-compat-url URL | OpenRouter provider type | vLLM, llama.cpp, LM Studio, etc.; optional --api-key |
See CLI flags for full chatty-tui options.