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

OpenAI 目前的 API 模型文件列出 gpt-5.4gpt-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-sparkpi-ai 仍保留該模型的內建列,但目前的 OpenAI API 請求會拒絕它。在 OpenClaw 中,Spark 被視為僅限 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 設定檔:

  • 當 payload 未指定 reasoning 時,設為 reasoning.effort = "low"
  • 當 payload 未指定 verbosity 時,設為 text.verbosity = "low"
  • api.openai.com 的直接 openai/* Responses 呼叫設定 service_tier = "priority"

範例:

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

Session 覆寫優先於設定檔。在 Sessions UI 中清除 session 覆寫後,會回到設定檔中的預設值。

OpenAI Responses 伺服器端壓縮

對於直接 OpenAI Responses 模型(openai/*,使用 api: "openai-responses"baseUrlapi.openai.com),OpenClaw 現已自動啟用 OpenAI 伺服器端壓縮的 payload 提示:

  • 強制 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

備註