Provider Setup¶
SOCC supports multiple provider paths, but runtime behavior is not identical across them. Start with the provider that best matches your latency, cost, privacy, and tooling requirements.
Supported Providers¶
Provider |
Setup Path |
Notes |
|---|---|---|
OpenAI-compatible |
|
Works with OpenAI, OpenRouter, DeepSeek, Groq, Mistral, LM Studio, and other compatible |
Gemini |
|
Supports API key, access token, or local ADC workflows on the current main branch |
GitHub Models |
|
Interactive onboarding with saved credentials |
Codex |
|
Uses Codex CLI credentials when available |
Ollama |
|
Local inference with no API key |
Atomic Chat |
advanced setup |
Local Apple Silicon backend |
Bedrock / Vertex / Foundry |
environment variables |
Additional enterprise provider paths |
Recommended Setup Flow¶
Launch
soccRun
/providerChoose the provider family
Save the profile if the workflow offers it
Reopen SOCC or continue the session with an investigative prompt
Provider Notes¶
Tool quality depends heavily on the selected model
Smaller local models can struggle with long multi-step tool flows
Some providers impose lower output caps than the CLI defaults
Anthropic-specific capabilities do not automatically exist on other providers
For best results, prefer models with strong tool or function calling support.
Agent Routing¶
SOCC can route different agents to different models through ~/.socc/settings.json.
{
"agentModels": {
"deepseek-chat": {
"base_url": "https://api.deepseek.com/v1",
"api_key": "sk-your-key"
},
"gpt-4o": {
"base_url": "https://api.openai.com/v1",
"api_key": "sk-your-key"
}
},
"agentRouting": {
"Explore": "deepseek-chat",
"Plan": "gpt-4o",
"general-purpose": "gpt-4o",
"frontend-dev": "deepseek-chat",
"default": "gpt-4o"
}
}
When no routing match is found, the global provider remains the fallback.
settings.json stores api_key values in plaintext. Keep the file private and out of version control.
Web Search and Fetch¶
By default:
WebSearchcan use DuckDuckGo on non-Anthropic modelsAnthropic-native backends and Codex responses keep their native search behavior
WebFetchworks for plain HTTP/HTML flows but can fail on JS-heavy sites
Set FIRECRAWL_API_KEY if you want Firecrawl-backed search and fetch behavior:
export FIRECRAWL_API_KEY=your-key-here