2026-03-16 07:03:19 +00:00

309 lines
7.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
read_when:
- 你想在 OpenClaw 中使用 OpenAI 模型
- 你想使用 Codex 订阅身份验证而不是 API 密钥
summary: 在 OpenClaw 中通过 API 密钥或 Codex 订阅使用 OpenAI
title: OpenAI
x-i18n:
generated_at: "2026-03-16T06:26:45Z"
model: gpt-5.4
provider: openai
source_hash: a348d8fca7b809f84c6b90bf6a799e0a070a6e7b98a78b2cd2d747bb3d2b2212
source_path: providers/openai.md
workflow: 15
---
# OpenAI
OpenAI 为 GPT 模型提供开发者 API。Codex 支持**ChatGPT 登录**以进行订阅
访问,也支持**API 密钥**登录以进行按使用量计费的访问。Codex cloud 需要 ChatGPT 登录。
OpenAI 明确支持在 OpenClaw 这样的外部工具/工作流中使用订阅 OAuth。
## 选项 AOpenAI API 密钥OpenAI Platform
**最适合:** 直接 API 访问和按使用量计费。
从 OpenAI 控制台获取你的 API 密钥。
### CLI 设置
```bash
openclaw onboard --auth-choice openai-api-key
# or non-interactive
openclaw onboard --openai-api-key "$OPENAI_API_KEY"
```
### 配置片段
```json5
{
env: { OPENAI_API_KEY: "sk-..." },
agents: { defaults: { model: { primary: "openai/gpt-5.4" } } },
}
```
OpenAI 当前的 API 模型文档将 `gpt-5.4``gpt-5.4-pro` 列为直接
OpenAI API 用法的模型。OpenClaw 会通过 `openai/*` Responses 路径转发这两者。
OpenClaw 会有意隐藏过时的 `openai/gpt-5.3-codex-spark` 条目,
因为直接 OpenAI API 调用会在实际流量中拒绝它。
OpenClaw **不会**在直接 OpenAI
API 路径上暴露 `openai/gpt-5.3-codex-spark``pi-ai` 仍然为该模型提供内置条目,但当前实际 OpenAI API
请求会拒绝它。在 OpenClaw 中Spark 被视为仅限 Codex。
## 选项 BOpenAI CodeCodex订阅
**最适合:** 使用 ChatGPT/Codex 订阅访问,而不是 API 密钥。
Codex cloud 需要 ChatGPT 登录,而 Codex CLI 支持 ChatGPT 或 API 密钥登录。
### CLI 设置Codex OAuth
```bash
# Run Codex OAuth in the wizard
openclaw onboard --auth-choice openai-codex
# Or run OAuth directly
openclaw models auth login --provider openai-codex
```
### 配置片段Codex 订阅)
```json5
{
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 SparkOpenClaw 也支持:
- `openai-codex/gpt-5.3-codex-spark`
OpenClaw 将 Codex Spark 视为仅限 Codex。它不会暴露直接的
`openai/gpt-5.3-codex-spark` API 密钥路径。
`pi-ai`
发现 `openai-codex/gpt-5.3-codex-spark`OpenClaw 也会保留它。请将其视为依赖 entitlement 且处于实验阶段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当使用 WebSocket 传输时,
OpenClaw 还会默认启用 WebSocket 预热
`openaiWsWarmup: true`)。
相关 OpenAI 文档:
- [Realtime API with WebSocket](https://platform.openai.com/docs/guides/realtime-websocket)
- [Streaming API responses (SSE)](https://platform.openai.com/docs/guides/streaming-responses)
```json5
{
agents: {
defaults: {
model: { primary: "openai-codex/gpt-5.4" },
models: {
"openai-codex/gpt-5.4": {
params: {
transport: "auto",
},
},
},
},
},
}
```
### OpenAI WebSocket 预热
OpenAI 文档将预热描述为可选。OpenClaw 对
`openai/*` 默认启用它,以在使用 WebSocket 传输时减少首次响应延迟。
### 禁用预热
```json5
{
agents: {
defaults: {
models: {
"openai/gpt-5.4": {
params: {
openaiWsWarmup: false,
},
},
},
},
},
}
```
### 显式启用预热
```json5
{
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 请求中透传该字段。
```json5
{
agents: {
defaults: {
models: {
"openai/gpt-5.4": {
params: {
serviceTier: "priority",
},
},
},
},
},
}
```
支持的值为 `auto``default``flex``priority`
### OpenAI 快速模式
OpenClaw 为 `openai/*`
`openai-codex/*` 会话公开了共享快速模式开关:
- 聊天/UI`/fast status|on|off`
- 配置:`agents.defaults.models["<provider>/<model>"].params.fastMode`
启用快速模式后OpenClaw 会应用低延迟 OpenAI 配置:
- 当负载未明确指定 reasoning 时,设置 `reasoning.effort = "low"`
- 当负载未明确指定 verbosity 时,设置 `text.verbosity = "low"`
- 对直接发往 `api.openai.com``openai/*` Responses 调用设置 `service_tier = "priority"`
示例:
```json5
{
agents: {
defaults: {
models: {
"openai/gpt-5.4": {
params: {
fastMode: true,
},
},
"openai-codex/gpt-5.4": {
params: {
fastMode: true,
},
},
},
},
},
}
```
会话覆盖优先于配置。在会话 UI 中清除会话覆盖后,
该会话会恢复为配置的默认值。
### OpenAI Responses 服务端压缩
对于直接 OpenAI Responses 模型(使用 `api: "openai-responses"``openai/*`
`baseUrl` 指向 `api.openai.com`OpenClaw 现在会自动启用 OpenAI 服务端
压缩负载提示:
- 强制设置 `store: true`(除非模型兼容性设置 `supportsStore: false`
- 注入 `context_management: [{ type: "compaction", compact_threshold: ... }]`
默认情况下,`compact_threshold` 为模型 `contextWindow``70%`(或在不可用时为 `80000`)。
### 显式启用服务端压缩
当你想在兼容的
Responses 模型上强制注入 `context_management` 时使用此设置(例如 Azure OpenAI Responses
```json5
{
agents: {
defaults: {
models: {
"azure-openai-responses/gpt-5.4": {
params: {
responsesServerCompaction: true,
},
},
},
},
},
}
```
### 使用自定义阈值启用
```json5
{
agents: {
defaults: {
models: {
"openai/gpt-5.4": {
params: {
responsesServerCompaction: true,
responsesCompactThreshold: 120000,
},
},
},
},
},
}
```
### 禁用服务端压缩
```json5
{
agents: {
defaults: {
models: {
"openai/gpt-5.4": {
params: {
responsesServerCompaction: false,
},
},
},
},
},
}
```
`responsesServerCompaction` 仅控制 `context_management` 注入。
直接 OpenAI Responses 模型仍会强制设置 `store: true`,除非兼容性设置
`supportsStore: false`
## 说明
- 模型引用始终使用 `provider/model`(参见 [/concepts/models](/concepts/models))。
- 身份验证详情和复用规则见 [/concepts/oauth](/concepts/oauth)。