LLM Provider Overview
EdgeCrab ships a compiled model catalog with cloud and first-class local providers (count is source-derived from model_catalog_default.yaml). Over 200 models are compiled in, with user override via ~/.edgecrab/models.yaml. Auto-detection finds a default from environment variables — or switch at any time with --model or /model inside the TUI.
Provider Quick Reference
Section titled “Provider Quick Reference”| Priority | Provider | Env var | Notable Models |
|---|---|---|---|
| 1 | copilot | GITHUB_TOKEN | GPT-4.1-mini, GPT-4.1 — free with GitHub Copilot |
| 2 | openai | OPENAI_API_KEY | GPT-4.1, GPT-5, o3, o4-mini |
| 3 | anthropic | ANTHROPIC_API_KEY | Claude Opus 4.6, Sonnet 4.6, Haiku 4.5 |
| 4 | google | GOOGLE_API_KEY | Gemini 2.5 Pro, Gemini 2.5 Flash |
| 5 | vertexai | GOOGLE_APPLICATION_CREDENTIALS | Gemini via Google Cloud |
| 6 | bedrock | AWS credentials chain | Claude, Nova, and Bedrock-hosted models |
| 7 | xai | XAI_API_KEY | Grok 3, Grok 4 |
| 8 | deepseek | DEEPSEEK_API_KEY | DeepSeek V3, DeepSeek R1 |
| 9 | mistral | MISTRAL_API_KEY | Mistral Large, Mistral Small |
| 10 | groq | GROQ_API_KEY | Llama 3.3 70B, Gemma2 (blazing fast inference) |
| 11 | huggingface | HUGGING_FACE_HUB_TOKEN | Any HF Inference API model |
| 12 | zai | ZAI_API_KEY | Z.AI / GLM series |
| 13 | openrouter | OPENROUTER_API_KEY | 600+ models via one endpoint |
| — | ollama | (none) | Local — port 11434 |
| — | lmstudio | (none) | Local — port 1234 |
| — | omlx | optional OMLX_API_KEY | Apple Silicon MLX — 9050 |
| — | mtplx | optional MTPLX_API_KEY | Apple Silicon MTP — settings port |
| — | llamacpp | optional LLAMACPP_API_KEY | llama-server GGUF — 8080 |
| — | vllm-mlx | optional VLLM_MLX_API_KEY | vLLM-MLX — 8000 |
| — | mlx-lm | optional MLX_LM_API_KEY | mlx_lm.server — 8080 |
Auto-detection order: EdgeCrab checks cloud env vars in priority order. Local providers are selected when you pass
--model <local-id>/…, choose them inedgecrab setup, or set host env vars (e.g.OMLX_HOST,LLAMACPP_HOST).
Setting Up a Provider
Section titled “Setting Up a Provider”1. Set the API Key
Section titled “1. Set the API Key”Add to your shell profile or ~/.edgecrab/.env:
# ~/.edgecrab/.env <- edgecrab loads this automaticallyOPENAI_API_KEY=sk-...ANTHROPIC_API_KEY=sk-ant-...Note for Gemini: The env var is
GOOGLE_API_KEY, notGEMINI_API_KEY.
2. Set the Active Provider
Section titled “2. Set the Active Provider”Either via setup wizard (recommended for first run):
edgecrab setupOr directly in ~/.edgecrab/config.yaml:
provider: openaimodel: gpt-4o3. Verify
Section titled “3. Verify”edgecrab doctor# OK OpenAI OPENAI_API_KEY set# OK Provider ping openai/gpt-4o -> OK (421 ms)Provider Details
Section titled “Provider Details”GitHub Copilot (copilot)
Section titled “GitHub Copilot (copilot)”Uses your existing GitHub Copilot subscription — no additional billing. Requires a valid GITHUB_TOKEN with Copilot access.
GITHUB_TOKEN=ghp_...Models:
gpt-4.1-mini(default, fast)gpt-4o(more capable)claude-sonnet-4-5(when available in Copilot)
OpenAI (openai)
Section titled “OpenAI (openai)”OPENAI_API_KEY=sk-...Recommended models:
openai/gpt-4o # Best general-purposeopenai/gpt-4.1-mini # Fast, cost-effectiveopenai/o3 # Advanced reasoningopenai/o4-mini # Fast reasoningAnthropic (anthropic)
Section titled “Anthropic (anthropic)”ANTHROPIC_API_KEY=sk-ant-...Recommended models:
anthropic/claude-opus-4-5 # Most capableanthropic/claude-sonnet-4-5 # Balancedanthropic/claude-haiku-3-5 # Fast, lightweightGoogle Gemini (google)
Section titled “Google Gemini (google)”GOOGLE_API_KEY=AIza...Important: The env var is
GOOGLE_API_KEY— notGEMINI_API_KEY.
Models:
google/gemini-2.5-flash # Fast, capablegoogle/gemini-2.5-pro # Long context, advanced reasoningVertex AI (vertexai)
Section titled “Vertex AI (vertexai)”Access Gemini models via Google Cloud with enterprise billing and data residency.
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json# or: use Application Default Credentials (gcloud auth application-default login)Models: same as google provider, routed through Vertex AI API endpoint.
xAI (xai)
Section titled “xAI (xai)”XAI_API_KEY=...Models:
xai/grok-3 # Most capablexai/grok-3-mini # Fast, cost-effectiveDeepSeek (deepseek)
Section titled “DeepSeek (deepseek)”Excellent for code tasks, highly cost-effective.
DEEPSEEK_API_KEY=...Models:
deepseek/deepseek-chat # V3 — general purposedeepseek/deepseek-reasoner # R1 — advanced reasoningMistral (mistral)
Section titled “Mistral (mistral)”European-headquartered provider with strong multilingual support and GDPR data residency options.
MISTRAL_API_KEY=...Models:
mistral/mistral-large-latest # Most capablemistral/mistral-small-latest # Fast, cost-effectivemistral/codestral-latest # Code-focusedGroq (groq)
Section titled “Groq (groq)”Ultra-fast inference via custom LPU chips. Lowest latency of any cloud provider.
GROQ_API_KEY=...Models:
groq/llama-3.3-70b-versatile # Best balance of speed + qualitygroq/llama-3.1-8b-instant # Extremely fast, lightweightgroq/gemma2-9b-it # Google Gemma2 via GroqHugging Face (huggingface)
Section titled “Hugging Face (huggingface)”Access open models via the Hugging Face Inference API.
HUGGING_FACE_HUB_TOKEN=hf_...edgecrab --model huggingface/meta-llama/Llama-3.3-70B-Instruct "..."Z.AI (zai)
Section titled “Z.AI (zai)”Z.AI provides access to GLM model series.
ZAI_API_KEY=...Models:
zai/glm-4.5 # Latest GLMzai/glm-5 # Most capable GLMLocal providers (no cloud API key)
Section titled “Local providers (no cloud API key)”| Id | Default base | One-liner |
|---|---|---|
ollama | :11434 | edgecrab --model ollama/llama3.3 |
lmstudio | :1234 | edgecrab --model lmstudio/<loaded> |
omlx | :9050 | edgecrab --model omlx/<id> |
mtplx | settings / :8000 | edgecrab --model mtplx/<id> |
llamacpp | :8080 | edgecrab --model llamacpp/<id> |
vllm-mlx | :8000 | edgecrab --model vllm-mlx/<id> |
mlx-lm | :8080 | edgecrab --model mlx-lm/<id> |
Override any base URL with TUI /endpoint. Full setup, ports, env vars, doctor probes, and Apple Silicon guidance:
OpenRouter (openrouter)
Section titled “OpenRouter (openrouter)”Access 600+ models from a single API endpoint and API key.
OPENROUTER_API_KEY=...edgecrab --model openrouter/anthropic/claude-opus-4-5 "..."edgecrab --model openrouter/google/gemini-2.5-flash "..."edgecrab --model openrouter/meta-llama/llama-3.3-70b-instruct "..."Switching Providers at Runtime
Section titled “Switching Providers at Runtime”Command line
Section titled “Command line”edgecrab --model anthropic/claude-opus-4-5 "refactor this module"Inside the TUI
Section titled “Inside the TUI”/model groq/llama-3.3-70b-versatileThe switch takes effect immediately — the conversation history carries over, with the new model seeing all previous messages.
Fallback Chain
Section titled “Fallback Chain”Configure automatic failover in config.yaml:
provider: openaimodel: gpt-4ofallback_providers: - anthropic/claude-sonnet-4-5 - ollama/llama3.3If the primary provider returns an error (rate limit, outage), EdgeCrab retries with the next in the chain.
Comparing Models for Coding Tasks
Section titled “Comparing Models for Coding Tasks”| Task | Recommended |
|---|---|
| Large refactor (100+ files) | anthropic/claude-opus-4-6 |
| Quick one-file fix | groq/llama-3.3-70b-versatile or openai/gpt-4.1-mini |
| Reasoning / complex logic | deepseek/deepseek-reasoner or openai/o3 |
| Offline / air-gapped | ollama/…, omlx/…, llamacpp/…, or other local providers |
| Mac agent TTFT / MLX | omlx/… or mtplx/… |
| GGUF Metal control | llamacpp/… (llama-server) |
| Maximum model variety | openrouter/... (600+ models) |
| Budget-conscious | deepseek/deepseek-chat or groq/llama-3.1-8b-instant |
| Lowest latency | groq/llama-3.3-70b-versatile (LPU hardware) |
| European data residency | mistral/mistral-large-latest |
| Code generation | deepseek/deepseek-chat or mistral/codestral-latest |
Pro Tips
Section titled “Pro Tips”- Use
/modelin the TUI to experiment: type/model groq/llama-3.3-70b-versatilemid-session to switch models without losing conversation history. - Groq for speed-sensitive tasks: Groq’s LPU chips deliver 300+ tokens/second — ideal for quick iterations and interactive use where waiting 5 seconds per response breaks flow.
- OpenRouter for prototyping: a single
OPENROUTER_API_KEYunlocks 600+ models. Iterate fast across different providers before committing to one API key. - DeepSeek R1 for hard reasoning:
deepseek/deepseek-reasonermatches o3-class reasoning at a fraction of the cost. Ideal for algorithm design and complex debugging. - Mistral for European compliance: data stays in EU datacenters. Use
mistral/codestral-latestfor code tasks with GDPR requirements. edgecrab doctorshows which providers are configured and their latency. Run it after adding a new key to verify the key works.- Fallback chain protects long runs: configure
fallback_providersinconfig.yamlso that a rate-limit spike doesn’t kill a multi-hour refactor.
Why is my GOOGLE_API_KEY not working with Gemini?
Make sure you’re using GOOGLE_API_KEY (not GEMINI_API_KEY). Also verify the key has the Generative Language API enabled in Google Cloud Console.
Can I use two providers in the same session?
Not simultaneously, but you can switch mid-session with /model provider/model-name. Each turn after the switch uses the new model.
Does EdgeCrab send conversation history to every provider I’ve configured? No. Only the active provider receives messages. Other API keys are only used if you explicitly switch to that provider.
How does auto-detection priority work?
EdgeCrab checks env vars in the order listed in the Provider Quick Reference table. The first key found sets the default provider. If you have multiple keys set, add provider: <name> to config.yaml to pin the preference.
Can I use a fine-tuned model?
Yes — any OpenAI-compatible endpoint accepts a custom model name. Set base_url and model.default in config.yaml.
See Also
Section titled “See Also”- Local Models — Ollama, LM Studio, oMLX, MTPLX, llama-server, vLLM-MLX, mlx-lm
- Environment Variables — all API key env var names
- Configuration Reference —
provider,model, andfallback_providersconfig keys