며칠 전 opencodex 글을 쓰면서 이런 생각이 들었다.
Codex나 Claude Code에 다른 모델을 붙이는 건 알겠는데, 반대로는 안 되나?
구독료를 내고 쓰는 CLI들이 있는데, 그걸 그냥 API처럼 아무 데서나 부를 수는 없을까 싶었다.
그걸 하는 도구가 있었다. CLIProxyAPI다. 스타가 4만 8천 개나 붙어 있었다.

1. CLIProxyAPI 소개
CLI 도구들을 감싸서 OpenAI 호환 API 서버로 바꿔주는 프록시다.
로컬에 서버를 하나 띄우면 127.0.0.1:8317로 API가 열린다. 그다음부터는 그냥 OpenAI API처럼 쓰면 된다.
쉽게 말해, "구독으로 쓰던 CLI를 API 키처럼 만들어준다"는 것이다.
| 항목 | 내용 |
|---|---|
| 저장소 | router-for-me/CLIProxyAPI |
| 스타 | 48,000 (포크 7,400) |
| 라이선스 | MIT |
| 언어 | Go |
| 최신 버전 | v7.2.137 |
| 문서 | help.router-for.me |
릴리스가 818개다. 하루에도 몇 번씩 올라온다.
감쌀 수 있는 쪽은 이렇다.
- OAuth 로그인 — Antigravity, ChatGPT Codex, Claude Code, Grok Build
- API 키 — Gemini, Kimi, AI Studio
- OpenAI 호환 업스트림 — OpenRouter 같은 것도 설정으로 붙는다
내보내는 쪽은 OpenAI, Gemini, Claude, Codex, Grok 형식을 전부 지원한다. 스트리밍과 함수 호출, 이미지 입력도 된다.

2. opencodex와 방향이 반대다
둘 다 프록시인데 화살표가 정반대다. 헷갈리기 쉬워서 표로 정리한다.
| opencodex | CLIProxyAPI | |
|---|---|---|
| 방향 | 클라이언트 → 여러 모델 | CLI 구독 → API 서버 |
| 얻는 것 | Codex UI에서 다른 모델 쓰기 | 구독을 아무 도구에서나 쓰기 |
| 쓰는 자리 | Codex·Claude Code 안 | 내가 만든 앱, 스크립트, 다른 에디터 |
| 언어 | TypeScript | Go |
opencodex는 Codex 화면은 그대로 두고 뇌만 바꾸는 쪽이다.
CLIProxyAPI는 Claude Code 구독을 떼어내서 파이썬 스크립트에 물리는 쪽이다.
그래서 둘을 같이 써도 충돌하지 않는다. 목적이 다르다.
3. 설치
맥은 홈브루로 한 줄이다.
brew install cliproxyapi
brew services start cliproxyapi
리눅스는 설치 스크립트가 있다.
curl -fsSL https://raw.githubusercontent.com/router-for-me/cliproxyapi-installer/refs/heads/master/cliproxyapi-installer | bash
아치 리눅스면 AUR에도 올라와 있다. yay -S cli-proxy-api-bin으로 깔고 systemd로 돌리면 된다.
도커도 된다.
docker run --rm -p 8317:8317 \
-v /path/to/config.yaml:/CLIProxyAPI/config.yaml \
-v /path/to/auth-dir:/root/.cli-proxy-api \
eceasy/cli-proxy-api:latest
터미널이 부담스러우면 EasyCLIProxyAPI라는 데스크톱 앱을 따로 만들어뒀다. 설정 화면과 트레이 아이콘이 붙어 있다.
4. Claude Code에 붙이기
서버가 떴으면 ~/.claude/settings.json의 env에 주소만 넣어주면 된다.
{
"env": {
"ANTHROPIC_BASE_URL": "http://127.0.0.1:8317",
"ANTHROPIC_AUTH_TOKEN": "<your_api_key>",
"CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1"
}
}
GATEWAY_MODEL_DISCOVERY를 켜면 프록시가 들고 있는 모델 목록을 Claude Code가 알아서 읽어온다.
공식 문서에는 타임아웃을 넉넉히 잡는 값들도 같이 적혀 있다. 프록시를 한 번 거치니 응답이 늦어질 수 있어서다.
Codex, OpenCode, Factory Droid, Grok Build 설정도 문서에 따로 있다.
5. 여러 계정 돌려쓰기
이 프로젝트가 힘을 준 부분이다. 계정을 여러 개 등록해두고 라운드로빈으로 번갈아 쓴다.
Gemini, Codex, Claude Code, Grok 전부 멀티 계정을 지원한다.
한 계정이 한도에 걸리면 다음 계정으로 넘어가는 식이다.
다만 여기는 조심할 필요가 있다.
구독 계정을 여러 개 묶어 돌리는 게 각 서비스 약관에서 허용되는지는 별개 문제다. 쓰기 전에 확인하는 게 맞다.
버전 6.10.0부터 사용량 통계 기능이 본체에서 빠졌다. 필요하면 별도 도구를 붙여야 한다.
6. 주변 도구들
스타가 4만을 넘다 보니 이걸 감싼 도구가 여럿 나와 있다.
- vibeproxy — 맥 메뉴바 앱
- Quotio — 계정별 쿼터를 실시간으로 보여주는 맥 앱
- CCS — Claude 계정을 즉시 전환하는 CLI 래퍼
- ProxyPilot — 윈도우용 TUI와 트레이
- CPA Usage Keeper — 사용량을 SQLite에 쌓고 대시보드로 보여주는 도구
플러그인 구조도 열어놨다. 모델 등록, 번역기, 인터셉터를 직접 끼워 넣을 수 있고 Go SDK로 프록시 자체를 앱에 임베드하는 것도 된다.
마무리
정리하면 이렇다.
- CLI 구독을 OpenAI 호환 API 서버로 바꿔준다
- 맥은 홈브루, 리눅스는 스크립트, 도커까지 설치 경로가 넓다
- Claude Code는 settings.json에 주소 한 줄이면 붙는다
- 여러 계정을 돌려쓸 수 있지만 약관은 확인하고 쓰는 게 맞다
나는 아직 서버만 띄워보고 실제 작업에 물려보지는 않았다.
구독으로 쓰던 모델을 스크립트에서 그냥 부를 수 있다는 건 확실히 매력적이다.
로컬 모델을 붙이는 방식과 섞어 쓰면 선택지가 꽤 넓어질 것 같다. 그건 나중에 정리해보겠다!
참고 자료
'오픈소스' 카테고리의 다른 글
| AI로 UI 만들 때 참고하는 사이트 정리 - 컴포넌트부터 DESIGN.md까지 (0) | 2026.08.24 |
|---|---|
| OmniRoute - 무료 AI 티어 351곳을 한 엔드포인트로 묶기 (0) | 2026.08.24 |
| Aside - 로그인된 내 브라우저를 그대로 쓰는 AI 브라우저 (0) | 2026.08.20 |
| Claude HUD - Claude Code 컨텍스트와 에이전트 상태 실시간으로 보기 (0) | 2026.08.20 |
| opencodex - Codex와 Claude Code에 아무 모델이나 붙이기 (0) | 2026.08.20 |