# Model Providers And Endpoints

Omnius routes model requests through a provider abstraction instead of treating local Ollama as the only source of models.

## Provider Types

Supported endpoint patterns include:

- local Ollama
- Omnius-managed Ollama pool
- vLLM
- OpenAI-compatible HTTP servers
- Anthropic Claude through the native Messages API
- Google Gemini through its official OpenAI-compatible endpoint
- OpenAI
- OpenRouter
- Groq
- Chutes
- Together, Fireworks, DeepInfra, Mistral, Cerebras, and similar providers
- sponsor endpoints discovered through Nexus
- COHERE distributed inference peers

## Endpoint Selection

Use:

```text
/endpoint
/endpoint sponsor
/model
```

Endpoint history records recently used URLs and auth metadata so users can return to external routers without retyping them.

For the complete protocol, authentication, and fail-closed behavior, read
[Bring Your Own Inference](../guides/bring-your-own-inference.md). The important
distinction is that provider names are not cosmetic:

- Ollama uses the `ollama` protocol.
- Anthropic uses `anthropic-messages` and `POST /v1/messages`.
- Gemini and the other compatible providers use `openai-chat`.
- A custom URL must declare its protocol. Omnius does not send a probe or
  inference request when it cannot determine the protocol safely.

## Model Discovery Rule

When multiple endpoints are enabled, model lists should be consolidated from all toggled enabled endpoints. This applies to:

- setup wizard model selection
- `/model`
- sponsor wizard model exposure
- REST `GET /v1/models`
- consumer sponsor endpoint selection

## Passthrough Rule

Sponsor and COHERE passthrough should preserve the upstream provider's model identity while hiding raw provider secrets and URLs from consumers.

## Thinking Mode

Omnius defaults to direct-answer mode (`think: false`) for backend requests. Tool-calling turns force `think: false`; `OMNIUS_FORCE_NO_THINK=1` disables thinking globally. `/think` controls session defaults where supported.
