Skip to content
广告 · 本站推荐广告

模型提供商

Model Provider(模型提供商)是 OpenClaw 与 AI 模型之间的桥梁。每个 Provider 封装了特定服务商的 API 调用逻辑、认证和计费方式。

Provider 架构

┌──────────────┐
│    Agent     │
│   智能体     │
└──────┬───────┘
       │  model: provider/model-name

┌──────────────┐
│   Provider   │  ← 统一接口
│   Router     │
└──────┬───────┘

  ┌────┼────┬────────┬──────────┐
  │    │    │        │          │
  ▼    ▼    ▼        ▼          ▼
┌────┐┌────┐┌──────┐┌────────┐┌────────┐
│OAI ││Anth││Google││DeepSeek││Custom  │
│    ││ropic││      ││        ││Plugin  │
└────┘└────┘└──────┘└────────┘└────────┘

OpenClaw 使用统一的 Provider 接口(Provider Interface),所有模型调用通过相同的 API 抽象层进行。

内置提供商(Built-in Providers)

OpenClaw 内置以下主流 Provider 的支持:

Provider标识主要模型
OpenAIopenaiGPT-4o, GPT-4o-mini, o1, o3
AnthropicanthropicClaude 3.5 Sonnet, Claude 3 Opus
GooglegoogleGemini 2.0 Flash, Gemini 1.5 Pro
DeepSeekdeepseekDeepSeek Chat, DeepSeek Coder
MistralmistralMistral Large, Mixtral
GroqgroqLLaMA 3, Mixtral (高速推理)
Togethertogether开源模型托管
Ollamaollama本地模型

插件提供商(Plugin Providers)

通过插件系统扩展新的 Provider:

typescript
// 自定义 Provider 插件示例
export default {
  name: 'my-provider',
  
  async chat(params: ChatParams): Promise<ChatResponse> {
    const response = await fetch('https://api.my-provider.com/chat', {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${params.apiKey}`,
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({
        model: params.model,
        messages: params.messages,
        stream: params.stream
      })
    })
    return parseResponse(response)
  }
}

Provider 配置

环境变量方式

bash
# OpenAI
export OPENAI_API_KEY="sk-..."

# Anthropic
export ANTHROPIC_API_KEY="sk-ant-..."

# Google
export GOOGLE_AI_API_KEY="AIza..."

# DeepSeek
export DEEPSEEK_API_KEY="sk-..."

配置文件方式

yaml
providers:
  openai:
    apiKey: ${OPENAI_API_KEY}
    baseURL: https://api.openai.com/v1    # 可选覆写
    
  anthropic:
    apiKey: ${ANTHROPIC_API_KEY}
    
  deepseek:
    apiKey: ${DEEPSEEK_API_KEY}
    baseURL: https://api.deepseek.com/v1
    
  ollama:
    baseURL: http://localhost:11434       # 本地 Ollama 服务

Base URL 覆写

可以通过 baseURL 将请求指向兼容的代理服务或自托管端点。这对使用 API 代理或企业内网部署特别有用。

认证方式

不同 Provider 支持不同的认证方式:

认证方式说明支持的 Provider
API KeyBearer Token 认证大多数 Provider
OAuthOAuth 2.0 流程部分 Provider
无认证本地服务Ollama
yaml
# API Key 认证
providers:
  openai:
    apiKey: sk-...

# OAuth 认证
providers:
  google:
    oauth:
      clientId: "..."
      clientSecret: "..."
      
# 无认证(本地)
providers:
  ollama:
    baseURL: http://localhost:11434

Provider 能力检测

OpenClaw 自动检测每个 Provider 和模型的能力:

yaml
capabilities:
  openai/gpt-4o:
    vision: true           # 支持图片输入
    streaming: true        # 支持流式输出
    functionCalling: true  # 支持函数调用
    jsonMode: true         # 支持 JSON 输出模式
    maxTokens: 128000      # 上下文窗口
    
  deepseek/deepseek-chat:
    vision: false
    streaming: true
    functionCalling: true
    jsonMode: true
    maxTokens: 64000

速率限制处理

OpenClaw 自动处理 Provider 的速率限制(Rate Limiting):

yaml
providers:
  openai:
    rateLimit:
      requestsPerMinute: 500
      tokensPerMinute: 150000
      retryAfterHeader: true    # 遵循 Retry-After 头

429 Too Many Requests

当触发速率限制时,OpenClaw 会自动排队请求并在适当时间重试。如配置了 Failover,也可能切换到备用模型。

🇨🇳 中国用户须知

国产模型提供商快速接入指南:

bash
export DEEPSEEK_API_KEY="sk-..."
# model: deepseek/deepseek-chat
bash
export ZHIPU_API_KEY="..."
# model: zhipu/glm-4
# baseURL: https://open.bigmodel.cn/api/paas/v4
bash
export DASHSCOPE_API_KEY="sk-..."
# model: dashscope/qwen-max
# baseURL: https://dashscope.aliyuncs.com/compatible-mode/v1
bash
export WENXIN_API_KEY="..."
# model: wenxin/ernie-4.0
  • 国产模型通常无需科学上网,延迟更低
  • 定价通常比国际模型更优惠
  • 建议将国产模型作为 Failover 备选,确保可用性

下一步

基于MIT协议开源 | 内容翻译自 官方文档,同步更新