Providers

Omegon connects to inference providers through native Rust HTTP clients — no subprocess shims, no Node.js at runtime. Each provider has a dedicated client that handles authentication, streaming, tool call wire formats, and error recovery natively.

Provider routing: operator controls feed routing engine which scores and selects from 10 providers, with failover on error

Inference Providers

ProviderClientAuthEnv Var
AnthropicAnthropicClient (native SSE)OAuth or API keyANTHROPIC_API_KEY
OpenAIOpenAIClient (native)OAuth or API keyOPENAI_API_KEY
OpenAI CodexCodexClient (Responses API)OAuth JWTCHATGPT_OAUTH_TOKEN
OpenRouterOpenRouterClient (wrapper)API keyOPENROUTER_API_KEY
GroqOpenAICompatClientAPI keyGROQ_API_KEY
xAI (Grok)OpenAICompatClientAPI keyXAI_API_KEY
MistralOpenAICompatClientAPI keyMISTRAL_API_KEY
CerebrasOpenAICompatClientAPI keyCEREBRAS_API_KEY
HuggingFaceOpenAICompatClientAPI keyHF_TOKEN
OllamaOpenAICompatClientLocal (no auth)OLLAMA_HOST

Search Providers

ProviderAuthEnv Var
Brave SearchAPI keyBRAVE_API_KEY
TavilyAPI keyTAVILY_API_KEY
SerperAPI keySERPER_API_KEY

Client Architecture

There are 5 distinct Rust client implementations:

Routing & Failover

The routing engine (routing.rs) scores available providers against the requested capability tier and selects the best match. If the primary provider fails, it automatically falls back to the next-best provider. See Three-Axis Model.

Authentication

Credentials are stored in the system keychain (macOS Keychain, Linux Secret Service) or encrypted on disk. OAuth tokens are refreshed automatically.

# OAuth login (Claude Pro/Max, ChatGPT Plus/Pro)
omegon login
/login anthropic
/login openai

# API key (set in environment or via /secrets)
export ANTHROPIC_API_KEY="sk-ant-..."
/secrets set groq GROQ_API_KEY

# Check status
/auth status