OpenCodex는 Codex의 Responses API 요청을 각 LLM 제공자의 프로토콜로 변환하는 경량 로컬 프록시다. Codex CLI, App, SDK 및 Claude Code에서 Anthropic, Google, xAI, Kimi, DeepSeek, GLM, Qwen, Ollama 등을 사용할 수 있게 한다. 스트리밍, 도구 호출, 추론 토큰, 이미지 입력이 양방향으로 변환된다.


1. 시작하기

요구사항

  • Node.js 18 이상
  • Bun 런타임은 npm 의존성으로 번들되어 Node 런처를 통해 실행되므로 별도 설치 불필요
  • 주의: npm이 lifecycle 스크립트를 차단한 상태로 설치하면 "bundled Bun runtime is missing" 오류가 발생한다. 이 경우 스크립트 허용 후 재설치하거나 Bun을 직접 설치해야 한다
  • sudo npm install -g 대신 nvm/fnm 등 사용자 소유 Node 환경 권장

설치 및 실행

# 1. 전역 설치 (Bun 런타임 자동 번들)
npm install -g @bitkyc08/opencodex

# 2. 대화형 초기화 (설정 파일 작성 + Codex 설정 주입 + 자동 시작 shim 설치 안내)
ocx init

# 3. 프록시 시작
ocx start

이후 Codex를 평소대로 사용하면 요청이 opencodex를 경유한다.

codex "Write a hello world in Rust"

대시보드는 http://localhost:10100에서 접근한다.

제거 및 원복

ocx stop        # 프록시 중지, 백그라운드 서비스 중지, Codex 설정 원복
ocx uninstall   # 잔여 설정 정리 (npm 제거 전 실행 권장)
npm uninstall -g @bitkyc08/opencodex

지원 플랫폼

OS 상태 서비스 매니저
macOS (arm64/x64) 지원 launchd
Linux (x64/arm64) 지원 systemd
Windows (x64) 지원 (WSL 불필요) Task Scheduler

2. 장점

번호 항목 설명
1 모델 자유도 Anthropic, Google, xAI, Kimi, Ollama Cloud, Groq, OpenRouter, Azure, DeepSeek, GLM 및 OpenAI 자체를 포함해 40개 이상의 내장 제공자를 지원한다. 동일한 Codex 워크플로 안에서 모델을 전환할 수 있다
2 어댑터 기반 변환 Anthropic Messages, Google Gemini, Azure, OpenAI Responses 패스스루, OpenAI 호환 Chat Completions의 5개 어댑터로 대부분의 엔드포인트를 흡수한다
3 설치·설정 간소화 프록시 체인을 직접 구성할 필요 없이 ocx init 대화형 설정으로 완료된다. xAI, Anthropic, Kimi는 OAuth 로그인을 지원해 API 키 없이 연결 가능하다
4 바이너리 무수정 Codex 앱 바이너리를 패치하지 않고 Codex 설정 파일과 모델 카탈로그에 provider를 주입하는 방식이다. ocx stop으로 원본 설정이 복원된다
5 통합 대시보드 제공자, API 키, 모델 별칭(alias), 로그, 계정 관리를 웹 대시보드에서 처리한다
6 모델 라우팅 규칙 provider/model 형식으로 명시 지정하거나, prefix 생략 시 모델명 패턴으로 자동 매칭한다(claude-* → Anthropic, gpt-* → OpenAI)
7 Codex App 통합 라우팅된 모델이 Codex App 모델 선택기에 네이티브 모델과 함께 노출되며 모델별 reasoning effort 조절이 가능하다
8 ChatGPT 계정 풀 복수 ChatGPT/Codex 계정을 등록해 5시간·주간·30일 쿼터를 갱신하고 신규 세션을 사용량이 가장 낮은 계정으로 라우팅한다. 기존 스레드는 시작한 계정에 고정된다
9 백그라운드 서비스 시스템 서비스로 등록해 부팅 시 자동 실행되며, 중지 시 잔여 설정·좀비 프로세스를 남기지 않도록 설계되어 있다

3. 단점 및 리스크

번호 항목 설명
1 약관 리스크 OAuth·구독 계정 연동은 기술적으로 가능하더라도 해당 제공자가 서드파티 프록시 경유를 허용한다는 의미가 아니다. 프로젝트 문서 자체가 계정 제한·정지 가능성을 경고하고 있다. 특히 계정 풀 기능은 사용량 우회로 해석될 여지가 있다
2 추가 계층의 복잡성 Codex 위에 프록시 계층이 하나 더 생겨 설정 결정과 디버깅 지점이 늘어난다
3 기능 호환성 지연 자체 API 변환 계층이므로 Codex나 Claude Code의 최신 기능이 즉시 반영되지 않을 수 있다
4 프로젝트 성숙도 공식 도구 대비 생태계가 작고, 릴리스 주기가 매우 짧다(주 단위 preview 태그 다수). 안정성과 장기 유지보수에 대한 검증이 필요하다
5 상시 실행 의존성 Node 환경과 ocx 데몬의 상시 구동이 전제된다. Codex 단독 사용 대비 리소스를 더 사용한다
6 로컬 자격증명 집중 다수 제공자의 API 키와 OAuth 토큰이 로컬 설정(~/.opencodex/config.json)에 모인다. 단말 침해 시 피해 범위가 확대된다

4. 이름이 유사한 별개 프로젝트

"OpenCodex"라는 이름을 쓰는 프로젝트가 여러 개 존재한다. 기능을 혼동하지 않도록 구분이 필요하다.

프로젝트 정체 본 문서 대상과의 관계
lidge-jun/opencodex 본 문서의 대상. Codex/Claude Code용 범용 제공자 프록시
AITabby/opencodex Codex Desktop용 로컬 게이트웨이. Vision Bridge, Computer Use 엔진, 음성 컴패니언(OpenCodexBar) 보유 별개 프로젝트. Vision Bridge·음성 기능은 이쪽 기능이며 lidge-jun 버전의 기능이 아니다
RyensX/OpenCodex Codex Desktop 미들웨어. 브라우저 원격 접근에 특화 별개 프로젝트. 원격 접근 기능은 이쪽 기능이다
Open Codex (codingmoh) 완전 로컬 실행 CLI 어시스턴트. API 키 불필요, phi-4-mini 등 로컬 모델 지원 별개 프로젝트

5. 경쟁·대체 도구

도구 설명 차이점
OpenCode (SST) 오픈소스 터미널 AI 코딩 에이전트 프록시가 아닌 독립 에이전트. 다수 제공자를 자체 지원하므로 OpenCode 사용자에게는 opencodex의 실익이 적다
Claude Code Anthropic 터미널 코딩 어시스턴트 Claude 생태계 특화. opencodex는 Claude Code 측 프록시로도 동작한다
Cursor AI 네이티브 코드 에디터 IDE 내장형 경험 중심
GitHub Copilot IDE 플러그인형 코딩 어시스턴트 제공자 선택 폭이 제한적
Aider / Cline / Windsurf 각기 다른 접근의 코딩 에이전트 워크플로와 특화 영역이 상이

6. Codex와의 비교

항목 Codex 단독 Codex + OpenCodex
사용 가능 모델 OpenAI 계열 40개 이상 제공자
설정 난이도 낮음 중간
비용 최적화 제한적 저가 모델 라우팅으로 유리
맞춤화 제한적 높음
운영 리스크 낮음 프록시 장애 지점 추가, 제공자 약관 리스크
적합 사용자 즉시 사용을 원하는 일반 사용자 모델 실험·비용 최적화를 중시하는 파워 유저

7. 종합 평가

기술적 설계는 합리적이다. 바이너리 패치 대신 설정 주입 방식을 택하고 ocx stop 한 줄로 원복되는 구조는 이 범주의 도구에서 가장 중요한 안전장치다. 어댑터를 5종으로 추상화한 점도 제공자 확장 비용을 낮춘다.

다만 도입 판단에서 기술적 편의보다 앞서는 변수는 약관 리스크다. API 키 기반 연동과 구독 계정(OAuth) 기반 연동은 성격이 전혀 다르며, 특히 다중 ChatGPT 계정 풀링은 제공자 관점에서 사용량 정책 우회로 판단될 수 있다. 업무용 환경이라면 API 키 기반 제공자만 등록하고 계정 풀 기능은 사용하지 않는 구성이 안전하다.

주 단위로 preview 릴리스가 쏟아지는 개발 속도는 기능 확장 측면에서는 긍정적이나, 프로덕션 의존성으로 삼기에는 아직 이르다. 개인 개발 환경에서의 실험적 도입이 현재 적정 수준이다.