AI 지식 / / 2025. 6. 4. 17:51

Claude Code Proxy: OpenAI 모델에서 Claude 코드 실행하기 (claude-code-proxy)

출처: https://github.com/1rgs/claude-code-proxy


Anthropic API Proxy for Gemini & OpenAI Models 🔄

Anthropic 클라이언트(예: Claude Code)를 Gemini 또는 OpenAI 백엔드와 함께 사용하세요. 🤝

이 프록시 서버는 Anthropic 클라이언트를 통해 Gemini 또는 OpenAI 모델을 LiteLLM을 통해 사용할 수 있게 해줍니다. 🌉


빠른 시작 ⚡

사전 준비

  • OpenAI API 키 🔑
  • Google AI Studio(Gemini) API 키(구글 제공자 사용 시) 🔑
  • uv 설치 필요

설치 🛠️

  1. 레포지토리 클론:

    git clone https://github.com/1rgs/claude-code-openai.git
    cd claude-code-openai
  2. uv 설치:

    curl -LsSf https://astral.sh/uv/install.sh | sh

    (uv는 서버 실행 시 pyproject.toml 기반으로 의존성을 관리합니다)

  3. 환경 변수 설정:

    cp .env.example .env

    .env 파일을 열어 API 키와 모델 설정을 입력하세요:

    • ANTHROPIC_API_KEY: (선택) Anthropic 모델로 프록시할 때 필요
    • OPENAI_API_KEY: OpenAI API 키(기본 또는 백업으로 OpenAI 사용 시 필수)
    • GEMINI_API_KEY: Google AI Studio(Gemini) API 키(Google 우선 사용 시 필수)
    • PREFERRED_PROVIDER (선택): openai(기본값) 또는 google 지정
    • BIG_MODEL (선택): sonnet 요청에 매핑할 모델(기본값: gpt-4.1 또는 gemini-2.5-pro-preview-03-25)
    • SMALL_MODEL (선택): haiku 요청에 매핑할 모델(기본값: gpt-4.1-mini 또는 gemini-2.0-flash)

    매핑 로직:

    • PREFERRED_PROVIDER=openai(기본값)일 때, haiku/sonnet은 각각 SMALL_MODEL/BIG_MODELopenai/ 접두사가 붙음
    • PREFERRED_PROVIDER=google일 때, 해당 모델이 GEMINI_MODELS에 있으면 gemini/ 접두사가 붙음(없으면 OpenAI로 대체)
  4. 서버 실행:

    uv run uvicorn server:app --host 0.0.0.0 --port 8082 --reload

    (--reload는 개발용 옵션)

Claude Code와 함께 사용하기 🎮

  1. Claude Code 설치:
    npm install -g @anthropic-ai/claude-code
  2. 프록시에 연결:
    ANTHROPIC_BASE_URL=http://localhost:8082 claude
  3. 완료! 이제 Claude Code 클라이언트가 프록시를 통해 설정된 백엔드 모델(기본 Gemini)을 사용합니다. 🎯

모델 매핑 🗺️

프록시는 Claude 모델을 OpenAI 또는 Gemini 모델로 자동 매핑합니다:

Claude 모델 기본 매핑 BIG/SMALL 모델이 Gemini일 때
haiku openai/gpt-4o-mini gemini/[모델명]
sonnet openai/gpt-4o gemini/[모델명]

지원 모델

OpenAI 모델

  • o3-mini
  • o1
  • o1-mini
  • o1-pro
  • gpt-4.5-preview
  • gpt-4o
  • gpt-4o-audio-preview
  • chatgpt-4o-latest
  • gpt-4o-mini
  • gpt-4o-mini-audio-preview
  • gpt-4.1
  • gpt-4.1-mini

Gemini 모델

  • gemini-2.5-pro-preview-03-25
  • gemini-2.0-flash

모델 접두사 처리

  • OpenAI 모델: openai/ 접두사 자동 추가
  • Gemini 모델: gemini/ 접두사 자동 추가
  • BIG_MODEL, SMALL_MODEL은 해당 모델 리스트에 따라 접두사 자동 부여

예시:

  • gpt-4oopenai/gpt-4o
  • gemini-2.5-pro-preview-03-25gemini/gemini-2.5-pro-preview-03-25
  • BIG_MODEL이 Gemini 모델이면 Claude Sonnet은 gemini/[모델명]으로 매핑

모델 매핑 커스터마이즈

.env 파일 또는 직접 환경 변수로 매핑을 제어할 수 있습니다.

예시 1: 기본(OpenAI 사용)

OPENAI_API_KEY="your-openai-key"
GEMINI_API_KEY="your-google-key" # Google 우선 사용 시 필요
# PREFERRED_PROVIDER="openai" # 기본값
# BIG_MODEL="gpt-4.1" # 기본값
# SMALL_MODEL="gpt-4.1-mini" # 기본값

예시 2: Google 우선 사용

GEMINI_API_KEY="your-google-key"
OPENAI_API_KEY="your-openai-key" # 백업용
PREFERRED_PROVIDER="google"
# BIG_MODEL="gemini-2.5-pro-preview-03-25" # Google 우선 기본값
# SMALL_MODEL="gemini-2.0-flash" # Google 우선 기본값

예시 3: 특정 OpenAI 모델 사용

OPENAI_API_KEY="your-openai-key"
GEMINI_API_KEY="your-google-key"
PREFERRED_PROVIDER="openai"
BIG_MODEL="gpt-4o" # 예시
SMALL_MODEL="gpt-4o-mini" # 예시

작동 방식 🧩

  1. Anthropic API 형식으로 요청 수신 📥
  2. LiteLLM을 통해 OpenAI 형식으로 변환 🔄
  3. OpenAI로 변환된 요청 전송 📤
  4. 응답을 Anthropic 형식으로 다시 변환 🔄
  5. 클라이언트에 최종 응답 반환

프록시는 스트리밍/비스트리밍 응답 모두 지원하며, 모든 Claude 클라이언트와 호환됩니다. 🌊


기여하기 🤝

기여를 환영합니다! Pull Request를 자유롭게 제출해 주세요. 🎁


정보

OpenAI 모델에서 Claude Code 실행하기


라이선스 및 기타


© 2025 GitHub, Inc.

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유