Expand description
Built-in LLM provider implementations.
Each submodule implements StreamingModelProvider and ProviderFactory for a specific LLM service.
§Available providers
| Module | Provider | Env var | Feature flag |
|---|---|---|---|
anthropic | Anthropic (Claude) | ANTHROPIC_API_KEY | – |
openai | OpenAI (GPT) | OPENAI_API_KEY | – |
openrouter | OpenRouter | OPENROUTER_API_KEY | – |
gemini | Google Gemini | GEMINI_API_KEY | – |
local::ollama | Ollama | – (local) | – |
local::llama_cpp | llama.cpp | – (local) | – |
openai_compatible | DeepSeek, ZAI, Moonshot | varies | – |
bedrock | AWS Bedrock | AWS credentials | bedrock |
codex | OpenAI Codex (OAuth) | – (OAuth) | codex |
§OpenAI-compatible providers
The openai_compatible module provides a shared GenericOpenAiProvider that works with any OpenAI-compatible API. DeepSeek, ZAI, and Moonshot use this with pre-configured ProviderConfig constants.
§Adding a new provider
- Create a submodule under
providers/. - Implement
StreamingModelProviderandProviderFactory. - Register it in
ModelProviderParser::default(). - Add model entries to
models.jsonfor the catalog.
Modules§
- anthropic
AnthropicLLM provider.- bedrock
AWS BedrockLLM provider.- codex
CodexLLM provider.- gemini
GeminiLLM provider.- local
- Local LLM providers.
- openai
OpenAILLM provider.- openai_
compatible OpenAI-compatible LLM providers.- openrouter
OpenRouterLLM provider.