프로바이더는 이름 → 구성 맵입니다. 새 업스트림은 그저 또 하나의 [providers.<name>] 테이블일 뿐이며 — 코드 변경은 없습니다. 세 가지 어댑터 종류가 모든 것을 커버합니다:
kind = "anthropic"— 업스트림이 Anthropic Messages API를 사용합니다. shunt는 요청을 패스스루하며, 필요하면 다른 API 키를 주입합니다.kind = "responses"— 업스트림이 OpenAI Responses API를 사용합니다. shunt는 Anthropic Messages ⇄ Responses를 스트리밍 포함하여 변환합니다.kind = "cursor"— 네이티브 Cursor 어댑터입니다. shunt는 Cursor의 ConnectRPC/protobuf AgentService를 Anthropic Messages API로 브리지하며, 스트리밍·추론·네이티브 도구 호출·인라인 이미지를 포함합니다. 내장cursor프로바이더가 사용합니다.
내장 프로바이더
| 이름 | 종류 | 인증 | 백엔드 |
|---|---|---|---|
anthropic |
anthropic |
passthrough |
api.anthropic.com — 호출자 본인의 자격 증명을 전달 |
openai |
responses |
api_key (OPENAI_API_KEY) |
api.openai.com/v1 |
codex |
responses |
chatgpt_oauth |
chatgpt.com/backend-api — ~/.codex/auth.json 재사용 |
xai |
responses |
api_key (XAI_API_KEY) |
api.x.ai/v1 — xAI 개발자 API |
grok |
responses |
xai_oauth |
cli-chat-proxy.grok.com/v1 — shunt login xai를 통한 SuperGrok / X Premium+ 구독 |
cursor |
cursor |
cursor_oauth |
api2.cursor.sh — ~/.shunt/cursor-auth.json 재사용 (shunt login cursor) |
각 이름은 전체 설정을 설명하는 해당 프로바이더의 전용 페이지로 연결됩니다. shunt add upstream <name>은 모든 내장 프로바이더의 단계별 블루프린트를 출력합니다. 이를 코딩 에이전트에 파이프로 전달하면(shunt add upstream codex --print | claude) 에이전트가 구성을 연결하도록 할 수 있습니다. CLI 레퍼런스를 참고하세요.
codex 프로바이더 (ChatGPT 구독)
Codex CLI로 한 번 로그인하면, shunt가 ~/.codex/auth.json을 읽고 자동 갱신합니다:
codex login파일이 없거나 만료되면, shunt는 codex login을 실행하라는 authentication_error를 반환합니다.
전체 설정 — 인증 파일 처리, 모델 선택, 노력, 컨텍스트 크기 조정 — 은 전용 ChatGPT / Codex 가이드를 참고하세요.
cursor 프로바이더 (Cursor 구독)
내장 cursor 프로바이더는 Cursor 자체의 ConnectRPC/protobuf AgentService를 통해 Cursor 구독에 도달합니다. kind = "cursor" 네이티브 어댑터가 이를 Anthropic Messages로, 그리고 그 반대로 변환하며 스트리밍, 추론, 네이티브 도구 호출, 인라인 이미지를 지원합니다.
shunt login cursor로 한 번 로그인한 뒤 cursor:default, cursor-plan:default, cursor-ask:default 같은 cursor:* 모델 id를 라우팅하세요. 프로바이더는 기본으로 시드되므로 구성 테이블은 필요하지 않습니다.
전체 설정 — 로그인, 에이전트 모드, 와이어 모델 id, 어댑터 기능, 오버라이드 — 은 전용 Cursor 프로바이더 페이지를 참고하세요.
xai / grok 프로바이더 (Grok)
두 개의 내장 프로바이더가 xAI의 Grok 모델에 도달하며, 자격 증명으로 갈립니다: **grok**은
OAuth를 통해 사용자의 SuperGrok / X Premium+ 구독을 사용하고(shunt login xai, 토큰당 과금 없음),
**xai**는 측정된 개발자 API에 대해 XAI_API_KEY를 사용합니다. 구독 bearer와 API 키는 서로 교체할 수
없습니다 — 각각은 자신의 프로바이더에서만 동작합니다.
전체 설정 — 로그인, 두 프로바이더 블록, 모델 슬러그, 옵트인 노력 다이얼, 자격 관련 함정 — 은 전용 xAI / Grok 가이드를 참고하세요.
Anthropic 호환 백엔드 추가
대부분의 서드파티 “Claude Code를 X와 함께 쓰기” 게이트웨이는 Anthropic-Messages 호환입니다: kind = "anthropic"에 auth = "api_key"이며, base_url과 키 env 변수만 다릅니다. 바로 사용할 수 있는 base(각 프로바이더는 전체 설정을 설명하는 전용 페이지로 연결됨):
| 프로바이더 | base_url |
예시 모델 ID |
|---|---|---|
| Kimi (Moonshot) | https://api.moonshot.ai/anthropic |
kimi-k3[1m], kimi-k2.7-code |
| DeepSeek | https://api.deepseek.com/anthropic |
deepseek-v4-pro, deepseek-v4-flash |
| Z.ai (GLM) | https://api.z.ai/api/anthropic |
glm-5.2, glm-4.7 |
| MiniMax | https://api.minimax.io/anthropic |
MiniMax 문서 참고 |
| Mimo (Xiaomi) | https://api.xiaomimimo.com/anthropic |
mimo-v2.5-pro — Mimo 문서 참고 |
| OpenRouter | https://openrouter.ai/api |
anthropic/claude-opus-4.8 |
| Vercel AI Gateway | https://ai-gateway.vercel.sh |
anthropic/claude-opus-4.8(x_api_key를 받아들임) |
이 표에 없는 프로바이더의 경우 shunt add upstream <docs-url>은 프로바이더 자체 문서를 바탕으로 코딩 에이전트가 구성을 연결하도록 안내하는 리서치 블루프린트를 출력합니다(shunt add upstream https://docs.example.com --print | claude).
예를 들어, Kimi의 모델을 shunt를 통해 라우팅하려면:
[providers.kimi]
kind = "anthropic"
base_url = "https://api.moonshot.ai/anthropic"
auth = "api_key"
api_key_env = "MOONSHOT_API_KEY"
[[routes]]
model = "kimi-k3[1m]"
provider = "kimi"
[[routes]]
model = "kimi-k2.7-code"
provider = "kimi"그런 다음 export MOONSHOT_API_KEY=…를 실행하고, Claude Code를 shunt에 연결한 뒤, kimi-k3[1m]를 선택하세요(ANTHROPIC_CUSTOM_MODEL_OPTION 또는 ANTHROPIC_MODEL을 통해). shunt check를 실행하여 검증하세요 — 라우트의 알 수 없는 프로바이더, 누락된 api_key_env, 잘못된 base_url을 보고합니다.
모든 프로바이더 키(kind, auth, api_key_header, count_tokens 등)는 구성 레퍼런스에 문서화되어 있습니다.
서브에이전트 플러그인
pleaseai/shunt 마켓플레이스는 각 프로바이더의 모델에 고정된, 미리 만들어진 Claude Code 서브에이전트를 제공합니다 — 모델당 하나의 에이전트. 플러그인을 설치한 뒤, 모델을 @로 멘션하거나 CLAUDE_CODE_SUBAGENT_MODEL을 설정하세요. 각 에이전트의 model: 프론트매터는 그 서브에이전트만 우회시키며, 메인 세션은 Claude에 머뭅니다.
| 플러그인 | 모델 (에이전트당 하나) | 프로바이더 |
|---|---|---|
shunt-codex |
gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna |
codex (ChatGPT 구독) |
shunt-xai |
grok-build-0.1, grok-4.5, grok-4.3 |
xai (API 키) 또는 grok (구독) |
shunt-kimi |
kimi-k3[1m], kimi-k2.7-code |
kimi |
shunt-deepseek |
deepseek-v4-pro, deepseek-v4-flash |
deepseek |
shunt-zai |
glm-5.2, glm-4.7 |
zai |
shunt-minimax |
MiniMax-M3[1m] |
minimax |
shunt-mimo |
mimo-v2.5-pro |
mimo |
/plugin marketplace add pleaseai/shunt
/plugin install shunt-xai@shunt각 플러그인은 여전히 shunt.toml에서 해당 프로바이더가 라우팅되어야 하고(위 섹션 참고) 일치하는 자격 증명이 내보내져야 합니다 — 플러그인 자체의 README가 정확한 라우트와 env 변수를 나열합니다. grok 모델은 두 xAI 프로바이더 중 어느 쪽으로도 제공할 수 있습니다: xai(API 키, 토큰당 과금) 또는 grok(shunt login xai를 통한 SuperGrok / X Premium+ 구독; 티어로 게이트됨 — 403 시 xai로 폴백).