Skip to content

Providers

open-multi-agent keeps the agent config shape stable across hosted, cloud, and local providers. Change provider, model, and the relevant credential; the rest of your team definition stays the same.

const agent = {
name: 'my-agent',
provider: 'anthropic',
model: 'claude-sonnet-4-6',
systemPrompt: 'You are a helpful assistant.',
}

The framework ships a wired-in provider name for each of these. Set provider and the env var, and the adapter handles the endpoint.

Under the hood, Anthropic, Gemini, and Bedrock use provider-specific APIs. The other built-in shortcuts are pre-configured wrappers around OpenAI-compatible endpoints; same wire format as the OpenAI-compatible table below, with the baseURL already supplied.

ProviderConfigEnv varExample modelNotes
Anthropic (Claude)provider: 'anthropic'ANTHROPIC_API_KEYclaude-sonnet-4-6Native Anthropic SDK.
Geminiprovider: 'gemini'GEMINI_API_KEYgemini-2.5-proNative Google GenAI SDK. Requires npm install @google/genai.
OpenAI (GPT)provider: 'openai'OPENAI_API_KEYgpt-4o
Azure OpenAIprovider: 'azure-openai'AZURE_OPENAI_API_KEY, AZURE_OPENAI_ENDPOINTgpt-4Optional AZURE_OPENAI_API_VERSION, AZURE_OPENAI_DEPLOYMENT.
GitHub Copilotprovider: 'copilot'GITHUB_COPILOT_TOKEN (falls back to GITHUB_TOKEN)gpt-4oCustom token-exchange flow on top of OpenAI protocol.
Grok (xAI)provider: 'grok'XAI_API_KEYgrok-4OpenAI-compatible; endpoint is api.x.ai/v1.
DeepSeekprovider: 'deepseek'DEEPSEEK_API_KEYdeepseek-v4-flashOpenAI-compatible. deepseek-v4-flash (default) or deepseek-v4-pro (flagship for coding); both support 1M context and 384K max output. Legacy deepseek-chat / deepseek-reasoner retire 2026-07-24.
Doubao (Volcengine)provider: 'doubao'ARK_API_KEYdoubao-seed-1-8-251228OpenAI-compatible. ByteDance Volcengine Ark endpoint https://ark.cn-beijing.volces.com/api/v3. See providers/doubao.
Hunyuan (Tencent MaaS / TokenHub)provider: 'hunyuan'HUNYUAN_API_KEYhy3-previewOpenAI-compatible. Default endpoint https://tokenhub.tencentmaas.com/v1 (Tencent’s current platform; sk-... keys, Hunyuan 3 models). Tool calling verified on hy3-preview. See providers/hunyuan.
Hunyuan (legacy Tencent Cloud)provider: 'hunyuan' + HUNYUAN_BASE_URLHUNYUAN_API_KEYhunyuan-turbos-latestLegacy endpoint https://api.hunyuan.cloud.tencent.com/v1 (console.cloud.tencent.com/hunyuan key; separate key namespace). Tencent has announced this platform is being retired (sales stop 2026-06-30, full shutdown 2026-09-30). Set HUNYUAN_BASE_URL=https://api.hunyuan.cloud.tencent.com/v1 to target it until then. Tool calling verified on hunyuan-turbos and hunyuan-functioncall.
MiniMax (global)provider: 'minimax'MINIMAX_API_KEYMiniMax-M3OpenAI-compatible.
MiniMax (China)provider: 'minimax' + MINIMAX_BASE_URLMINIMAX_API_KEYMiniMax-M3Set MINIMAX_BASE_URL=https://api.minimaxi.com/v1.
MiMoprovider: 'mimo'MIMO_API_KEY (+ optional MIMO_BASE_URL)mimo-v2.5-proOpenAI-compatible. Defaults to pay-as-you-go endpoint https://api.xiaomimimo.com/v1; Token Plan keys (tp-...) require the cluster base URL from your subscription page, such as https://token-plan-cn.xiaomimimo.com/v1. Supports reasoning/tool-call loops through the built-in MiMo adapter. See providers/mimo.
Qiniuprovider: 'qiniu'QINIU_API_KEYdeepseek-v3OpenAI-compatible. Endpoint https://api.qnaigc.com/v1; multiple model families, see Qiniu AI docs.
AWS Bedrockprovider: 'bedrock'none (AWS SDK credential chain)anthropic.claude-3-5-haiku-20241022-v1:0No API key. Set AWS_REGION or pass region as the 4th arg to createAdapter. Credentials come from env vars, shared config, or IAM role. Newer Claude models can require a cross-region inference profile prefix such as us.. Also supports Llama, Mistral, and Cohere. See providers/bedrock. Requires npm install @aws-sdk/client-bedrock-runtime.

No bundled shortcut is needed when a server speaks OpenAI Chat Completions. Use provider: 'openai' and point baseURL at the service.

ServiceConfigEnv varExample modelNotes
Ollama (local)provider: 'openai' + baseURL: 'http://localhost:11434/v1'nonellama3.1
vLLM (local)provider: 'openai' + baseURLnoneserver-loaded
LM Studio (local)provider: 'openai' + baseURLnoneserver-loaded
llama.cpp server (local)provider: 'openai' + baseURLnoneserver-loaded
OpenRouterprovider: 'openai' + baseURL: 'https://openrouter.ai/api/v1' + apiKeyOPENROUTER_API_KEYopenai/gpt-4o-mini
Groqprovider: 'openai' + baseURL: 'https://api.groq.com/openai/v1'GROQ_API_KEYllama-3.3-70b-versatile
Mistralprovider: 'openai' + baseURL: 'https://api.mistral.ai/v1'MISTRAL_API_KEYmistral-large-latestSee providers/mistral.
MiMoprovider: 'openai' + baseURL: 'https://api.xiaomimimo.com/v1'MIMO_API_KEYmimo-v2.5-proPrefer the built-in mimo provider when using tool-calling agent loops. Token Plan users should set their token-plan-*.xiaomimimo.com/v1 base URL.
Zhipu GLMprovider: 'openai' + baseURL: 'https://open.bigmodel.cn/api/paas/v4'ZHIPU_API_KEYglm-4-plusSee providers/zhipu.
Qwen (DashScope)provider: 'openai' + baseURL: 'https://dashscope.aliyuncs.com/compatible-mode/v1'DASHSCOPE_API_KEYqwen-plusSee providers/qwen.
Moonshot AI (Kimi)provider: 'openai' + baseURL: 'https://api.moonshot.ai/v1'MOONSHOT_API_KEYkimi-k2.5See providers/moonshot.
LiteLLM (proxy)provider: 'openai' + baseURL: 'http://localhost:4000/v1' + apiKeyLITELLM_API_KEY (if proxy auth enabled)any model on your proxyLiteLLM unifies 100+ providers (OpenAI, Anthropic, Azure, Bedrock, Vertex, etc.) behind one OpenAI-compatible endpoint. Run litellm --config config.yaml and point baseURL at the proxy.

Other services can be connected the same way if they implement the OpenAI Chat Completions API, but they are not listed as verified providers here. For services where the key is not OPENAI_API_KEY, pass it explicitly via apiKey; otherwise the openai adapter falls back to OPENAI_API_KEY.

The framework supports tool-calling with local models served by Ollama, vLLM, LM Studio, or llama.cpp. Tool-calling is handled natively through the OpenAI-compatible API.

Verified local models include Gemma 4, Llama 3.1, Qwen 3, Mistral, and Phi-4. Ollama publishes its tool-capable models at ollama.com/search?c=tools.

If a local model returns tool calls as text instead of the tool_calls wire format, the framework automatically extracts them from the text output. This helps with thinking models or misconfigured local servers.

Use timeoutMs on AgentConfig for slow local inference:

const localAgent = {
name: 'local',
model: 'llama3.1',
provider: 'openai',
baseURL: 'http://localhost:11434/v1',
apiKey: 'ollama',
tools: ['bash', 'file_read'],
timeoutMs: 120_000,
}

Highly quantized MoE models on consumer hardware can fall into repetition loops or hallucinate tool-call schemas under default sampling. AgentConfig exposes topK, minP, frequencyPenalty, presencePenalty, parallelToolCalls, and extraBody for server-specific knobs such as vLLM’s repetition_penalty. See providers/local-quantized for a complete setup.

  • Model not calling tools? Confirm it appears in Ollama’s Tools category.
  • Using Ollama? Update to the latest version with ollama update.
  • Proxy interfering with local servers? Use no_proxy=localhost.