必须为Claude和Gemini分别注册独立Provider并启用路由开关,①Claude设type: anthropic、capabilities:["logic_review","long_context"];②Gemini设type: google、capabilities:["multimodal","fast_retrieval"];capability须互斥,ID唯一,启用router且设defaultModel,重启生效。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在OpenClaw中让Claude和Gemini两个模型并存且可被系统识别调用,必须在配置文件中为二者分别注册独立Provider,并确保能力标签不重叠、路由开关已启用。只改API Key或只加一个模型配置块,会导致另一个模型始终无法响应请求。
添加Claude与Gemini双Provider
打开OpenClaw根目录下的config.yaml文件,在models.providers节点下新增两个完整配置块:
① Claude配置块需指定type: anthropic,baseUrl: https://api.anthropic.com/v1,apiKey填入环境变量${ANTHROPIC_API_KEY},capabilities设为["logic_review", "long_context"];
② Gemini配置块需设type: google,baseUrl: https://generativelanguage.googleapis.com/v1beta,apiKey填${GOOGLE_API_KEY},capabilities设为["multimodal", "fast_retrieval"];
【capability标签必须互斥,否则Zoe调度器无法区分任务归属】
保存文件后执行openclaw restart——这一步不可跳过,热重载不生效。
启用路由器并设默认兜底模型
在config.yaml的models.router节点下,将enabled值设为true;
指定defaultModel为其中一个ID(如claude-3-sonnet-20240229),该模型将在能力匹配失败时接管请求;
确认每个Provider块内都有唯一id字段(例如anthropic-claude-sonnet和google-gemini-pro),ID重复会导致启动报错且静默失效。
验证双模型是否就绪
方法一:执行openclaw status --models,输出列表中应同时出现两个模型ID及其状态active;
方法二:发一条带明确能力关键词的测试请求,例如curl -X POST http://localhost:3000/v1/chat/completions -H "Content-Type: application/json" -d '{"messages":[{"role":"user","content":"对比三篇PDF中的法律条款异同"}]}',若返回来自Gemini的响应,则multimodal标签路由成功;
方法三:手动指定模型调用curl ... -d '{"model":"anthropic-claude-sonnet","messages":[...]}',能绕过调度直接命中Claude。


















