通过 XAI Router 接入 OpenClaw

Posted February 1, 2026 by XAI 技术团队 ‐ 4 min read

OpenClaw

OpenClaw + XAI Router

如果你的目标是:让 OpenClaw 经由 XAI Router 时,保持最简洁、最稳定的 Responses 接入体验,推荐只保留一套配置:自定义 provider + openai-responses + https://api.xairouter.com/v1


一句话结论

  • 不要把 OpenClaw 内置 openai-codex OAuth 当成 XAI Router 入口;那条路本质上是直连 OpenAI / ChatGPT 登录流。
  • 要走 XAI Router,请使用自定义 provider,例如 xairouter
  • api 设为 openai-responsesbaseUrl 设为 https://api.xairouter.com/v1
  • 默认模型使用 xairouter/gpt-5.4
  • 如果你追求最稳的 HTTP Responses 路径,显式把 params.transport 设为 "sse";如果想要 WebSocket-first,再改成 "auto"

推荐配置

将以下内容保存到 ~/.openclaw/openclaw.json

{
  "agents": {
    "defaults": {
      "model": { "primary": "xairouter/gpt-5.4" },
      "models": {
        "xairouter/gpt-5.4": {
          "alias": "Codex",
          "params": { "transport": "sse" }
        }
      }
    }
  },
  "models": {
    "mode": "replace",
    "providers": {
      "xairouter": {
        "baseUrl": "https://api.xairouter.com/v1",
        "apiKey": "${XAI_API_KEY}",
        "api": "openai-responses",
        "models": [
          { "id": "gpt-5.4", "name": "GPT-5.4" }
        ]
      }
    }
  }
}

为什么这是推荐方案

  1. 这是 OpenClaw 官方文档支持的自定义 provider 结构:models.providers.* + api: "openai-responses"
  2. 当前推荐做法是不额外添加 headers.originator;让 OpenClaw 直接以标准 Responses payload 连接 XAI Router / codex-cloud,更简洁,也更不容易误触原生 Codex 分支。
  3. transport: "sse" 会把 OpenClaw 固定在 HTTP Responses 路径;auto 则是 WebSocket-first + SSE fallback。
  4. 相比 CLI backend,这条路保留的是 OpenClaw 自身的 agent / session / model 调用链,而不是把请求外包给外部命令。
  5. 当前 WebSocket 路径依然属于高保真 relay,不是字节级完全一致;所以默认推荐 sse 更稳妥。

验证

export XAI_API_KEY="sk-..."
openclaw models status
openclaw agent --message "用一句话介绍你自己"

看到默认模型为 xairouter/gpt-5.4,并且可以正常回复,就说明配置已经生效。


FAQ

1)我能直接用 openai-codex/gpt-5.4 吗?

可以,但那是 OpenClaw 直连 OpenAI OAuth 的路线,不会经过 XAI Router。 如果你的目标是经由 XAI Router 走本文这套推荐接法,就不要选这条路。

2)我能继续用 Codex CLI backend 吗?

可以,但那更适合你明确想复用外部 codex 可执行文件的时候。 如果你追求 OpenClaw 自身的原生模型路径与工具链,一般还是推荐本文这套 openai-responses provider。

3)如果我想给本地 Gateway 暴露 /v1/responses 呢?

可以。在 gateway.http.endpoints.responses.enabled = true 的前提下,对 http://127.0.0.1:18789/v1/responses 发请求即可。 平台级示例可参考:/blog/openclaw-macos//blog/openclaw-windows-xai-router/