OpenAI

OpenAI 提供 GPT 模型的开发者 API。Codex 支持通过 ChatGPT 登录使用订阅额度,或通过 API 密钥按量计费。Codex 云端功能需要 ChatGPT 登录。OpenAI 明确支持在 OpenClaw 这类外部工具/工作流中使用订阅 OAuth。

方式 A:OpenAI API 密钥(OpenAI 平台)

适合: 直接调用 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.4" } } },
}

OpenAI 当前的 API 模型文档列出了 gpt-5.4gpt-5.4-pro 用于直接 API 调用。OpenClaw 通过 openai/* Responses 路径转发两者。OpenClaw 有意隐藏了过时的 openai/gpt-5.3-codex-spark 行,因为直接 API 调用在实际流量中会被拒绝。

OpenClaw 不会在直接 OpenAI API 路径上暴露 openai/gpt-5.3-codex-sparkpi-ai 仍然保留了该模型的内置行,但实际 OpenAI API 请求目前会拒绝它。Spark 在 OpenClaw 中被视为仅限 Codex 使用。

方式 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.4" } } },
}

OpenAI 当前的 Codex 文档列出 gpt-5.4 为当前 Codex 模型。OpenClaw 将其映射为 openai-codex/gpt-5.4 用于 ChatGPT/Codex OAuth。

如果你的 Codex 账户有 Codex Spark 权限,OpenClaw 还支持:

  • openai-codex/gpt-5.3-codex-spark

OpenClaw 将 Codex Spark 视为仅限 Codex。它不暴露直接的 openai/gpt-5.3-codex-spark API 密钥路径。

OpenClaw 也会在 pi-ai 发现 openai-codex/gpt-5.3-codex-spark 时保留它。请视其为取决于账户权限的实验性功能:Codex Spark 和 GPT-5.4 /fast 是不同的,可用性取决于登录的 Codex / ChatGPT 账户。

传输默认值

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),OpenClaw 在使用 WebSocket 传输时还默认启用 WebSocket 预热(openaiWsWarmup: true)。

相关 OpenAI 文档:

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

OpenAI WebSocket 预热

OpenAI 文档将预热描述为可选。OpenClaw 默认为 openai/* 启用预热,在使用 WebSocket 传输时降低首轮延迟。

关闭预热

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

显式启用预热

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

OpenAI 优先处理

OpenAI 的 API 通过 service_tier=priority 提供优先处理。在 OpenClaw 中,设置 agents.defaults.models["openai/<model>"].params.serviceTier 即可在直接 openai/* Responses 请求中传递该字段。

{
  agents: {
    defaults: {
      models: {
        "openai/gpt-5.4": {
          params: {
            serviceTier: "priority",
          },
        },
      },
    },
  },
}

支持的值为 autodefaultflexpriority

OpenAI 快速模式

OpenClaw 为 openai/*openai-codex/* 会话提供了统一的快速模式开关:

  • 聊天/UI:/fast status|on|off
  • 配置:agents.defaults.models["<provider>/<model>"].params.fastMode

启用快速模式后,OpenClaw 会应用低延迟 OpenAI 配置:

  • 当请求未指定推理参数时,设置 reasoning.effort = "low"
  • 当请求未指定详细度时,设置 text.verbosity = "low"
  • 对于直接发往 api.openai.comopenai/* Responses 调用,设置 service_tier = "priority"

示例:

{
  agents: {
    defaults: {
      models: {
        "openai/gpt-5.4": {
          params: {
            fastMode: true,
          },
        },
        "openai-codex/gpt-5.4": {
          params: {
            fastMode: true,
          },
        },
      },
    },
  },
}

会话中的覆盖优先于配置。在 Sessions UI 中清除会话覆盖后,会恢复到配置中的默认值。

OpenAI Responses 服务端压缩

对于直接 OpenAI Responses 模型(openai/*,使用 api: "openai-responses"baseUrlapi.openai.com 上),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.4": {
          params: {
            responsesServerCompaction: true,
          },
        },
      },
    },
  },
}

自定义阈值启用

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

关闭服务端压缩

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

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

备注