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 모델 문서에는 직접 OpenAI API 사용을 위한 gpt-5.4gpt-5.4-pro가 나열되어 있습니다. 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 요청에서는 현재 거부됩니다. Spark는 OpenClaw에서 Codex 전용으로 취급됩니다.

옵션 B: OpenAI Code (Codex) 구독

적합한 경우: API 키 대신 ChatGPT/Codex 구독 액세스 사용. 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는 이를 ChatGPT/Codex OAuth 사용을 위해 openai-codex/gpt-5.4로 매핑합니다.

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는 WebSocket 전송 사용 시 첫 번째 턴 지연 시간을 줄이기 위해 openai/*에 대해 기본적으로 워밍업을 활성화합니다.

워밍업 비활성화

{
  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",
          },
        },
      },
    },
  },
}

지원되는 값은 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"

예시:

{
  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.combaseUrl과 함께 api: "openai-responses"를 사용하는 openai/*)의 경우, OpenClaw는 이제 OpenAI 서버 측 압축 페이로드 힌트를 자동으로 활성화합니다:

  • store: true를 강제합니다 (모델 호환성에서 supportsStore: false를 설정하지 않는 한)
  • context_management: [{ type: "compaction", compact_threshold: ... }]를 주입합니다

기본적으로 compact_threshold는 모델 contextWindow70%입니다 (사용 불가 시 80000).

서버 측 압축 명시적 활성화

호환 가능한 Responses 모델(예: Azure OpenAI Responses)에서 context_management 주입을 강제하려면:

{
  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,
          },
        },
      },
    },
  },
}

responsesServerCompactioncontext_management 주입만 제어합니다. 직접 OpenAI Responses 모델은 호환성에서 supportsStore: false를 설정하지 않는 한 여전히 store: true를 강제합니다.

참고

  • 모델 참조는 항상 provider/model을 사용합니다 (/concepts/models 참조).
  • 인증 세부 정보 및 재사용 규칙은 /concepts/oauth에 있습니다.