Add a remote provider
Bring your own keys for Claude, OpenAI, Mistral, Groq or Gemini so the router can consider them alongside your local models.
Through the UI
Open http://localhost:8765 and navigate to Settings → Providers. Pick the provider, paste the key, save. The key is encrypted into your local keystore at data/keystore.json and never written to logs.
Through environment variables
For headless setups (servers, CI), set the keys in your environment. Soriku picks them up on next start.
export ANTHROPIC_API_KEY=sk-ant-...
export OPENAI_API_KEY=sk-...
export MISTRAL_API_KEY=...
export GROQ_API_KEY=...
export GEMINI_API_KEY=...
python server.py
Verify the provider is registered
curl -s http://localhost:8765/api/v1/models | jq '.data[].id'
You should see provider-prefixed entries like anthropic:claude-sonnet-4-6, openai:gpt-4o, mistral:large-latest.
Per-provider cost caps
Set a daily budget per provider so an experiment doesn't burn through your billing alert.
# config/models.yaml
providers:
anthropic:
daily_budget_usd: 5.00
openai:
daily_budget_usd: 2.00
Cost caps are advisory: when the budget is exceeded the router stops picking that provider for the rest of the day. It does not enforce the cap on direct pinned calls.