My Free Code v0.8: Claude Code 및 기타 코딩 에이전트를 위한 다중 공급자 게이트웨이
요약
My Free Code v0.8은 Claude Code 및 다양한 코딩 에이전트를 위한 다중 공급자 게이트웨이를 제공합니다. 이 시스템은 Anthropic, OpenAI 등 여러 AI 모델 공급자의 API를 통합하고 표준화된 프로토콜을 통해 접근성을 높입니다. 이를 통해 안정적인 라우팅, 폴백, 속도 제어 등의 고급 기능을 구현할 수 있습니다.
핵심 포인트
- 다중 공급자 게이트웨이를 통해 Anthropic과 OpenAI 등 다양한 AI 모델에 연결 가능
- 스트리밍 SSE, 도구 호출, 추론 메타데이터 전달 등 에이전트 필수 기능 지원
- NVIDIA NIM, Groq, Google Vertex 등 광범위한 공급자를 통합하여 사용성 극대화
My Free Code v0.8
Claude Code 및 기타 코딩 에이전트를 위한 다중 공급자 게이트웨이입니다.
이는 독립적인 구현체이며, Anthropic과 제휴하지 않습니다.
v0.8에 포함된 기능
게이트웨이 프로토콜
- Anthropic Messages:
/v1/messages - Anthropic 토큰 카운팅:
/v1/messages/count_tokens - OpenAI 응답 호환:
/v1/responses - 모델 검색:
/v1/models - 상태 확인:
/health - 로컬 관리 UI:
/admin - 인증된 관리 API:
/api/admin/*
에이전트 기능
- 스트리밍 SSE (SSE)
- 도구 정의 및 도구 호출
- 도구 결과
- 이미지
- 추론/사고 메타데이터 전달(pass-through)
- Claude 티어 라우팅: Fable / Opus / Sonnet / Haiku
- 사고 과정이 없는 게이트웨이 ID
- 순서화된 모델 폴백(fallback)
- 공급자 상태 백오프(backoff)
- 공급자별 동시성(concurrency)
- 속도 창 제어(rate-window control)
- 안정적인 공개 모델 식별자(identity)
공급자 계층 (Provider layer)
The 카탈로그에는 프로젝트에서 사용되는 광범위한 공급자 세트가 포함되어 있습니다:
NVIDIA NIM, OpenRouter, Groq, OpenAI, xAI, QwenCloud, Together, DeepInfra, SiliconFlow, Nebius, Chutes, Featherless, ZenMux, W&B Inference, Azure OpenAI, Google AI Studio, Google Vertex, DeepSeek, Mistral, Codestral, OpenCode Zen, OpenCode Go, Vercel AI Gateway, Amazon Bedrock, Hugging Face, Cohere, GitHub Models, Wafer, Kimi, Kimi Code, MiniMax, Cerebras, SambaNova, Kilo, Fireworks, Novita, Cloudflare Workers AI, Z.ai, TokenRouter, NaraRoute, Poolside, LLM7, Ollama Cloud, LM Studio, llama.cpp 및 Ollama.
공급자 항목은 보편적 지원에 대한 허위 주장이 아닙니다. 특이한 인증/프로토콜을 요구하는 공급자는 전용 어댑터가 필요합니다. 일반적인 OpenAI 호환 공급자는 공유 트랜스포트를 사용합니다.
코딩 에이전트 런처 계층 (Coding-agent launcher layer)
아키텍처는 다음을 위한 런처 어댑터를 가지고 있습니다:
- Claude Code
- Codex
- Pi
- OpenCode
- Cline
- Hermes
- DeepSeek Harness
- Grok Build
- Muse Code
런처는 단순히 로컬 프록시 환경을 준비하고 인수를 설치된 클라이언트에 위임합니다.
아키텍처
코딩 에이전트 / IDE
|
+-----------+-----------+
...
아키텍처는 와이어 프로토콜(wire protocols)과 라우팅 및 제공자 코드(routing and provider code)를 의도적으로 분리합니다. 이는 현재 참고 프로젝트의 중요한 아키텍처 경계와 유사합니다: HTTP 어댑터, 애플리케이션 라우팅/실행, 제공자 런타임(provider runtime), CLI 어댑터 및 선택적 메시징은 별개의 관심사입니다. citeturn0search0
설치 (Install)
Python 3.10 이상.
python -m venv .venv
Windows:
.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
copy .env.example .env
macOS/Linux:
source .venv/bin/activate
python -m pip install -r requirements.txt
cp .env.example .env
시작 (Start):
python -m my_free_code
기본 주소 (Default address):
모델 구성 (Configure a model)
예시:
MODEL=open_router/openrouter/free
MODEL_SONNET=deepseek/deepseek-chat
MODEL_HAIKU=groq/llama-3.3-70b-versatile
...
그런 다음 .env 파일에 해당하는 API 키를 설정합니다.
요청이 다른 상위 제공자(upstream provider)로 라우팅되더라도 공개 모델 식별자(public model identity)는 게이트웨이 모델로 유지됩니다.
Claude Code
$env:ANTHROPIC_BASE_URL="http://127.0.0.1:8082"
$env:ANTHROPIC_AUTH_TOKEN="local"
$env:CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY="1"
...
또는:
python -m my_free_code.cli.mfc claude
기타 클라이언트 (Other clients)
런처 추상화(launcher abstraction)는 다음을 지원합니다:
python -m my_free_code.cli.mfc codex
python -m my_free_code.cli.mfc pi
python -m my_free_code.cli.mfc opencode
...
설치된 클라이언트는 이미 PATH에 존재해야 합니다.
라우팅 및 폴백 (Routing and fallback)
다음과 같은 경우:
MODEL_SONNET=deepseek/deepseek-chat
FALLBACK_MODELS=groq/llama-3.3-70b-versatile,ollama/llama3.1
Sonnet 요청은 다음을 따릅니다:
Claude Code
|
v
...
스트리밍 응답이 출력을 확정(committed output)하면, 게이트웨이는 제공자를 조용히 전환하거나 턴을 중복하지 않습니다.
추론 (Reasoning)
게이트웨이는 Claude 스타일의 사고 의도(thinking intent)를 수용하고 이를 공급자별 요청 번역과 분리합니다.
지원되는 정규화된 모드(normalized modes):
auto
on
off
그리고 선택적 노력 수준(optional effort):
low
medium
high
공급자 어댑터는 정규화된 추론 정책을 문서화된 상위스트림 필드에 매핑할 수 있습니다.
관리자 (Admin)
열기(Open):
인증된 JSON 엔드포인트:
GET /api/admin/status
GET /api/admin/models
GET /api/admin/providers
로컬 모델 (Local models)
Ollama:
OLLAMA_BASE_URL=http://127.0.0.1:11434/v1
MODEL=ollama/llama3.1
LM Studio:
LM_STUDIO_BASE_URL=http://127.0.0.1:1234/v1
MODEL=lmstudio/qwen3.5-coder
llama.cpp:
LLAMACPP_BASE_URL=http://127.0.0.1:8080/v1
MODEL=llamacpp/my-model
보안 (Security)
이것은 로컬 사용을 목적으로 합니다.
HOST=127.0.0.1유지- 자명하지 않은(non-trivial)
PROXY_AUTH_TOKEN설정 .env절대 커밋하지 않기- 관리자 엔드포인트를 인터넷에 직접 노출하지 않기
- 공급자 자격 증명은 환경/설정에 남아 있으며 다른 공급자에게 전송되지 않습니다.
테스트 (Tests)
pytest -q
이 저장소에는 라우팅, 프로토콜 변환, 인증(auth), 추론(reasoning), 모델 카탈로그 및 스트리밍 기본 요소에 대한 결정론적 테스트가 포함되어 있습니다.
프로젝트 구조 (Project structure)
my-free-code/
├── my_free_code/
│ ├── api/
...
라이선스 (License)
MIT.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Claude Ecosystem의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기