이러한 변경 사항을 적용하려면 Codex CLI 0.163.0 이상으로 업그레이드해야 합니다. CLI 업그레이드는 선택 사항입니다. 기존 설치는 업데이트하기 전까지 현재 동작을 유지합니다.
자동화 과정에서
@openai/codex@latest를 설치하는 경우, 다음 설치나 업데이트 시 이 변경 사항이 적용될 수 있습니다. npm으로 Codex CLI를 전역 설치했다면npm install -g @openai/codex@latest를 실행한 다음,codex --version을 실행해 업그레이드를 확인하세요.변경 사항 적용을 미루려면 버전을
@openai/codex@0.162.0으로 고정하세요.@latest로 한 번 설치했다고 해서 이후에 자동으로 업데이트되지는 않습니다. 이전 버전으로 고정된 워크플로는 기존 동작을 유지합니다.TypeScript 연동의 경우
@openai/codex-sdk와 함께 제공되는 런타임을 모두 업데이트하세요. Python 연동의 경우openai-codex와 해당 Codex 런타임을 모두 업데이트하세요. 전역 CLI만 업데이트하면 SDK의 런타임은 업데이트되지 않을 수 있습니다. 사용자 지정 실행 파일 경로를 설정했다면 해당 실행 파일도 업데이트하세요.
카탈로그를 정상적으로 사용할 수 있지만 수동으로 설정한 모델 ID가 카탈로그에 없는 경우, Daybreak가 켜져 있어도 CLI와 Codex Desktop에서는 해당 ID에 기존의 자동 처리 방식이 그대로 적용됩니다. 카탈로그에 없다는 이유만으로 요청이 실패하지는 않습니다.
모델 선택 메뉴에서 사이버 모델을 제공하는 기능은 별도로 순차 적용될 수 있습니다. 이 기능이 활성화되면, 이미 지원 버전을 사용 중인 사용자는 추가 다운로드 없이 새로 제공되는 모델을 볼 수 있습니다. 모델 선택 메뉴를 다시 열거나 Codex를 다시 시작해 목록을 새로고침하세요.
대화형 CLI에서 Daybreak 켜기
평소 사용하는 인증 방식으로 Codex를 시작하세요.
Daybreak를 켜려면
/daybreak를 입력하세요.Codex에
Daybreak가 켜졌습니다. 새 턴부터 적용됩니다.라는 메시지가 표시됩니다.이 설정은 현재 활성 스레드에 적용되며 새 세션의 기본값으로 저장됩니다.
Daybreak를 끄려면 같은 명령(
/daybreak)을 다시 실행하세요.
헤드리스 CLI에서 Daybreak 활성화하기
헤드리스 워크플로는 대화형 UI 없이 실행되며, 일반적으로 스크립트, 예약 작업 또는 CI에서 codex exec를 사용합니다. 여기에는 대화형 ‘Daybreak 활성화’(/daybreak) 프롬프트가 표시되지 않습니다. 대신 다음 방법을 사용할 수 있습니다.
거절을 줄이려는 각 명령에
-c daybreak=true를 추가해 특정 CLI 실행에 Daybreak를 적용하세요. 예를 들어 다음과 같이 입력할 수 있습니다.
codex exec -c daybreak=true "Review the changes in this repository."
기존 프롬프트와 다른 명령 옵션은 그대로 유지하세요. 스크립트, 예약 작업, CI 구성의 명령을 포함해 Daybreak를 사용할 모든 호출에 이 설정을 추가하세요.
Codex가 불러오는 구성 파일에
daybreak=true를 추가해 새 CLI 세션과 실행에서 Daybreak를 기본으로 사용하도록 설정하세요.기본 사용자 구성 파일은
~/.codex/config.toml입니다. 자동화 환경에서CODEX_HOME을 설정했다면 대신$CODEX_HOME/config.toml을 사용하세요. 이 설정은[features]등의 섹션 내부가 아닌 최상위 수준에 배치하세요.자동화가 실제로 실행되는 환경에서 설정을 변경하세요. 노트북의 구성을 변경해도 CI 러너나 원격 머신의 구성은 변경되지 않습니다.
이 설정은 동일한 구성을 사용하는 새 대화형 세션에도 적용됩니다. 재개하거나 분기한 세션은 저장된 Daybreak 사용 설정을 유지하며, 새로 지정한 기본값으로 대체되지 않습니다.
명령줄에서 지정한 설정은 해당 호출에 한해 저장된 구성보다 우선 적용됩니다. 따라서 구성에
daybreak = true를 유지하면서 개별 실행에는-c daybreak=false를 사용할 수 있습니다.
프록시를 통한 추론 제공자 사용 시 Daybreak 활성화하기
기존 프록시를 통해 추론 요청을 라우팅하면서도 Codex CLI에서 Daybreak를 사용할 수 있습니다. Codex는 별도의 모델 카탈로그 조회를 통해 프로젝트에서 Daybreak를 지원하는 모델을 확인합니다.
시작하기 전에 Codex CLI에서 프록시 제공자가 정상적으로 작동하는지 확인하세요. 또한 Daybreak와 사용하려는 모델에 대한 액세스 권한이 있는 프로젝트의 OpenAI API 키와 Codex CLI v0.167.0이 필요합니다.Daybreak 프로젝트 액세스에 관한 OpenAI 문서
~/.codex/config.toml을 열고 프록시에 해당하는 [model_providers.<id>] 섹션을 찾아 프록시 제공자 설정을 업데이트하세요. 해당 섹션에 아래 예시의 마지막 두 줄을 추가하세요. 기존 제공자 ID, 프록시 URL, 인증 설정은 그대로 유지하세요.
[model_providers.proxy]name = "Proxied with Cyber"base_url = "https://<your-proxy>/v1"model_catalog_url = "<https://chatgpt.com/backend-api/codex/models>"capabilities.cyber_access_programs = true
구성에 이미 [model_providers.<id>.capabilities] 섹션이 있다면 해당 섹션에 cyber_access_programs = true를 추가하고, model_catalog_url은 상위 제공자 섹션에 유지하세요.Codex 구성 레퍼런스CLI에서 사용하는 인증 정보에 맞는 옵션을 선택해 카탈로그 조회 인증을 설정하세요.
Codex에서 OpenAI API 키를 사용하는 경우, 1단계의 OpenAI 카탈로그 URL을 유지하세요. 카탈로그에 직접 인증할 수 있도록 Daybreak가 활성화된 프로젝트의 키로 Codex를 실행하세요.
Codex에서 프록시의 인증 정보를 사용하는 경우, model_catalog_url을 프록시에 있는 카탈로그 라우트의 전체 URL로 설정하세요. 해당 라우트가 다음과 같이 작동하도록 구성하세요.
기존 프록시 인증 정보로 CLI 요청을 인증합니다.
Daybreak가 활성화된 프로젝트의 OpenAI API 키를 사용해 요청을 https://chatgpt.com/backend-api/codex/models로 전달합니다.
카탈로그 응답을 Codex에 반환합니다.
프록시 제공자를 사용하는 새 Codex CLI 세션을 시작해 Daybreak를 켜세요. Daybreak를 사용할 수 있는 모델을 선택한 뒤 /daybreak를 입력해 활성화하세요.
Daybreak를 사용할 수 없다면 먼저 카탈로그 조회를 확인하세요. 카탈로그 요청이 실패해도 추론은 정상적으로 실행될 수 있습니다. 사용하려는 프로젝트의 키로 요청이 OpenAI에 전달되는지, 해당 프로젝트에 Daybreak와 선택한 모델 모두에 대한 액세스 권한이 있는지 확인하세요.
TypeScript SDK로 Daybreak 켜기
클라이언트 설정을 통해 Daybreak 설정을 전달하세요.
import { Codex } from "@openai/codex-sdk";
const codex = new Codex({
config: { daybreak: true },
});
const thread = codex.startThread();
const result = await thread.run("Review the changes in this repository.");
console.log(result.finalResponse);
Daybreak를 끄고 일반적인 요청 거부 동작을 사용하려면 daybreak: false를 사용하세요. 기존 인증 설정은 유지하세요.
앱 서버 또는 Python SDK로 Daybreak 켜기
1. model/list에서 선택한 모델의 availableAccessPrograms.cyber 값을 읽은 다음, turn/start 매개변수에 cyberAccessProgram을 설정하세요.
a. 일반 모델과 Daybreak Blue 액세스 권한이 있는 계정을 사용하는 경우:
{ "cyberAccessProgram": "daybreakBlue" }
b. 사이버 모델과 Daybreak Red 액세스 권한이 있는 계정을 사용하는 경우:
{ "cyberAccessProgram": "daybreakRed" }
c. 일반적인 요청 거부 동작을 사용하는 경우:
{ "cyberAccessProgram": "standard" }
2. 선택한 설정을 적용할 모든 턴에 해당 값을 포함하세요. 매개변수를 생략하면 Daybreak가 꺼진다고 가정해서는 안 됩니다. 앱 서버에 직접 연결하는 클라이언트에서 이 매개변수를 사용하려면 초기화 시 experimentalApi 기능을 활성화해야 합니다.
3. Python SDK의 저수준 CodexClient에서도 같은 매개변수를 전달할 수 있습니다.
from openai_codex.client import CodexClient
with CodexClient() as client:
client.initialize()
thread = client.thread_start()
turn = client.turn_start(
thread.thread.id,
"Review the changes in this repository.",
params={"cyberAccessProgram": "daybreakBlue"},
)
client.wait_for_turn_completed(turn.turn.id)
4. 이 예시는 선택한 모델에서 Daybreak Blue를 사용할 수 있다고 가정합니다. Python 클라이언트는 기본적으로 실험적 API 기능을 활성화합니다. 저장된 스레드 설정만으로는 앱 서버의 턴에 사용할 프로그램이 선택되지 않습니다.
이번 변경 이전에 로컬 모델 카탈로그를 추가한 경우
이전에 API 키로 로그인했을 때 예상한 모델이 표시되지 않아 config.toml의 model_catalog_json을 사용해 로컬 카탈로그를 추가했을 수 있습니다. Codex는 자동 카탈로그 대신 해당 로컬 파일을 사용하므로 모델 목록이 최신 상태가 아닐 수 있습니다. 사용 중인 환경에서 자동 카탈로그가 지원되면 다음 단계에 따라 다시 전환하세요.
config.toml을 여세요. Codex CLI에서는~/.codex/config.toml을 여세요.CODEX_HOME을 설정했다면$CODEX_HOME/config.toml을 여세요. Codex Desktop에서는 설정 > 구성으로 이동한 다음 config.toml 열기를 선택하세요.로컬 카탈로그를 일시적으로 비활성화하세요.
model_catalog_json줄 맨 앞에 #을 추가하고 파일을 저장한 다음, 동일한 계정 또는 API 키로 Codex를 다시 시작하세요. 조직에서 요구하는 카탈로그 URL은 그대로 유지하세요.액세스 권한을 확인하세요. CLI에서는
codex를 실행한 다음 세션 내에서/daybreak를 입력하세요. Desktop에서는 고급 모델 선택 메뉴를 열고 Daybreak를 켜세요. Daybreak Red 액세스 권한이 있다면 예상한 사이버 모델이 표시되고 해당 모델로 요청을 보낼 수 있는지 확인하세요.정상 작동하는 설정을 유지하세요. 확인에 성공했다면 비활성화한 줄을 삭제하고 파일을 저장하세요. 실패했다면
#을 제거하고 저장한 다음 Codex를 다시 시작해 이전 설정으로 복원하세요.
CLI에서 요청 거부 문제 해결하기
자동화에 사용하는 것과 동일한 인증 정보, 모델, 설정으로 대표적인 작업을 실행하세요.
Daybreak를 사용할 수 없다면 다음 사항을 확인하세요.
계정 또는 API 프로젝트에 Daybreak 액세스 권한이 있는지 확인하세요.
선택한 모델이 Daybreak를 지원하는지 확인하세요.
대화형 CLI에서는 Daybreak가 켜져 있는지 확인하세요. Daybreak를 사용할 수 있지만 꺼져 있는 경우 대화형 CLI에 다음과 같은 거부 메시지가 표시될 수 있습니다.
Daybreak가 현재 꺼져 있습니다. 승인된 보안 작업을 수행 중이라면 Daybreak를 켜고 다시 요청해 주세요.다음 요청에 Daybreak를 켤까요?라는 안내가 표시되고Daybreak 켜기또는나중에를 선택할 수 있습니다.Daybreak 켜기를 선택해 다음 요청에 Daybreak를 적용한 후 다시 요청하세요. 거부된 요청은 자동으로 재시도되지 않으므로 직접 다시 요청해야 합니다. Daybreak가 켜져 있어도 일부 요청은 거부될 수 있습니다.
Daybreak를 꺼진 상태로 두려면 나중에를 선택하세요.
자동화의 경우
daybreak=true가 실제 Codex 프로세스에 전달되고 다른 명령줄 설정으로 덮어쓰이지 않는지 확인하세요.
Codex Security CLI에서 Daybreak 사용하기
Codex Security CLI는 @openai/codex-security를 사용해 보안 검사를 실행합니다. 액세스 프로그램 옵션은 위의 일반 Codex CLI 예시와 별개입니다.
API 키로 인증하려면 Daybreak가 활성화된 API 프로젝트의 키를 사용하고, 해당 프로젝트에 대해 승인된 프로그램을 명시적으로 선택하세요. Daybreak Blue를 사용하려면 다음과 같이 실행하세요.npx @openai/codex-security scan . --auth api-key --cyber-access-program daybreak_blue
프로젝트에 Daybreak Red 사용이 승인된 경우에만 daybreak_red를 사용하세요. 표준 안전장치를 적용하려면 standard를 사용하세요. 프로그램을 선택하는 것만으로는 해당 프로그램이나 추가 모델에 대한 액세스 권한이 부여되지 않습니다.
인증 및 검사 옵션은 Codex Security CLI 레퍼런스를 참조하세요.
Codex Security SDK에서 Daybreak 사용하기
Codex Security TypeScript SDK(@openai/codex-security)는 애플리케이션이나 개발자 도구에서 보안 검사를 실행합니다. 위에서 설명한 일반 Codex SDK와는 별개입니다.
승인된 계정이나 API 프로젝트의 인증 정보를 사용하세요. 일부 사이버 보안 요청과 보호된 검사 결과에 접근하려면 Trusted Access for Cyber가 필요합니다. SDK를 설치하거나 모델을 선택하는 것만으로는 Daybreak 액세스 권한이 부여되지 않습니다.
지원되는 인증 방식, 구성 및 검사 예시는 Codex Security SDK 가이드를 참고하세요.
