Claude Code Router チュートリアル:Claude Code を DeepSeek・Gemini など好きなモデルに接続する
オープンソースのルーター「Claude Code Router」は、Claude Code の使い勝手をそのままに、リクエスト先を安価なモデル — DeepSeek・Kimi・Gemini・ローカル Ollama — に切り替えられます。npm でインストールし、ccr ui コンソールでプロバイダーを設定、シナリオ別ルーティングを組んで、実際のタスクで動作確認。スクリーンショット付きの全 15 ステップで解説します。
要約:Claude Code Router でできること
- Claude Code Router(CCR)は無料のオープンソースプロキシです。Claude Code の UI・システムプロンプト・ツールはそのままに、モデル呼び出し先を DeepSeek、Kimi K2、Gemini、OpenRouter、ローカル Ollama など自由に設定できます。
- インストールは npm コマンド 1 発(npm install -g @musistudio/claude-code-router)。ccr ui のWebコンソールが ~/.claude-code-router/config.json を代わりに編集してくれるので、JSON を手書きする必要はありません。
- ルーティングはシナリオ別です。default(汎用)、background(バックグラウンド処理)、think(Plan Mode の推論)、longContext(6万トークン超で自動切り替え)、webSearch の各スロットに個別のモデルを割り当てられます。
- ccr code でルーティング付きセッションを開始(Base URL は http://127.0.0.1:3456 に切り替わります)。素の claude コマンドもこれまで通り動きます。既知のクセとして /cost は $0 のままなので、支出はプロバイダーのダッシュボードで確認しましょう。
Claude Code Router: Use Gemini 2.5 Pro FREE API in Claude Code
元動画:AI With Nathan10:52
claude-code-router — official README
製品情報:musistudio on GitHubDocs
手順とスクリーンショットは元動画に沿っています。config.json のフィールド名・ルーターのロール・transformer の挙動は公式 README と突き合わせて確認しました。
画像は元動画のクレジット付きスクリーンショットで、それぞれタイムスタンプにリンクしています。本文はオリジナルの執筆であり、字幕の転載ではありません。
Claude Code Router のセットアップ手順
ステップ 1 · Claude Code を安価なモデルへ向ける
- 1
まず、なぜルーターが必要か
Claude Code は Claude モデル専用で、料金は高めです。Opus 4.1 は入力 100 万トークンあたり 15 ドル、出力は 75 ドル。オープンソースの Claude Code Router(CCR)は Claude Code の体験を保ったまま、リクエスト先を DeepSeek・Kimi・Gemini・ローカル Ollama など好みのモデルに振り分けます。

切り替え前の Anthropic 公式料金表 — CCR が回避するのはこの請求です。0:30 から視聴 - 2
Claude Code を入れ、次にルーターを入れる
CCR は Claude Code がインストール済みであることを前提とします:npm install -g @anthropic-ai/claude-code。続いてルーターをインストール:npm install -g @musistudio/claude-code-router。プロバイダー設定は ~/.claude-code-router/config.json に保存されます。

公式 README の 2 つの npm インストール — ルーターが Claude Code を置き換えることはありません。3:36 から視聴 - 3
npm のグローバルインストールを完了させる
npm がルーターの依存関係を取得します(node-domexception の非推奨警告が出ても問題ありません)。完了すれば ccr コマンドがどこでも使えます。

@musistudio/claude-code-router のグローバルインストール中にパッケージを取得する npm。3:49 から視聴
ステップ 2 · ccr ui コンソールでプロバイダーを追加
- 4
ccr ui で設定コンソールを開く
JSON を手編集する代わりに ccr ui を実行します。ブラウザで 127.0.0.1:3456 が開き、左側でプロバイダーを管理、右側の Router セクションでシナリオ別にモデルを割り当て、その下に Custom Transformers が並びます。

ccr ui コンソールの初回起動 — プロバイダーは空で、ルーターのスロットが待機中。4:08 から視聴 - 5
テンプレートからプロバイダーを追加する
Add Provider をクリックしてテンプレートを選択 — 動画では OpenRouter を使用。deepseek・gemini・dashscope・modelscope・siliconflow・volcengine のプリセットも用意されています。テンプレートが API URL とデフォルトのモデルリストを自動入力し、transformer は空のままで構いません。

ccr ui のプロバイダーテンプレート — 選ぶだけで URL とモデルが自動入力されます。4:30 から視聴 - 6
API キーを貼り、モデルを選ぶ
本当に重要なのは 3 項目:API URL(自動入力済み)、シークレットキー、モデルリスト。動画では OpenRouter 配下に DeepSeek R1 と Kimi K2 を追加して保存。プロバイダーが左パネルに現れ、割り当て可能になります。

Edit Provider フォーム:URL・キー・モデル — 他はデフォルトのままで構いません。4:53 から視聴 - 7
API の差異は transformer に任せる
transformer はリクエストとレスポンスのペイロードを書き換え、サードパーティ API を Claude Code と互換させます。CCR には実用的なデフォルトが同梱 — 例えば api.deepseek.com 向けの deepseek transformer や deepseek-chat 向けの tooluse transformer — なので、自分で書くことはほとんどありません。

README のグローバル・モデル別 transformer の例。DeepSeek プリセットを含みます。3:54 から視聴 - 8
推論タスク用に無料の Gemini キーを追加する
Gemini テンプレートで 2 つ目のプロバイダーを追加し、Google AI Studio で無料の API キーを発行します(Get API key → Create API key)。貼り付けて保存 — まもなくこのプロバイダーを think・longContext・webSearch のスロットに割り当てます。

Google AI Studio で CCR 用の無料 Gemini API キーを発行する場面。5:45 から視聴
ステップ 3 · ルーティングルールを設定する
- 9
5 つのルーターロールを理解する
default は汎用タスク(未割り当てのタスクもこちら)。background はバックグラウンド処理で、小型・ローカルモデルでコスト削減。think は Plan Mode などの重い推論向け。longContext は longContextThreshold(既定 6 万トークン)を超えると自動で有効化され、webSearch は対応モデルが必要 — OpenRouter ではモデル名に :online を付けます。/model ならセッション途中でも切り替え可能。

README の Router オブジェクト:全ロール、6 万トークンのしきい値、:online サフィックス。1:06 から視聴 - 10
シナリオごとにモデルを割り当てる
Router セクションで保存済みプロバイダーのモデルから選びます。動画では default に DeepSeek R1、汎用に Kimi K2、longContext に Gemini 2.5 Pro(100 万トークン)、webSearch に高速な Gemini Flash を設定。完了したら右上の Save and Restart を押します。

保存済みプロバイダーから deepseek/deepseek-r1-0528 を Default スロットに設定。5:15 から視聴 - 11
ccr code でルーティング付きセッションを開始する
ターミナルに戻り ccr code を実行。Claude Code のウェルカム画面に Overrides (via env) — API Base URL http://127.0.0.1:3456 — と表示され、リクエストがルーター経由になっていることが分かります。素の claude コマンドはルーティングなしで通常どおり起動し、アンインストールも不要です。

ウェルカム画面の Overrides ブロック:通信が CCR のローカルプロキシを通過しています。6:45 から視聴
ステップ 4 · 実タスクを走らせて検証する
- 12
実際のコーディングタスクを与える
普段どおりプロンプトを書くだけ — 動画ではモダンなアニメーション付きネオン ブロック崩しを依頼しています。Claude Code が ToDo リストを計画し、ルーティング先のモデルで順に実行します。入力トークン数が 0 のままになるなど見た目上のクセはあります。

CCR がモデル呼び出しを中継する間、Claude Code が ToDo リストを消化していく様子。7:06 から視聴 - 13
完成した結果を確認する
エージェントは機能サマリー(視覚効果・レスポンシブ対応・操作・ゲームメカニクス)で締めくくり、ファイルはプロジェクト(index.html・style.css・script.js)に保存されます。HTML をブラウザで開けば自分でも動作を確認できます。

ネオン ブロック崩しについての Claude Code の完了サマリー。7:30 から視聴 - 14
プロバイダーのダッシュボードで実使用量を確認する
OpenRouter の Your Activity ページが真実の情報源です。ルーティングされた呼び出し — Kimi K2 の反復リクエストと DeepSeek の呼び出し — がトークン数・支出つきで表示されます。これで CCR が実際に安価なモデルを使っていることを確認できます。

セッション後の OpenRouter 使用状況:ルーティング先モデルに実際のリクエストが記録されています。7:45 から視聴 - 15
頼る前に、粗い部分も知っておく
ルーティング付きセッションで /cost を実行すると $0.0000 と表示され、モデル別使用量も claude-sonnet の 0 のまま — コスト計算はまだ外部プロバイダーに接続されていません。ルーティング自体は問題なく動くので、当面の支出はプロバイダーのダッシュボードで確認しましょう。

ルーティング付きセッションでの /cost の既知のズレ — 実際のメーターはプロバイダーのダッシュボードです。9:25 から視聴
