プロバイダーは名前 → 設定のマップです。新しい上流は [providers.<name>] テーブルをもう 1 つ書くだけ — コード変更は不要です。3 種類のアダプターですべてをカバーします。
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プロバイダーが使用します。
組み込みプロバイダー
| 名前 | Kind | 認証 | バックエンド |
|---|---|---|---|
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 は authentication_error を返し、codex login を実行するよう伝えます。
認証ファイルの扱い、モデル選択、エフォート、コンテキストサイズを含む完全なセットアップについては、専用の 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)
2 つの組み込みプロバイダーが xAI の Grok モデルにアクセスします。認証情報で分かれます。grok は
OAuth 経由であなたの SuperGrok / X Premium+ サブスクリプションを消費し(shunt login xai、トークン単位の課金なし)、一方 xai は従量制の開発者 API に対して XAI_API_KEY を使います。サブスクリプションの bearer と API キーは互換ではありません — それぞれ自身のプロバイダーに対してのみ機能します。
ログイン、両方のプロバイダーブロック、モデルスラッグ、オプトインのエフォートダイヤル、entitlement の落とし穴を含む完全なセットアップについては、専用の xAI / Grok ガイドを参照してください。
Anthropic 互換バックエンドを追加する
「Claude Code を X で使う」系のサードパーティゲートウェイのほとんどは Anthropic Messages 互換です。auth = "api_key" を伴う kind = "anthropic" で、違いは base_url とキーの環境変数だけです。すぐ使えるベース URL(各プロバイダーから、完全なセットアップを説明する専用ページへ移動できます):
| プロバイダー | 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 docs を参照 |
| Mimo (Xiaomi) | https://api.xiaomimimo.com/anthropic |
mimo-v2.5-pro — Mimo docs を参照 |
| 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、…)は Configuration Reference に記載されています。
サブエージェントプラグイン
pleaseai/shunt マーケットプレイスは、各プロバイダーのモデルに固定された既製の Claude Code サブエージェントを出荷しています — モデルごとに 1 つのエージェントです。プラグインをインストールし、モデルを @ メンションするか CLAUDE_CODE_SUBAGENT_MODEL を設定します。各エージェントの model: フロントマターはそのサブエージェントだけを迂回させ、メインセッションは Claude のまま残ります。
| プラグイン | モデル(各 1 エージェント) | プロバイダー |
|---|---|---|
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 に正確なルートと環境変数が記載されています。grok モデルはどちらの xAI プロバイダーでも提供できます: xai(API キー、トークン単位で課金)または grok(shunt login xai 経由の SuperGrok / X Premium+ サブスクリプション。ティアでゲートされます — 403 の場合は xai にフォールバック)。