模型提供商
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 | 标识 | 主要模型 |
|---|---|---|
| OpenAI | openai | GPT-4o, GPT-4o-mini, o1, o3 |
| Anthropic | anthropic | Claude 3.5 Sonnet, Claude 3 Opus |
google | Gemini 2.0 Flash, Gemini 1.5 Pro | |
| DeepSeek | deepseek | DeepSeek Chat, DeepSeek Coder |
| Mistral | mistral | Mistral Large, Mixtral |
| Groq | groq | LLaMA 3, Mixtral (高速推理) |
| Together | together | 开源模型托管 |
| Ollama | ollama | 本地模型 |
插件提供商(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 Key | Bearer Token 认证 | 大多数 Provider |
| OAuth | OAuth 2.0 流程 | 部分 Provider |
| 无认证 | 本地服务 | Ollama |
yaml
# API Key 认证
providers:
openai:
apiKey: sk-...
# OAuth 认证
providers:
google:
oauth:
clientId: "..."
clientSecret: "..."
# 无认证(本地)
providers:
ollama:
baseURL: http://localhost:11434Provider 能力检测
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-chatbash
export ZHIPU_API_KEY="..."
# model: zhipu/glm-4
# baseURL: https://open.bigmodel.cn/api/paas/v4bash
export DASHSCOPE_API_KEY="sk-..."
# model: dashscope/qwen-max
# baseURL: https://dashscope.aliyuncs.com/compatible-mode/v1bash
export WENXIN_API_KEY="..."
# model: wenxin/ernie-4.0- 国产模型通常无需科学上网,延迟更低
- 定价通常比国际模型更优惠
- 建议将国产模型作为 Failover 备选,确保可用性
