OpenClaw 配置指南:多模型场景实战

在使用 OpenClaw 打造个人专属的 AI 代理环境时,灵活配置多个大模型、合理设置网络代理以及接入不同的前端渠道是我们提升工作效率的关键。本文将基于我个人的 openclaw.json 实战配置,为大家梳理一份多模型场景下的配置指南。

1. 基础环境与网络代理

为了确保海外模型(如 Claude、Gemini)的稳定访问,首先需要在 OpenClaw 的 env.vars 中配置好全局代理:

"env": {
  "vars": {
    "http_proxy": "http://127.0.0.1:7890",
    "https_proxy": "http://127.0.0.1:7890",
    "all_proxy": "socks5://127.0.0.1:7890"
  }
}

2. 多模型配置核心:灵活接入不同 Provider

OpenClaw 强大的地方在于它能够通过配置 models.providers 轻松接入各家主流 API。

2.1 Google Gemini (官方接入)

使用 OpenClaw 默认的 OAuth 认证方式即可接入 Gemini 系列模型。无需额外填写繁琐的 API Key:

"google-gemini-cli": {
  "baseUrl": "https://generativelanguage.googleapis.com",
  "api": "google-generative-ai",
  "models": [
    { "id": "gemini-3-pro-preview", "name": "Gemini 3 Pro Preview" },
    { "id": "gemini-2.0-flash", "name": "Gemini 2.0 Flash" },
    { "id": "gemini-3.1-flash", "name": "Gemini 3.1 Flash" }
  ]
}

2.2 Anthropic (中转/第三方代理接入)

在实际使用中,我们经常会通过第三方中转服务(Base URL)来访问 Claude。你可以直接在配置中指定 baseUrlapiKey 以及 API 标准:

"anthropic": {
  "baseUrl": "https://gaccode.com/claudecode",
  "apiKey": "sk-ant-...", // 替换为你的真实 Key
  "api": "anthropic-messages",
  "models": [
    { "id": "claude-sonnet-4-5", "name": "Claude Sonnet 4.5" },
    { "id": "claude-3-5-sonnet-20241022", "name": "Claude 3.5 Sonnet" }
  ]
}

2.3 兼容 OpenAI 格式的国产模型 (Edgefn 示例)

如果你使用类似 Kimi 或 MiniMax 这样的国产模型,只需将其 API 格式设置为 openai-completions,并配置好相应的接口地址:

"edgefn": {
  "baseUrl": "https://api.edgefn.net/v1",
  "apiKey": "sk-wap...", // 替换为你的真实 Key
  "api": "openai-completions",
  "models": [
    { "id": "Kimi-K2-Instruct", "name": "Kimi K2 Instruct" },
    { "id": "MiniMax-M2.5", "name": "MiniMax-M2.5" }
  ]
}

3. 默认代理 (Agent) 与缓存策略配置

在引入了众多模型之后,需要指定一个日常主力模型。在我的配置中,我将国产的 Kimi K2 Instruct 设置为全局 Primary 模型,兼顾响应速度和稳定性:

"agents": {
  "defaults": {
    "model": {
      "primary": "edgefn/Kimi-K2-Instruct"
    },
    "models": {
      "anthropic/claude-sonnet-4-5": {
        "params": {
          "cacheRetention": "short" // 对昂贵模型设置较短的缓存保留策略
        }
      }
    }
  }
}

Tip: 针对 Claude Sonnet 4.5 这类调用成本较高的模型,建议像上面一样单独为其设定 cacheRetention: "short",以优化上下文缓存资源的消耗。

4. 渠道接入:Telegram 与 QQBot

OpenClaw 支持连接丰富的外部 IM 工具。你可以把它配置为一个个人助理 Bot:

  • Telegram Bot: 通过内置支持,配置 botToken 及个人账号 ID(allowFrom)实现鉴权交互。
  • QQ Bot: 借助第三方插件机制,在 plugins.installs 中安装 @sliverp/qqbot 并在 channels.qqbot 中配置即可将代理接入 QQ 生态。

5. 网关、新设备接入与安全授权

当你需要在手机、iPad 或另一台电脑(即新设备)上远程接入并使用你的 OpenClaw 时,必须配置好网关的访问权限和安全认证。

5.1 网络监听与设备授权 (Token / Tailscale)

在当前的配置中,网关默认设置了 bind: "loopback",意味着仅限本机访问。若想授权新设备接入,有两种主要途径,且均可通过 CLI 快速配置:

  1. 局域网/公网直连 (配合 Token 认证): 将 bind 修改为局域网 IP(或留空监听所有网卡),新设备在连接时必须提供 Token,以防未授权设备连入。

    配置命令:

    # 允许所有网络接口访问网关 (留空即监听 0.0.0.0)
    openclaw config set gateway.bind ""
    
    # 设置你的专属访问 Token(请替换为你自己的强密码)
    openclaw config set gateway.auth.token "your-secure-token-here"
    
  2. Tailscale 虚拟组网认证 (强烈推荐): 开启 Tailscale 模式后,新设备的“授权”完全交给 Tailscale 的设备管理体系,只有登录了同一个 Tailscale 账号的设备才能互相访问。这种方式极其安全,且无需暴露任何公网或局域网端口。

    配置命令:

    # 开启 Tailscale 认证模式
    openclaw config set gateway.tailscale.mode "on"
    

(注:以上命令执行后,相关改动会自动写入 openclaw.json,你可能需要重启 OpenClaw 使网络配置生效。)

"gateway": {
  "port": 18789,
  "bind": "loopback", // 使用 CLI 修改后,这里的值会自动更新
  "auth": {
    "mode": "token",
    "token": "你的专属Token" // 直连模式下,新设备接入必需的“大门钥匙”
  },
  "tailscale": {
    "mode": "off", // 使用 CLI 开启后,这里会变成 "on"
    "resetOnExit": false
  }
}

5.2 宿主机节点敏感命令隔离

即便新设备成功通过 Token 授权连接进来,作为安全防线的最后一环,依然建议通过 nodes.denyCommands 黑名单限制这些远程连入的设备在宿主机上执行高危隐私命令:

"gateway": {
  "nodes": {
    "denyCommands": [
      "camera.snap",       // 禁止新设备远程调用宿主机拍照
      "camera.clip",       // 禁止录像
      "screen.record",     // 禁止录屏
      "calendar.add",      // 禁止修改日历
      "contacts.add",      // 禁止修改联系人
      "reminders.add"      // 禁止修改提醒事项
    ]
  }
}

6. 日常使用:如何在多模型间灵活切换

配置好多模型后,在日常使用中,我们可以通过以下几种方式灵活切换当前对话或任务所使用的模型:

6.1 CLI 命令行切换主模型

如果你想更改终端日常使用的默认模型(即 Primary 模型),除了手动修改 openclaw.json 中的 agents.defaults.model.primary 字段外,还可以直接通过 CLI 配置命令来实现永久切换。

# 查看当前系统中已配置的所有可用模型列表
openclaw models

# 将主模型永久切换为 Claude Sonnet 4.5
openclaw config set agents.defaults.model.primary "anthropic/claude-sonnet-4-5"

6.2 交互会话 (Chat) 中的切换

如果你在终端中启动了持续对话的交互模式(即 openclaw 直接进入的 REPL 模式),你可以在对话中直接告诉 AI 你的意图,例如:“接下来的问题请使用 Claude Sonnet 4.5 回答我”,或者使用内置的系统指令(具体指令视不同版本的插件而定)来改变上下文的执行环境。

6.3 网页控制台与第三方 IM (Telegram/QQ)

  • Web UI 控制台 (Control UI):如果你通过浏览器访问了本地或远程的网关控制台,聊天输入框附近通常会有一个下拉菜单。你可以直观地从列表中(这些列表就是根据你配置的 models.providers 生成的)点选你要切换的模型。
  • IM 机器人 (Bot):在 Telegram 或接入 QQBot 的群聊中,你通常可以通过发送类似 /model/settings 的指令,唤出机器人的模型切换面板或内联键盘,实现一键切换当前对话所绑定的后端模型。

总结

一套成熟的 OpenClaw 多模型配置主要分为四个层级:网络底座 -> 模型接入 (Providers) -> 调度与缓存 (Agents) -> 交互渠道 (Channels)。 通过这套配置,你可以完美融合 Gemini 的前沿能力、Claude 的强悍代码能力以及 Kimi 的日常指令响应,打造出最符合个人工作流的 AI 工作站。