跳转至

Provider 配置与环境变量管理

记录 OpenClaw 中模型 Provider 的配置方式、环境变量管理以及常见问题排查。

Provider 体系概览

OpenClaw 支持多种模型 Provider,每个 Provider 有独立的认证和配置方式:

Provider 认证方式 主要模型
github-copilot OAuth claude-opus-4.6, gpt-5.4, gemini-3.1-pro
my-azure API Key gpt-5.4, gpt-5.2
minimax-portal OAuth MiniMax-M2.5, MiniMax-M2.1
azure-foundry API Key 企业级部署模型

环境变量配置

Azure OpenAI 必需变量

export AZURE_OPENAI_API_KEY=your_key_here
export AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com
export AZURE_OPENAI_API_VERSION=2024-02-01
export AZURE_OPENAI_DEPLOYMENT=gpt-5-4

环境变量生效范围

问题:只在 ~/.bashrc 配置,exec/systemd 环境读不到

根因: - 非交互 shell 不会 source ~/.bashrc - systemd 服务有独立环境 - OpenClaw gateway 以 daemon 方式运行

解决方案:在多个层级配置 1. ~/.bashrc - 交互式 shell 2. ~/.profile~/.zprofile - 登录 shell 3. systemd service 文件 - daemon 进程 4. OpenClaw 配置文件 - 应用级配置

推荐配置方式

~/.openclaw/openclaw.json 中配置 Provider:

{
  "providers": {
    "my-azure": {
      "type": "azure-openai",
      "endpoint": "https://your-resource.openai.azure.com",
      "apiKey": "${AZURE_OPENAI_API_KEY}",
      "apiVersion": "2024-02-01"
    }
  }
}

Provider 切换

查看可用 Provider

/models                    # 列出所有 Provider
/models <provider>         # 列出某 Provider 的模型
/models minimax-portal all # 显示全部模型

切换模型

/model github-copilot/claude-opus-4.6
/model status

动态刷新

Provider 模型列表可能动态变化: - 会话刷新后 Provider 元数据重新加载 - 权限/认证状态变化影响可见模型 - 部分模型需要特定权限才可见

Codex 的 Azure 配置

问题背景

新版 Codex (v0.113.0+) 不再自动识别 AZURE_OPENAI_API_KEY,会错误连接 api.openai.com

解决方案

在 Codex 配置中显式声明 Azure Provider:

provider = "azure"
model = "gpt-5.4"
reasoning_effort = "high"

同时配置: - Azure endpoint / URL - env 映射 - model 名称

验证连通

# 测试 Codex Azure 连接
codex --provider azure "Hello"

里程碑:2026-03-13 23:28 Codex 成功连通 Azure OpenAI

常见问题

问题 1:模型不可用

现象

HTTP 400: invalid_request_error: The requested model is not supported.

根因: - Provider 列表可见不代表实际支持 - 会话状态与模型配置不一致 - 部分模型需要特定部署

解决: - 使用 /model status 确认当前状态 - 尝试 /reset 重置会话 - 检查 fallback 配置

问题 2:401 认证失败

现象:切换模型后 API 返回 401

根因: - Token 过期或无效 - Provider OAuth 需要重新授权 - 环境变量未正确加载

解决: - 检查 /model status 中的认证信息 - 重启 OpenClaw gateway - 确认环境变量在运行环境中可见

问题 3:Provider 混淆

现象: - 状态显示 minimax/MiniMax-M2.5 - 实际想用 minimax-portal/MiniMax-M2.5

根因: - 同时存在多个相似名称的 Provider - 模型名称在不同 Provider 中重复

解决: - 使用完整的 provider/model 格式 - 显式指定目标 Provider

多 Agent 模型配置

每个 Agent 可独立配置模型:

{
  "agents": {
    "list": [
      {
        "id": "prism-arch",
        "workspace": "~/.openclaw/workspace-prism-arch",
        "model": "github-copilot/gpt-5.4"
      },
      {
        "id": "prism-pm",
        "workspace": "~/.openclaw/workspace",
        "model": "github-copilot/claude-opus-4.6"
      }
    ]
  }
}

注意:model 字段使用字符串格式,对象格式会导致 fallback 到默认模型。

关键配置经验

  1. 显式优于隐式:不依赖自动推断,显式配置 Provider 和模型
  2. 环境变量分层:确保在所有运行环境中可见
  3. 验证后使用:切换模型后端到端验证
  4. 文档同步:配置变更同步更新到项目文档

参考配置

完整 openclaw.json 示例

{
  "gateway": {
    "port": 18791
  },
  "model": {
    "primary": "github-copilot/claude-opus-4.6",
    "fallbacks": [
      "github-copilot/gpt-5.4",
      "my-azure/gpt-5.2"
    ]
  },
  "providers": {
    "my-azure": {
      "type": "azure-openai",
      "endpoint": "https://your-resource.openai.azure.com",
      "apiVersion": "2024-02-01"
    }
  }
}

.env 模板

# Azure OpenAI
AZURE_OPENAI_API_KEY=your_key
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com
AZURE_OPENAI_API_VERSION=2024-02-01
AZURE_OPENAI_DEPLOYMENT=gpt-5-4

# 标准 OpenAI (可选)
OPENAI_API_KEY=your_key
OPENAI_MODEL=gpt-4o