본문으로 건너뛰기

© 2026 Molayo

GeekNews헤드라인2026. 06. 21. 17:38

Show GN: opencodex — Codex에서 아무 LLM이나 쓸 수 있는 로컬 프록시

요약

opencodex는 OpenAI Codex에서 Claude나 Gemini 등 다양한 LLM을 사용할 수 있게 해주는 로컬 프록시 도구입니다. Codex의 전용 프로토콜을 다양한 모델 프로바이더의 API로 실시간 번역하여 모델 피커에서 네이티브하게 사용할 수 있도록 지원합니다.

핵심 포인트

  • Codex 프로토콜을 Anthropic, Google 등 40개 이상의 프로바이더로 번역
  • 한 세션 내에서 GPT와 타사 모델을 동시에 교차 사용 가능
  • Reasoning effort 매핑 및 세션 히스토리 마이그레이션 지원
  • 사이드카 기능을 통해 타사 모델에서도 웹 검색 및 이미지 이해 구현
  • 설치 및 삭제 시 원본 Codex 설정과 히스토리를 완벽히 복원

Codex는 OpenAI 모델만 된다. Claude 쓰고 싶으면? GLM-5.2로 코딩하고 싶으면? OpenAI가 추가해줄 때까지 기다려야 한다.

opencodex는 이 문제를 푸는 로컬 프록시다. Codex와 LLM 프로바이더 사이에 끼어서 프로토콜을 실시간으로 번역한다. 스트리밍, 도구 호출, 추론 토큰, 이미지 — 전부 양방향으로 작동한다.

코덱스 앱, cli, sdk

의 모델 피커에 정상적으로 등록되고

한 세션안에서 GPT 와 등록된 모델을 전부 사용할수 있다

npm install -g @bitkyc08/opencodex
ocx init # 프로바이더 선택
ocx start # 프록시 시작
codex -m "anthropic/claude-opus-4-8" "이 버그 고쳐줘"

어떻게 작동하는지

Codex는 Responses API(/v1/responses

)라는 자체 프로토콜만 쓴다. 대부분의 LLM은 이걸 구현하지 않는다. opencodex가 5개 프로토콜 어댑터(Anthropic Messages, Google Gemini, Azure, OpenAI passthrough, OpenAI-compatible Chat Completions)로 번역해준다. 40개 이상의 프로바이더가 기본 내장돼 있다.

라우팅된 모델은 Codex 모델 선택기에 네이티브 모델처럼 나타난다. provider/model

형식으로 지정하면 된다.

만들면서 어려웠던 것

프록시 설계는 많은 오픈소스가 있어 구현이 쉬웠지만

코덱스의 native한 경험을 위해서 codex-rs의 분해가 필수적이었다

reasoning effort 매핑. 프로바이더마다 effort 이름이 다르다. GLM은 "max"를 쓰고 Codex는 "xhigh"라고 부른다. Kimi는 아예 이 파라미터를 거부한다. 모델별로 변환 테이블을 따로 만들어야 했다.

세션 히스토리. Codex가 각 쓰레드의 model_provider

를 DB에 저장한다. opencodex로 전환하면 기존 세션이 전부 안 보인다. SQLite를 직접 열어서 inject/restore 시 model_provider

태그를 바꾸는 마이그레이터를 만들었다. 파일 mtime은 보존해서 재개 순서가 흐트러지지 않게 했다.

사이드카. OpenAI가 아닌 모델은 웹 검색이나 이미지 이해를 못 한다. ChatGPT 로그인을 통해 gpt-5.4-mini 사이드카로 이 기능을 라우팅해서, Claude나 GLM에서도 실제 웹 검색이 되게 했다.

끄면 원래대로

ocx stop

누르면 Codex 설정, 카탈로그, 세션 히스토리가 전부 원본으로 복원된다. 잔여물 없다. 대시보드의 Stop 버튼이나 ocx service uninstall

로도 같은 결과다.

MIT 라이선스. macOS/Linux/Windows 네이티브(WSL 불필요).

GitHub: https://github.com/lidge-jun/opencodex

npm:npm install -g @bitkyc08/opencodex

AI 자동 생성 콘텐츠

본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0