개요
~/.codex/ 아래의 동일한 설정을 공유합니다(config.toml 및 auth.json).
APIYI와의 연동은 한 문장으로 요약됩니다:
OpenAI의 엔드포인트를 APIYI로 바꾸십시오APIYI는 **OpenAI 호환 인터페이스(투명 프록시)**입니다 — 한 번만 설정하면 데스크톱 앱, 확장, 터미널이 모두 작동합니다.
🔁 하나의 설정, 세 가지 인터페이스
~/.codex/를 공유합니다 — 한 번만 설정하면 됩니다⚡ 최신 모델
gpt-5.6-sol / gpt-5.5 / grok-4.5 등을 지원하며, 다른 모델도 지원합니다💰 사용량 기반 과금
🪟 크로스 플랫폼
~/.codex/config.toml에서 “모델 공급자”를 APIYI로 설정하고 ~/.codex/auth.json에 키를 넣는 것입니다. 데스크톱 앱과 IDE 확장은 모두 이 파일들에 의존합니다 — 그래서 이 가이드는 환경 변수보다 설정 파일을 먼저 다룹니다.1. 준비 사항: APIYI 키 받기
APIYI에 회원가입 / 로그인하기
API 키 만들기
키 복사하기
sk-***)를 복사하고 안전하게 보관하십시오 — 설정 파일에 붙여넣게 됩니다.사용할 인터페이스 선택
세 가지 인터페이스는 모두 완전히 동일한 설정을 사용합니다 — 작업 흐름에 맞는 것을 선택하십시오:🖥️ 데스크톱 앱
🧩 IDE 확장
⌨️ CLI
2. 핵심 설정(권장: 설정 파일, 환경 변수 아님)
아래에 세 가지 방법이 있습니다. 하나만 선택하십시오. 권장 순서: 설정 파일 직접 작성(가장 안정적) → 시각적 방식 → 환경 변수입니다.옵션 1 · 직접 작성 auth.json + config.toml (권장, 가장 안정적)
Codex의 설정 디렉터리를 엽니다(없으면 생성합니다). 그리고 그 안에 두 파일을 추가/편집합니다:
- 🪟 Windows
- Mac / Linux
%USERPROFILE%\.codex\(즉, C:\Users\YourName\.codex\)입니다.파일 탐색기에서 엽니다.auth.json — 키를 여기에 넣으십시오:
config.toml — 모델 제공자를 APIYI로 지정하십시오:
새 파일인 경우 아래 내용을 붙여 넣으십시오. 기존 파일인 경우 “전역 키”를 맨 위에 추가하고, [model_providers.apiyi] 블록을 맨 아래에 덧붙이십시오(이유는 아래 팁 참조).
기존 config.toml을 안전하게 편집하는 방법(백업 + 병합 모범 사례)
기존 config.toml을 안전하게 편집하는 방법(백업 + 병합 모범 사례)
model / model_provider / preferred_auth_method 줄은 맨 위에 두고, [model_providers.apiyi] 블록은 맨 아래에 덧붙이십시오. 나머지는 그대로 두십시오.3단계: 메인 설정을 건드리지 않고 테스트만 해보시겠습니까? 프로필을 사용하십시오. 위 내용을 담은 ~/.codex/apiyi.config.toml을 만들고 codex --profile apiyi를 실행하면 됩니다 — 완전히 분리됩니다(고급 참조).base_url: 항상https://api.apiyi.com/v1— 반드시/v1를 포함해야 하며, 그렇지 않으면 404가 발생합니다.experimental_bearer_token: 키를 제공자 블록에 직접 넣고 Bearer token으로 전송합니다. 이 형식만 데스크톱 앱, IDE 확장, CLI 전반에서 안정적으로 동작합니다 — 환경 변수를 사용하지 않습니다.- 제공자의 인증 필드는 상호 배타적입니다. 정확히 하나만 선택하십시오:
experimental_bearer_token(설정 파일에 키를 넣는 방식, 권장) /env_key(실행 프로세스의 환경 변수에서 키를 읽습니다.auth.json로는 대체되지 않으며, 데스크톱 앱은 터미널에서 내보낸 변수를 볼 수 없습니다) /requires_openai_auth(auth.json의 공식 로그인 상태를 재사용합니다). 이 가이드의 이전 버전에서env_key+requires_openai_auth를 함께 사용했다면, 현재 형식으로 바꾸십시오. wire_api = "responses": Codex의 기본이자 권장 프로토콜이며, APIYI에서 지원합니다. 특정 모델이 404 / 알 수 없는 엔드포인트를 반환하면, 대체 수단으로"chat"로 전환하십시오(고급 참조).- 이 파일에
C:\Users\xxx\.codex\...같은 절대 경로를 하드코딩하지 마십시오. 여러 머신에서 작동하지 않습니다.
옵션 2 · cc-switch 시각적 설정(GUI, 수동 편집 없음)
파일을 직접 편집하고 싶지 않다면 CC Switch를 사용하십시오. 몇 번의 클릭만으로 APIYI의 URL, 키, 모델을 Codex 설정에 써 넣는 GUI입니다. 또한 Claude Code, Codex, Gemini CLI 등을 한곳에서 관리하고, 원클릭 전환을 지원하며, 위의 백업/병합도 대신 처리해 줍니다. 초보자에게 좋은 첫 선택입니다. CC Switch 시각적 설정을 참조하십시오. 설정하면 Codex의 데스크톱 앱 / 확장 / CLI가 모두 설정을 자동으로 적용합니다.옵션 3 · 환경 변수(선택 사항, 번거로움, 권장하지 않음)
터미널에서 빠르게 테스트해 보고 싶으십니까? 환경 변수 방식은 펼쳐서 확인하십시오(장기 사용용 아님)
터미널에서 빠르게 테스트해 보고 싶으십니까? 환경 변수 방식은 펼쳐서 확인하십시오(장기 사용용 아님)
OPENAI_BASE_URL / OPENAI_API_KEY 환경 변수도 읽을 수 있습니다:3. 각 인터페이스 사용 (데스크톱 우선)
~/.codex/ 설정이 완료되면 아래의 아무 인터페이스나 선택합니다. config를 변경한 뒤 프로그램을 다시 시작하십시오 (Codex는 시작할 때만 config를 읽습니다).
1. Codex 데스크톱 앱 (가장 권장됨)
- Codex 데스크톱 앱을 설치하고 엽니다.
- 첫 실행 시 인증 방식을 선택합니다: apikey를 선택합니다 (chatgpt 로그인 아님).
- 모델 / 제공자 선택기에서
apiyi제공자와 대상 모델(예:gpt-5.4)을 선택합니다. - 적용하려면 앱을 다시 시작합니다.
- 검증을 위해 최소 작업을 실행합니다(4절 참조).
2. IDE 확장 (VSCode / Cursor)
- 확장 마켓플레이스를 엽니다(VSCode에서는
Ctrl+Shift+X/Cmd+Shift+X를 누릅니다).Codex — OpenAI's coding agent를 검색한 다음Install를 클릭합니다. - 설치 후 사이드바에 Codex 아이콘이 나타납니다 — 클릭하여 패널을 엽니다.
- 처음 열 때 세 가지 프롬프트에 응답합니다: ① 인증 방식 — apikey를 선택합니다; ② 키 소스 — “설정 파일 / 환경 변수”를 선택합니다; ③
AGENTS.md를 활성화합니다(권장). - 적용하려면 편집기를 다시 시작합니다.
- Codex 패널에서 최소 작업을 실행하여 검증합니다.
3. CLI
공식 CLI를 전역으로 설치합니다(Node.js 18+ 필요):4. 최소 검증
설정 및 재시작 후, 아무 인터페이스에서나 최소 작업을 입력합니다:5. 모델(APIYI 권장 사항)
config.toml의 model 필드에 설정하거나 런타임에 전환합니다:
/v1/responses 프로토콜 지원을 갖춘 드문 비OpenAI 모델로 만듭니다 — Codex에서는 wire_api = "responses"를 그대로 유지하고 model만 grok-4.5로 전환하면 됩니다. Codex의 에이전트 기능(도구 호출, 추론 항목 등)은 모두 네이티브 프로토콜 위에서 동작합니다. responses 엔드포인트는 APIYI에서 grok-4.5로 검증되었으며, 다른 Grok 모델도 동일한 아키텍처를 공유하므로 동일하게 동작할 것으로 예상됩니다 — 하나가 404를 반환하면 섹션 6의 대체 방법을 사용하십시오. Grok API 가이드를 참조하십시오.Claude / Gemini와 비교: APIYI에서 이 둘은 OpenAI 호환 채팅 모드에서만 실행되며 responses 엔드포인트는 없습니다 — 따라서 Codex에서는 wire_api = "chat"로 폴백해야 합니다. Codex의 에이전트 시나리오는 responses 프로토콜을 중심으로 설계되므로, 채팅 모드에서는 도구 호출에서 비호환성이 나타나고 경험이 저하될 수 있습니다. Claude / Gemini로 코딩할 때는 대신 해당 기본 도구를 사용하십시오(Claude Code / Gemini CLI).glm-5.2가 그렇습니다. 대상 모델 ID에 맞게 config.toml의 model 필드(또는 런타임의 -m)만 변경하면 됩니다.모델을 전환하는 4가지 방법
① 시작 시 지정 (CLI):/model을 입력하고 안내를 따르십시오.
④ 기본 모델 구성(영구): ~/.codex/config.toml를 편집하고, model를 변경한 뒤 저장하고 다시 시작하십시오:
6. 고급 설정
사용자 지정 시스템 프롬프트 (instructions.md)
사용자 지정 시스템 프롬프트 (instructions.md)
~/.codex/instructions.md를 편집합니다. 예:프로젝트 수준 AGENTS.md
프로젝트 수준 AGENTS.md
codex /init를 실행하여 구조와 규칙을 기록하는 AGENTS.md을 생성합니다. Codex가 기본적으로 특정 언어로 응답하도록 하려면 다음을 추가합니다:프로토콜 폴백: wire_api를 chat으로 전환
프로토콜 폴백: wire_api를 chat으로 전환
wire_api = "responses"은 Codex의 기본이자 선호 프로토콜이며, 대부분의 모델은 바로 동작합니다. 모델이 404 / 알 수 없는 엔드포인트를 반환하면 해당 제공업체의 wire_api을 "chat"로 변경한 뒤 다시 시도합니다(/chat/completions 사용).여러 설정(프로필)
여러 설정(프로필)
~/.codex/ 아래에 <name>.config.toml를 생성합니다(예: 공식 설정의 경우 openai.config.toml). 그런 다음 런타임에서 codex --profile <name>으로 전환합니다. APIYI와 다른 제공업체 사이를 오갈 때 유용합니다.공통 플래그
공통 플래그
7. 문제 해결
1. 환경 변수 누락: OPENAI_API_KEY (데스크톱 앱 / 확장 프로그램에서 가장 흔함)
1. 환경 변수 누락: OPENAI_API_KEY (데스크톱 앱 / 확장 프로그램에서 가장 흔함)
auth.json + config.toml를 올바르게 입력하고 앱을 다시 시작했는데도 여전히 Missing environment variable: OPENAI_API_KEY가 표시된다면, 원인은 provider 블록 안의 env_key = "OPENAI_API_KEY"입니다(이 가이드의 이전 버전에서 사용하던 형식입니다).env_key는 Codex를 실행한 프로세스의 환경 변수에서 Key를 읽어온다는 뜻이며, auth.json로는 대체되지 않습니다(auth.json는 OpenAI의 공식 로그인 상태만 제공합니다). 또한 데스크톱 앱 / IDE를 Dock 또는 런처에서 실행하면 터미널에서 내보낸 변수를 상속하지 않습니다(export in .zshrc는 GUI 앱에 영향이 없습니다). 따라서 아무리 재시작해도 변수가 나타나지 않습니다.수정 방법(권장): ~/.codex/config.toml을 편집하고 provider 블록에서 env_key를 제거한 뒤(있다면 requires_openai_auth도 제거), Key를 config에 직접 넣으십시오.env_key을 꼭 사용해야 한다면): 변수를 시스템 전체에 설정하십시오. macOS에서는 launchctl setenv OPENAI_API_KEY "sk-your-key"를 실행한 뒤 앱을 다시 시작하십시오(재부팅 후에는 다시 실행해야 합니다). Windows에서는 setx OPENAI_API_KEY "sk-your-key"를 실행한 뒤 앱을 다시 시작하십시오. CLI 전용 사용이라면 셸 프로필에 export를 넣는 것만으로 충분합니다.2. auth.json / config.toml 경로와 내용을 확인하십시오
2. auth.json / config.toml 경로와 내용을 확인하십시오
auth.json는 유효한 JSON이어야 하며,OPENAI_API_KEY가 실제sk-Key로 설정되어 있어야 합니다.config.toml는 유효한 TOML로 파싱되어야 합니다(따옴표와 들여쓰기에 주의하십시오).- 경로: Windows
%USERPROFILE%\.codex\, Mac/Linux~/.codex/.
3. Key가 유효하고 사용 가능한 크레딧이 있는지 확인하십시오
3. Key가 유효하고 사용 가능한 크레딧이 있는지 확인하십시오
4. base_url에 /v1이 포함되어 있는지 확인하십시오
4. base_url에 /v1이 포함되어 있는지 확인하십시오
/v1가 빠져 있어서 발생합니다. 올바른 예: https://api.apiyi.com/v1. 그런 다음 로컬 프록시와 DNS를 확인하십시오.5. config를 변경할 때마다 다시 시작하십시오
5. config를 변경할 때마다 다시 시작하십시오
auth.json / config.toml를 편집한 후에는 항상 프로그램을 재시작하십시오.6. 여전히 불안정하면: wire_api를 chat으로 전환하십시오
6. 여전히 불안정하면: wire_api를 chat으로 전환하십시오
responses 프로토콜과 호환되지 않으면 해당 공급자의 wire_api를 "chat"로 변경한 뒤 다시 시도하십시오.8. 자주 묻는 질문
Codex는 왜 APIYI와 작동합니까?
Codex는 왜 APIYI와 작동합니까?
https://api.apiyi.com/v1와 https://api.openai.com/v1는 요청/응답 형식에서 서로 호환됩니다. Base URL만 바꾸면 충분합니다.간단한 hello가 왜 수만 개의 입력 token을 소모합니까?
간단한 hello가 왜 수만 개의 입력 token을 소모합니까?
AGENTS.md, 관련 소스), 이를 prompt와 함께 컨텍스트로 전송합니다. 따라서 한 단어짜리 hello도 수천 개의 입력 token을 소모할 수 있습니다.어떻게 줄입니까?- 최소 작업은 빈 디렉터리나 아주 작은 프로젝트에서 테스트하여 컨텍스트가 작게 유지되도록 합니다.
- 구체적인 작은 작업을 주고 정확한 파일을 지정합니다(예: “
app.py만 보고 hello 엔드포인트를 추가해 주세요”)하여 Codex가 스캔하는 범위를 제한합니다. - 이런 일회성 확인에는 더 저렴한 모델(예:
gpt-5.4-mini)을 사용합니다.
`command not found: codex`
`command not found: codex`
npm bin -g이 PATH에 있는지 확인합니다.잘못된 API Key (401 / 잘못된 Key)
잘못된 API Key (401 / 잘못된 Key)
- OpenAI key가 아니라 APIYI Key(
sk-로 시작)를 사용하고 있는지 확인합니다. auth.json의 Key가 공백 없이 올바른지 확인합니다.- 설정을 변경한 후 다시 시작합니다.
연결 오류 / 시간 초과 / 404
연결 오류 / 시간 초과 / 404
/v1이 없습니다. 올바른 값: https://api.apiyi.com/v1입니다. 그런 다음 로컬 프록시와 DNS를 확인합니다.어떤 모델이 지원됩니까?
어떤 모델이 지원됩니까?
- OpenAI 시리즈: ✅ 완전 지원(권장
gpt-5.6-sol/gpt-5.6-terra/gpt-5.6-luna/gpt-5.5/gpt-5.4). - Grok 시리즈: ✅ 네이티브 responses 프로토콜 지원 —
grok-4.5는wire_api를 건드리지 않고 작동합니다; Grok API Guide를 참조하십시오. - 기타 OpenAI 호환 모델: APIYI에서 지원합니다. 예:
glm-5.2—model필드만 바꾸면 됩니다. - 참고: APIYI의 Claude / Gemini는 OpenAI 호환 채팅 모드만 제공하며 responses 엔드포인트는 없습니다 — 따라서 Codex에서는
wire_api를"chat"로 전환해야 하며, tool calling 같은 에이전트 동작은 호환성 문제를 겪을 수 있습니다. Claude / Gemini 기반 코딩에는 각자의 네이티브 도구(예: Claude Code / Gemini CLI)를 사용하십시오.
데스크톱 앱 / 확장 프로그램이 작동하지 않습니까?
데스크톱 앱 / 확장 프로그램이 작동하지 않습니까?
~/.codex/config.toml + auth.json만 읽고 환경 변수는 읽지 않습니다. 이 두 파일이 올바른지, 인증 방식이 apikey로 설정되어 있는지 확인한 다음 다시 시작합니다.프로덕션에 적합합니까?
프로덕션에 적합합니까?
- CLI / 앱: 개발 시 생산성 향상에 가장 적합합니다.
- 프로덕션: 직접 API 호출을 선호합니다(더 많은 제어, 모니터링, 점진적 롤아웃).
APIYI 설정을 어떻게 제거하거나 비활성화합니까?
APIYI 설정을 어떻게 제거하거나 비활성화합니까?
~/.codex/config.toml과 auth.json를 삭제하거나 복원합니다(데스크톱 앱 / extension은 각자 UI에서 관리합니다).9. 요약
전체 통합은 한 문장입니다:OpenAI의 엔드포인트를 APIYI로 바꾸십시오핵심은
~/.codex/을 한 번만 설정하는 것입니다: Key를 auth.json에 넣고, config.toml에서 base_url를 https://api.apiyi.com/v1로 지정합니다. 그러면 데스크톱 앱, IDE 확장, CLI가 모두 작동합니다. 그 밖의 모든 것 — 모델 선택, prompt, instructions.md, AGENTS.md — 은 단지 다듬기입니다.