为什么需要多模型路由?
单一模型方案存在明显局限:
- 成本:所有对话都用最贵的模型,账单惊人
- 可用性:一个模型挂了,整个服务不可用
- 场景适配:简单问答用 GPT-4o 是杀鸡用牛刀
OpenClaw 的多模型路由让你同时接入多个模型,并按需智能分流。
基础配置
在 openclaw.json5 中配置多个 Provider:
{
models: {
primary: "claude-sonnet",
providers: {
"claude-sonnet": {
provider: "anthropic",
model: "claude-sonnet-4-6",
apiKey: "sk-ant-xxx"
},
"gpt4o": {
provider: "openai",
model: "gpt-4o",
apiKey: "sk-xxx"
},
"qwen-turbo": {
provider: "dashscope",
model: "qwen-turbo",
apiKey: "sk-xxx"
}
}
}
}
primary 指定默认使用的模型,其他模型可通过路由规则或手动切换使用。
路由规则
按频道路由
不同频道使用不同模型:
{
models: {
routing: {
rules: [
{ channel: "telegram", model: "claude-sonnet" },
{ channel: "webchat", model: "gpt4o" },
{ channel: "wechat", model: "qwen-turbo" }
]
}
}
}
按用户路由
VIP 用户使用高级模型,普通用户使用经济型模型:
{
models: {
routing: {
rules: [
{ allowFrom: ["user_1001", "user_1002"], model: "claude-sonnet" },
{ allowFrom: ["*"], model: "qwen-turbo" }
]
}
}
}
按消息长度路由
短消息用快速模型,长消息用高质量模型:
{
models: {
routing: {
rules: [
{ maxTokens: 100, model: "qwen-turbo" },
{ maxTokens: 2000, model: "gpt4o" },
{ maxTokens: "*", model: "claude-sonnet" }
]
}
}
}
故障自动切换(Fallback)
配置 fallback 链,当主模型不可用时自动降级:
{
models: {
primary: "claude-sonnet",
fallback: ["gpt4o", "qwen-turbo"],
fallbackTimeout: 10000 // 10 秒超时后切换
}
}
工作流程:
- 请求发送到
claude-sonnet - 如果 10 秒内无响应或返回错误,自动转发到
gpt4o - 如果
gpt4o也失败,最后尝试qwen-turbo - 所有模型都失败时,返回友好的错误提示
成本监控
启用成本追踪后,可以在 Dashboard 中查看每个模型的用量和费用:
{
models: {
costTracking: true,
costAlert: {
daily: 10, // 每日上限 $10
monthly: 200 // 每月上限 $200
}
}
}
最佳实践
- 日常对话用
qwen-turbo(成本低、速度快、国内延迟低) - 复杂任务用
claude-sonnet或gpt-4o(推理能力强) - 始终配置 fallback,避免单点故障
- 开启 costTracking,防止意外高额账单