OpenAI

OpenAI

OpenAI 提供用于 GPT 模型的开发者 API。Codex 支持 ChatGPT 登录以进行订阅访问,或 API 密钥 登录以进行按使用量计费的访问。Codex 云需要 ChatGPT 登录。OpenAI 明确支持在 OpenClaw 等外部工具/工作流中使用订阅 OAuth。

选项 A:OpenAI API 密钥(OpenAI Platform)

最适合: 直接 API 访问和按使用量计费。 从 OpenAI 仪表板获取你的 API 密钥。

CLI 设置

openclaw onboard --auth-choice openai-api-key
# 或非交互式
openclaw onboard --openai-api-key "$OPENAI_API_KEY"

配置片段

{
  env: { OPENAI_API_KEY: "sk-..." },
  agents: { defaults: { model: { primary: "openai/gpt-5.2" } } },
}

选项 B:OpenAI Code (Codex) 订阅

最适合: 使用 ChatGPT/Codex 订阅访问而不是 API 密钥。 Codex 云需要 ChatGPT 登录,而 Codex CLI 支持 ChatGPT 或 API 密钥登录。

CLI 设置(Codex OAuth)

# 在向导中运行 Codex OAuth
openclaw onboard --auth-choice openai-codex

# 或直接运行 OAuth
openclaw models auth login --provider openai-codex

配置片段(Codex 订阅)

{
  agents: { defaults: { model: { primary: "openai-codex/gpt-5.3-codex" } } },
}

传输默认

OpenClaw 使用 pi-ai 进行模型流式传输。对于 openai/*openai-codex/*,默认传输是 "auto"(WebSocket 优先,然后 SSE 回退)。

你可以设置 agents.defaults.models.<provider/model>.params.transport

  • "sse":强制 SSE
  • "websocket":强制 WebSocket
  • "auto":尝试 WebSocket,然后回退到 SSE

对于 openai/*(Responses API),当使用 WebSocket 传输时,OpenClaw 还默认启用 WebSocket 预热(openaiWsWarmup: true)。

相关 OpenAI 文档:

{
  agents: {
    defaults: {
      model: { primary: "openai-codex/gpt-5.3-codex" },
      models: {
        "openai-codex/gpt-5.3-codex": {
          params: {
            transport: "auto",
          },
        },
      },
    },
  },
}

OpenAI WebSocket 预热

OpenAI 文档将预热描述为可选。OpenClaw 为 openai/* 默认启用它,以在使用 WebSocket 传输时减少首次延迟。

禁用预热

{
  agents: {
    defaults: {
      models: {
        "openai/gpt-5.2": {
          params: {
            openaiWsWarmup: false,
          },
        },
      },
    },
  },
}

显式启用预热

{
  agents: {
    defaults: {
      models: {
        "openai/gpt-5.2": {
          params: {
            openaiWsWarmup: true,
          },
        },
      },
    },
  },
}

OpenAI Responses 服务器端压缩

对于直接 OpenAI Responses 模型(openai/* 使用 api: "openai-responses" 并在 api.openai.com 上使用 baseUrl),OpenClaw 现在自动启用 OpenAI 服务器端压缩负载提示:

  • 强制 store: true(除非模型兼容性设置 supportsStore: false
  • 注入 context_management: [{ type: "compaction", compact_threshold: ... }]

默认情况下,compact_threshold 是模型 contextWindow70%(或不可用时为 80000)。

显式启用服务器端压缩

当你想在兼容的 Responses 模型上强制注入 context_management 时使用此选项(例如 Azure OpenAI Responses):

{
  agents: {
    defaults: {
      models: {
        "azure-openai-responses/gpt-5.2": {
          params: {
            responsesServerCompaction: true,
          },
        },
      },
    },
  },
}

使用自定义阈值启用

{
  agents: {
    defaults: {
      models: {
        "openai/gpt-5.2": {
          params: {
            responsesServerCompaction: true,
            responsesCompactThreshold: 120000,
          },
        },
      },
    },
  },
}

禁用服务器端压缩

{
  agents: {
    defaults: {
      models: {
        "openai/gpt-5.2": {
          params: {
            responsesServerCompaction: false,
          },
        },
      },
    },
  },
}

responsesServerCompaction 仅控制 context_management 注入。直接 OpenAI Responses 模型仍然强制 store: true,除非兼容性设置 supportsStore: false

注意事项