Skip to content

Providers ​

Praetor supports 25 providers. Set at least one API key and Praetor detects which provider you configured.

The registry is the single source of truth: registerProvider() calls in packages/core/src/runtime/providers/providerRegistry.ts determine the auto-detection order, the environment variable map, the default base URLs, the default models, the display names, and the API type. Adding a provider is one registerProvider() call.

Auto-detection order ​

Order matters. Local providers are listed first, so auto-detection prefers them when configured; cloud providers follow, with OpenAI last as the most reliable fallback.

The 25 providers ​

#--provider valueDisplay nameEnv variableDefault model
1ollamaOllama (Local)OLLAMA_API_KEYllama3.2
2vllmvLLM (Local)VLLM_API_KEYmeta-llama/Llama-3.2-3B-Instruct
3deepinfraDeepInfraDEEPINFRA_API_KEYmeta-llama/Llama-3.3-70B-Instruct-Turbo
4anyscaleAnyscaleANYSCALE_API_KEYmeta-llama/Llama-3.3-70B-Instruct
5replicateReplicateREPLICATE_API_TOKENmeta/meta-llama-3.3-70b-instruct
6cohereCohereCO_API_KEYcommand-a-plus-05-2026
7mistralMistral AIMISTRAL_API_KEYmistral-large-latest
8groqGroqGROQ_API_KEYllama-3.3-70b-versatile
9togetherTogether AITOGETHER_API_KEYmeta-llama/Llama-3.3-70B-Instruct-Turbo
10perplexityPerplexityPERPLEXITY_API_KEYsonar-pro
11fireworksFireworks AIFIREWORKS_API_KEYaccounts/fireworks/models/llama-v3p3-70b-instruct
12xiaomiXiaomi MiMoXIAOMI_API_KEYmimo-v2-flash
13mimoMiMoMIMO_API_KEYmimo-v2.5
14deepseekDeepSeekDEEPSEEK_API_KEYdeepseek-v4-flash
15glmGLM (Zhipu AI)ZHIPU_API_KEYglm-4.7
16xaixAI (Grok)XAI_API_KEYgrok-2-latest
17bedrockAWS BedrockAWS_ACCESS_KEY_IDanthropic.claude-3-5-sonnet-20241022-v2:0
18agnesAgnes AIAGNES_API_KEYagnes-2.5-flash
19stepfunStepFunSTEPFUN_API_KEYstep-3.7-flash
20minimaxMiniMaxMINIMAX_API_KEYMiniMax-M3
21openrouterOpenRouterOPENROUTER_API_KEYopenai/gpt-4o-mini
22anthropicAnthropicANTHROPIC_API_KEYclaude-sonnet-4-6
23googleGoogle GeminiGOOGLE_API_KEYgemini-2.0-flash
24azureAzure OpenAIAZURE_OPENAI_API_KEYgpt-4o
25openaiOpenAIOPENAI_API_KEYgpt-4o

Environment variables that are not obvious ​

Several providers use a variable you would not guess from the name:

  • Cohere uses CO_API_KEY (with COHERE_API_KEY accepted as a fallback).
  • GLM / Zhipu uses ZHIPU_API_KEY, not GLM_API_KEY.
  • Replicate uses REPLICATE_API_TOKEN (with REPLICATE_API_KEY accepted as a fallback).
  • AWS Bedrock is selected by AWS_ACCESS_KEY_ID presence and also needs AWS_SECRET_ACCESS_KEY and AWS_REGION.

Overrides ​

Each provider accepts the same three override shapes:

PatternExample
Base URL<PROVIDER>_BASE_URL — e.g. OPENAI_BASE_URL, AZURE_OPENAI_BASE_URL
Model<PROVIDER>_MODEL — e.g. OPENAI_MODEL, AZURE_OPENAI_MODEL
Host (local runtimes)OLLAMA_HOST, VLLM_BASE_URL

Azure OpenAI additionally uses AZURE_OPENAI_API_VERSION.

Failover ​

Providers form a configurable auto-failover chain. praetor init scans for configured keys, tests connectivity, measures latency, and writes the resulting chain to .commander.json. Per-provider circuit breakers track error rates and open after consecutive failures, moving traffic to the next provider in the chain.

Model tiers ​

PRAETOR_MIN_SENSITIVE_MODEL_TIER sets a floor for the model tier used on sensitive steps. Tiers are eco, standard, power, and consensus; the default is standard. A step that needs a higher tier will not be routed to a lower one.

Credential handling ​

Provider keys are resolved vault-first, then environment. The encrypted secrets vault (PRAETOR_MASTER_KEY) uses AES-256-GCM with HKDF-SHA-256 derivation. See Security and privacy.

MIT licensed.