Vibekit

Supported AI Providers

Available models, configuration keys, and zero-credential sandbox behavior.

Provider IDs are defined in packages/config/providers.ts. The descriptors in packages/ai/provider/index.ts own each default model, API-key lookup and lazy SDK constructor.

ProviderRepository default modelEnvironment key
openaigpt-5.6-solOPENAI_API_KEY
anthropicclaude-fable-5-1ANTHROPIC_API_KEY
googlegemini-3.8-flashGEMINI_API_KEY or GOOGLE_API_KEY
groqopenai/gpt-oss-120bGROQ_API_KEY
mistralmistral-large-latestMISTRAL_API_KEY
deepseekdeepseek-v4-proDEEPSEEK_API_KEY
xaigrok-4.6XAI_API_KEY
coherecommand-r-plusCOHERE_API_KEY
openrouteropenai/gpt-oss-20bOPENROUTER_API_KEY
togetheropenai/gpt-oss-120bTOGETHER_API_KEY
mockOffline text responsesNo key

These are checked-in defaults, not a guarantee that every model is available to your account. Pass an explicit model to chatCompletion options or getLanguageModel when needed.

Selection

MOCK_SERVICES=true or AI_PROVIDER=mock selects mock. Otherwise, a nonblank AI_PROVIDER selects a known provider; unknown names fail clearly. Without an explicit selection, key detection follows the table's real-provider order, then falls back to mock. An explicitly selected real provider requires its key.

Select AI_PROVIDER=openrouter or AI_PROVIDER=together for the bundled OpenAI Chat Completions adapters. Set the matching API key and optionally OPENROUTER_MODEL or TOGETHER_MODEL; otherwise the table defaults apply. Confirm the model is enabled and funded in your account. These adapters use https://openrouter.ai/api/v1 and https://api.together.ai/v1, respectively. Generic openai remains available with OPENAI_BASE_URL, but compatible services must support its selected API protocol.

A saved AI provider in /app/admin/setup is used when AI_PROVIDER is unset. Credentials and model overrides resolve environment values before saved integration values. Missing credentials on a selected real provider fail; they never silently select mock.

Add a provider

Add its ID to the AI provider tuple in packages/config/providers.ts. Add a modelProviders descriptor in packages/ai/provider/index.ts containing defaultModel, keyName, getApiKey and a lazy createModel function. Add a vendor SDK to the AI workspace only when necessary and update bun.lock.

Keep automatic selection order explicit, fail on missing credentials, and test mocked SDK selection without network calls. Then validate real text/streaming/tool capabilities separately. The common AiAdapter contract remains chatCompletion(messages, options?) → { text }; the mock path does not emulate every SDK capability.

When adding a provider ID, also add its credential-guidance entry in packages/config/providers.ts. This supports product validation and setup guidance; a product manifest does not automatically select a runtime adapter.

On this page