OpenClaw多模型切换配置教程

OpenClaw号称支持多模型切换,但我配了半天没搞定。目前只接了OpenAI的GPT,想加一个Claude和本地的Ollama模型,不知道怎么配置。

有没有配成功多模型的朋友分享一下经验?最好是配置文件层面的教程。

OpenClaw的多模型配置是在配置文件里设定多个Provider,然后在Agent级别选择用哪个模型。

大致步骤:

1. 配置模型Provider

config/models.yml(或.env)里添加:

providers:
  openai:
    api_key: sk-xxxxx
    models: [gpt-4o, gpt-4o-mini]
  anthropic:
    api_key: sk-ant-xxxxx
    models: [claude-sonnet-4-20250514]
  ollama:
    base_url: http://localhost:11434
    models: [qwen2.5, deepseek-r1]

2. 在Agent设置里选择模型

创建Agent时指定默认模型,也可以设置根据任务类型自动切换:

  • 简单任务 → 用本地Ollama(免费)
  • 复杂推理 → 用Claude(效果好)
  • 代码生成 → 用GPT-4o

3. 重启服务

docker compose restart

注意:添加Ollama需要确保OpenClaw容器能访问到Ollama的服务地址。如果Ollama也是Docker部署的,需要配Docker网络互通。

1 个赞

补充一个坑:Ollama和OpenClaw在同一台机器上Docker部署时,不能用localhost访问Ollama,因为容器之间网络是隔离的。

解决方案有两个:

  1. 把两个容器放同一个Docker网络里,用容器名访问(如 http://ollama:11434
  2. 用宿主机IP访问(如 http://172.17.0.1:11434

另外选模型的建议:如果你不想每次手动切换,当贝Molili有个智能路由功能,可以根据任务复杂度自动选最合适的模型,省心很多。

1 个赞

一楼的配置格式正是我缺的,二楼的Docker网络问题果然踩中了。现在三个模型都能切换了,感谢!

根据任务自动选模型这个功能确实刚需,后面研究一下。

容器网络隔离这个坑踩了一下午才搞清楚,感谢提醒

Docker网络隔离这个坑太经典了,容器里用localhost永远连不到宿主机服务

多模型切换那个配置文件格式之前找了半天,这个帖子省事了

容器内不能用localhost这个坑太经典了,我也是Docker网络搞了很久

多模型配置好了根据任务自动切换这个功能才是真正的刚需,省钱又高效

OpenClaw多模型切换这个功能很有用,贵的模型只用于关键环节

Docker容器网络这个坑踩了好几次,host模式方便但安全性差一点

根据任务自动选模型这个功能很实用,省下来的Token也不少

Docker容器间网络隔离这个坑最难发现,报错提示毫无参考价值

容器网络隔离这个坑踩了一下午才搞清楚,感谢提醒

容器网络隔离这个坑踩了一下午才搞清楚,感谢提醒

多模型切换这个需求我也有,不同任务用不同模型划算

多模型切换这个需求我也有,不同任务用不同模型划算

多模型切换这个需求我也有,不同任务用不同模型划算

models.yml配置完Agent级别用model字段切换,省去全局换key

容器内访问宿主Ollama用host.docker.internal最稳