Authoritative state of each provider class in src/providers/. Keep this in sync with config/providers.yml.
| id | Class | Schema | Default model | Free? | BYOK? | Auth | Notes |
|---|---|---|---|---|---|---|---|
auto |
(virtual) | chain | — | Yes | No | — | Default. Walks pollinations → duckduckgo → huggingface → mistral and returns the first success. |
pollinations |
PollinationsProvider |
OpenAI-like /openai |
openai-large |
Yes | No | None | Zero-config free gateway. GPT-4o-class. Throttles at ~1 req/3-5s per IP. |
duckduckgo |
DuckDuckGoProvider |
Reverse-engineered SSE | gpt-4o-mini |
Yes | No | vqd token (auto) | Two-step handshake. Models: gpt-4o-mini, claude-haiku, llama-3.3-70b, mistral-small, o3-mini. |
huggingface |
HuggingFaceProvider |
OpenAI /chat/completions |
Qwen/Qwen2.5-7B-Instruct |
Yes | Optional | Bearer (optional) | Free without key (rate-limited per IP); HF token bumps quota and unlocks gated models. |
mistral |
OpenAICompatibleProvider |
OpenAI /chat/completions |
mistral-small-latest |
Yes | Yes | Bearer | Free tier ~1 req/s. BYOK only — get a free key at console.mistral.ai/api-keys. |
openai |
OpenAICompatibleProvider |
OpenAI /chat/completions |
gpt-4o-mini |
No | Yes | Bearer | BYOK only; no official free API tier. |
anthropic |
AnthropicProvider |
Anthropic /messages |
claude-haiku-4-5-20251001 |
No | Yes | x-api-key | Different schema; system field is top-level; max_tokens required. |
groq |
OpenAICompatibleProvider |
OpenAI /chat/completions |
llama-3.1-8b-instant |
Yes | Yes | Bearer | Free tier with 60 req/min on most models. |
ollama |
OllamaProvider |
Ollama /api/chat |
llama3.1:8b |
Yes | No | None | Local; base URL overridable; stream=false; format=json. |
g4f |
G4FProvider |
OpenAI /chat/completions |
gpt-3.5-turbo |
Unofficial | No | None | Opt-in (enableUnofficialProviders); rotates endpoints; falls back to Mistral. |
auto (default). Tries 4 providers in turn.pollinations on openai-large.duckduckgo with o3-mini or claude-haiku.llama-3.1-8b-instant.