Appearance
模型选择与故障转移
模型选择顺序
OpenClaw 按以下顺序选择模型:
- 主模型(
agents.defaults.model.primary) - 备用模型(
agents.defaults.model.fallbacks,按顺序尝试) - Provider 内部认证轮换(同一 Provider 多个 API 密钥之间的切换,发生在切换到下一个备用模型之前)
基本配置
json5
{
agents: {
defaults: {
model: {
primary: "anthropic/claude-opus-4-6",
fallbacks: ["openai/gpt-5.4", "openrouter/anthropic/claude-sonnet-4-5"],
},
models: {
"anthropic/claude-opus-4-6": { alias: "Opus" },
"openai/gpt-5.4": { alias: "GPT5" },
"openrouter/anthropic/claude-sonnet-4-5": { alias: "Sonnet" },
},
},
},
}模型目录(models)
agents.defaults.models 同时承担两个作用:
- 模型别名:在聊天中使用
/model <别名>切换 - 允许列表:设置后,只有列表中的模型才能在聊天中选择
如果设置了
models但用户尝试使用不在列表中的模型,会收到"Model is not allowed"错误,而不是正常回复。
json5
// 正确:定义允许的模型目录
{
agents: {
defaults: {
models: {
"anthropic/claude-opus-4-6": { alias: "Opus" },
"anthropic/claude-sonnet-4-5": { alias: "Sonnet" },
},
},
},
}在聊天中切换模型
/model # 显示当前模型
/model list # 列出所有可用模型
/model Sonnet # 切换到别名为 Sonnet 的模型
/model status # 详细认证状态(含备用、Provider 端点信息)图像模型(vision fallback)
当主模型无法处理图片时,使用专用图像模型:
json5
{
agents: {
defaults: {
imageModel: {
primary: "openrouter/anthropic/claude-sonnet-4-5",
},
},
},
}认证轮换与冷却
当某个认证配置(API 密钥或 token)出现问题时,OpenClaw 在同一 Provider 内切换到下一个认证配置:
json5
{
auth: {
profiles: {
"anthropic:key1": { provider: "anthropic", mode: "api_key" },
"anthropic:key2": { provider: "anthropic", mode: "api_key" },
},
order: {
anthropic: ["anthropic:key1", "anthropic:key2"],
},
},
}查看认证状态:
bash
openclaw models status
openclaw models status --json # 查看 auth.unusableProfiles(冷却中的配置)按 Agent 覆盖模型配置
不同 Agent 可以使用不同的模型:
json5
{
agents: {
defaults: {
model: { primary: "anthropic/claude-opus-4-6" }, // 大多数 Agent 用这个
},
list: [
{ id: "fast", model: { primary: "anthropic/claude-sonnet-4-5" } }, // 快速 Agent
{ id: "local", model: { primary: "ollama/llama3.3" } }, // 本地模型 Agent
],
},
}模型策略建议
- 主模型:选用最新一代最强模型(当前推荐
anthropic/claude-opus-4-6) - 备用模型:低成本/低延迟场景使用更小的模型
- 工具型 Agent 或不可信输入:避免使用较旧/较弱的模型层
API 密钥多 Key 轮换
部分 Provider 支持多个 API Key,触发速率限制时自动轮换:
bash
# 环境变量方式
export ANTHROPIC_API_KEYS="sk-ant-key1,sk-ant-key2,sk-ant-key3"
# 或
export ANTHROPIC_API_KEY_1="sk-ant-key1"
export ANTHROPIC_API_KEY_2="sk-ant-key2"优先级顺序:
OPENCLAW_LIVE_<PROVIDER>_KEY(临时覆盖)<PROVIDER>_API_KEYS<PROVIDER>_API_KEY<PROVIDER>_API_KEY_*
仅速率限制错误(429 等)触发轮换,其他错误直接失败。