Source: https://aiprimetech.io/ja/blog/claude-code-router/ 2026年9月17日 · 8分 · オープンソース # Claude Code Router:Claude Codeを他のモデルで実行する方法(ゲートウェイのほうが簡単なケースも) A 著者 [AI Prime Tech](https://aiprimetech.io/ja/) · AI支援による執筆 Claude Code Router を使うと、プロバイダーの選択、プロトコル変換、ルーティングを処理するローカルゲートウェイを通じて、Claude Code を他のモデルに接続できます。このガイドでは、インストール、エージェントプロファイル、フォールバック、および2026年17月時点で v3.1.1で利用できる OpenCode Go 連携を説明します。また、ホスト型ゲートウェイによってローカルのセットアップ手順を減らせるのはどのような場合かも学べます。 ## Claude Code Router の機能 musistudio の Claude Code Router は、一般に CCR と略され、「コーディングエージェント向けのローカルモデルゲートウェイ兼コントロールプレーン」と説明されています。Claude Code や他のクライアントに安定したローカルエンドポイントを提供し、プロバイダー認証情報、ルーティングルール、再試行、順序付きフォールバック、リクエストログを備えています。 この [v3.1.1 README](https://raw.githubusercontent.com/musistudio/claude-code-router/v3.1.1/README.md) OpenAI Chat と Responses、Anthropic Messages、Gemini Generate Content と Interactions の形式への対応が記載されています。CCR を通じて Claude Code を他のモデルで実行できるのは、このプロトコル変換によるものです。 CCR は MIT ライセンスで提供され、musistudio の2025年の著作権表示があり、「現状のまま」で提供されます。ソフトウェアの使用許可によって、接続先での推論が無料になるわけではありません。プロバイダーの料金と利用枠は別途適用されます。過去のプロバイダー料金と OpenCode Go のドル建て利用枠は、本記事の公開日時点では確認されていません。 ### 対象となる Claude Code Router 3.1のリリース バージョン3.1.1は2026年16月にリリースされました。OpenCode Go のローカルインポートが正式にサポートされ、失敗したゲートウェイ試行を個別に確認できるようになり、ルーティングされたモデルの使用料金も修正されています。 このリリースでは、次の指定も受け付けます: --daemon 指定先: start と serve。また、Docker UI のログ本文ワーカーを修正し、macOS 向けの Apple Silicon 版と Intel 版、Windows インストーラー、Linux AppImage を提供しています。以下のセットアップでは、npm 配布版と v3.1.1に固定したドキュメントを使用します。 ## CCR をインストールして Claude Code を接続する npm 配布版には Node.js 22以降が必要です。 [バージョンを固定した CLI ガイド](https://raw.githubusercontent.com/musistudio/claude-code-router/v3.1.1/docs/src/content/docs/en/guides/cli.md) には、次のコマンドが記載されています: ``` npm install -g @musistudio/claude-code-router ccr --help ccr ui ``` ブラウザーを開かずに起動する場合: ``` ccr ui --no-open ``` 管理インターフェースとモデルゲートウェイには、それぞれ別の既定アドレスがあります: | 構成要素 | 既定アドレス | 用途 | 管理 UI | http://127.0.0.1:3458 | プロバイダー、プロファイル、ルーティングを設定 | モデルゲートウェイ | http://127.0.0.1:3456 | クライアントからのモデルリクエストを受信 これらの役割を明確に区別しておくと、接続がどこで失敗したかを確認する際に役立ちます。管理ページが正常に動作しているだけでは、モデルゲートウェイが設定を受け付けたことは確認できません。 ### プロバイダーとクライアントキーを追加する 次を開きます。 プロバイダー → プロバイダーを追加で、プリセットまたは次の項目を選択します: その他 / カスタム API エンドポイント。エンドポイントと API キーを入力します。CCR はプロトコルとモデルを検出します。 詳細設定 では、プロトコルを手動で選択できます。 使用するモデルは、 接続を確認 でプロバイダーをテストします。実際のリクエストを送信するため、トークンやプロバイダーのリクエスト利用枠の一部を消費する可能性があります。 次のキーを作成します: CCR クライアントキー 指定先: API キー で、モデルリクエスト用のキーを作成します。このキーは管理 UI/RPC トークンとは別のものです。クライアントアクセスと管理アクセスは、別々の設定項目として扱ってください。 ### Claude Code プロファイルを作成する 設定場所: エージェント設定で、次の対象用に有効なプロファイルを作成します: Claude Code。次のようなモデルを選択します: Provider/model。その後、保存します。「Claude Code - Work」という名前のプロファイルの場合は、次のコマンドで起動します: ``` ccr "Claude Code - Work" ``` デスクトップアプリで生成される起動コマンドでは、次を使用します: ccr-app。 [Claude Code プロファイルガイド](https://raw.githubusercontent.com/musistudio/claude-code-router/v3.1.1/docs/src/content/docs/en/configuration/agents/claude-code.md) では、適用範囲を次のように区別しています: - CCR からの起動時のみ は、CCR からの起動に設定を適用します。 - システムの既定 は、Claude Code を直接起動する場合にも適用されます。 プロファイルでは、Fable、Opus、Sonnet、Haiku のオーバーライドに対応しています。現在の選択を次で確認します: /model。その後、CCR の次の項目を確認します: リクエストログ で、ゲートウェイを通過するリクエストを確認できます。選択を計画する際は、次の資料を手元に置いてください: [Claude Code モデルガイド](/ja/claude-code/models/) 。モデルの選択を計画する際に参照できるようにしておきます。 ## ルーティング、再試行、フォールバックを設定する CCR のルーティングルールでは、次の項目を検査できます: request.header と request.body。また、次の項目を書き換えられます: request.body.model。これにより、エージェントプロファイルで選択したモデルに加え、受信リクエストに基づいてモデルの選択を制御できます。 フォールバック設定では、次を使用します: mode, models、および retryCount。モードは次のとおりです: off, retry、および model-chain. | 動作 | 対象となるレスポンス | 動作への影響 | 再試行 | 408、409、429、および 5xx | 対象となる失敗の後にリクエストを再試行 | フォールバック先 | すべての 4xx または 5xx | 別の設定済みモデルにリクエストを移せる | 待機時間の処理 | 正の値 Retry-Afterが存在する場合 | 指定された再試行の待機時間を使用 | 既定のバックオフ | 正の値の指定がない場合: Retry-After が適用される場合 | 最初は一秒で、試行ごとの上限は30秒 再試行の対象になる条件と、フォールバックの対象になる条件の違いは重要です。再試行の対象にならないレスポンスでも、フォールバック先への切り替えの対象になる場合があります。 ### 実際にリクエストを処理したモデルを確認する モデルチェーンによって、最終的にリクエストを処理するモデルが変わることがあります。CCR のログには最終的なプロバイダーとモデルが表示されるため、予期しない動作や使用量を確認する際は、これらのログを使用してください。 まず、プロバイダーとモデルを特定できるプロファイルから始めます。ルーティングルールとフォールバック先は意図を持って追加し、実際に動作させた後に最終的な接続先を確認してください。こうすることで、レスポンスやコストの傾向の変化を、ルーティング設定と結び付けやすくなります。 バージョン3.1.1では、失敗したゲートウェイ試行も個別に確認できます。これらの記録により、最終的に成功したレスポンスと、それに先行した試行を区別できます。 ## v3.1.1で OpenCode Go のインポートを使用する musistudio Claude Code Router v3.1.1のリリースでは、OpenCode Go のローカルインポートが正式にサポートされました。この連携では、Zen の識別子を次のように扱います: opencode。一方、Go の識別子は次のとおりです: opencode-go。認証情報と重複するモデル ID も含め、両者を分離して扱います。 インポーターは OpenCode の設定を読み取ります。加えて、 auth.jsonと、キャッシュされたモデルメタデータも読み取ります。 OPENCODE_API_KEY は両方のサービスに適用されます。 OPENCODE_GO_API_KEY はGo専用のオーバーライドを提供します。検出処理ではプロトコルでモデルを絞り込み、キャッシュされたメタデータをライブの /models 結果と照合します。 ### セッションヘッダーが重要な理由 この [OpenCode Go統合のPR](https://github.com/musistudio/claude-code-router/pull/1786) には、次の宛先へのリクエストについて記載されています。 https://opencode.ai/zen/go/v1 必要なのは x-opencode-sessionです。これがない場合、エンドポイントは次を返します。 400 MissingSessionID. CCRは、明示的な設定、明示的なクライアントヘッダー、Claudeのセッションヘッダー、 metadata.user_id、最後に安定したプロセス単位のフォールバック、という順序でセッション値を選択します。ヘッダーの挿入は公式のGoエンドポイントに限定されます。 このため、Goではエンドポイントと認証情報を入力するだけでは不十分な場合があります。セッション要件はプロバイダー統合の一部です。 ### 検出情報を更新し、使用量の上限を確認する Goのインポートが利用できない場合は、次を接続してください。 OpenCode Go をOpenCodeで接続し、ローカルのモデルキャッシュを更新してから、CCRで再スキャンしてください。 CCRは次の取得元から使用量を取得します。 GET https://opencode.ai/zen/go/v1/usage また、5時間、週次、月次の各期間について残りの割合を表示します。固定されたドキュメントには、ドル建ての利用枠は明記されていません。これらの値は、記載された各期間における残りの割合として解釈してください。金額ベースの残高を示すものではありません。 ## 接続を段階的にトラブルシューティングする CCRのトラブルシューティング資料では、ルーティングの迂回、認証失敗、モデルの欠落、想定外のモデル選択、コストの急増、タイムアウト、エージェントトレースの欠落を扱っています。有効な診断手順は、起動設定から最終的なプロバイダーまでリクエストを追跡することです。 ### Claude CodeがCCRを迂回する 意図したAgent Configプロファイルが有効になっており、そのプロファイル経由で起動したことを確認してください。プロファイルを次の値に設定すると、 CCR からの起動時のみ その設定はCCR経由の起動に限定されます。直接起動にも適用されるのは、次の値が システムの既定 選択されている場合です。 使用するモデルは、 /model とCCRのリクエストログを併せて使い、設定を確認してください。次の資料は、 [Claude Code CLIリファレンス](/ja/claude-code/cli/) クライアントを扱うための、より幅広いリファレンスです。 ### 認証エラーまたはモデルの欠落 401/403エラーが発生した場合は、関連する各レイヤーの認証情報を確認してください。プロバイダーのAPIキー、モデルリクエスト用のCCRクライアントキー、そして別個の管理トークンです。これらの認証情報はそれぞれ異なる役割を担います。 次の場合は、 model not found検出されたモデル、選択したプロトコル、プロファイルのプロバイダーとモデルの選択を確認してください。OpenCode Goでインポートが利用できない場合は、ローカルキャッシュを更新して再スキャンしてください。 ### 起動失敗とタイムアウト バージョン3.1.1では、ゲートウェイが設定を受け付けるまでの待機時間を5秒から30秒に延長しています。これにより、特にWindowsで、ホストに負荷がかかっていると管理UIは起動するもののゲートウェイが起動に失敗するケースに対応しています。 CCR_GATEWAY_CONFIG_TIMEOUT_MS はタイムアウトを上書きします。無効な値、または1,000ミリ秒未満の値の場合は、デフォルト値にフォールバックします。 設定の保存先は ~/.claude-code-router です(macOS/Linux)。Windowsでは %APPDATA%\claude-code-router です。関連ファイルには次のものがあります。 config.sqlite、生成された gateway.config.json、および service.json。サービスコマンドには次のものがあります。 ccr start, ccr stop、およびフォアグラウンドの ccr serve. ## ホスト型ゲートウェイのほうがシンプルな場合 CCRは、ローカルでのプロバイダー管理、リクエストに基づくルーティング、認証情報プール、明示的なフォールバックチェーンが必要なワークフローに適しています。差し当たりの目的がClaude Codeを上流サービスに接続することであれば、ホスト型ゲートウェイを使うことでローカルの設定手順を減らせる場合があります。 OpenRouterの [2026年8月4日の発表](https://openrouter.ai/blog/announcements/ori-harness/) には、次の接続設定が記載されています。 ``` ANTHROPIC_BASE_URL=https://openrouter.ai/api ANTHROPIC_AUTH_TOKEN= ANTHROPIC_API_KEY= ``` この発表では、モデルや機能に関する追加設定も指定されています。これらの変数は接続設定であり、すべてのモデルに対応する完全な設定ではありません。OpenRouterは、ほとんどのオープンモデルがツール検索をサポートしていないため、設定はモデルごとに異なると注意を促しています。 OpenRouterのOri CLIは、次の方法でセットアップを自動化します。 ``` ori login ori claude ``` 同じワークフローは、AnthropicやOpenAIとは提携していない独立したサービスであるAI Prime TechなどのAPIゲートウェイ経由でも実行できます。次のガイドをご覧ください。 [APIキーを使ったClaude Codeの利用](/ja/learn/claude-code-api-key-setup/). 必要な制御機能に基づいて選択してください。CCRでは、ルートの管理、試行の確認、フォールバックの設定をローカルで行えます。一方、文書化されているホスト型の方法では、CCRをローカルで運用する必要がなくなります。 ## 重要なポイント - Claude Code Routerは、プロトコル変換を備えた安定したローカルエンドポイントを介して、Claude Codeやその他のクライアントをプロバイダーに接続します。 - npm配布版にはNode.js 22以上が必要で、管理UIとモデルゲートウェイは別々のデフォルトポートを使用します。 - Agent Configのスコープによって、プロファイルがCCR経由の起動だけに適用されるか、直接起動にも適用されるかが決まります。 - フォールバックによって、リクエストを処理するモデルが変わることがあります。最終的なプロバイダーとモデルはリクエストログで確認してください。 - v3.1.1では、個別の認証情報と必須のセッションヘッダー処理を備えたOpenCode Goのインポートが追加されています。 - CCRのローカルルーティング制御が不要な場合は、ホスト型ゲートウェイを使うことでローカルの設定作業を減らせます。 ## よくある質問 ### Claude Code Routerは無料ですか? Claude Code RouterはMITライセンスで提供されており、ソフトウェアの使用が許可されています。ただし、上流サービスでの推論が無料であることを意味するものではありません。また、過去のプロバイダー料金やOpenCode Goのドル建て利用可能額は、ここでは検証していません。 ### CCR経由でClaude Codeを他のモデルと組み合わせて使えますか? はい。CCRはプロトコル変換とプロバイダー/モデルの選択を提供しており、Claude Code用のプロファイルでは、次のようなモデルを選択できます。 Provider/model。サポートされる上流形式には、OpenAI Chat/Responses、Anthropic Messages、Gemini Generate Content/Interactionsがあります。 ### Claude Code Router 3.1.1では何が変わりましたか? 2026年9月16日にリリースされたv3.1.1では、OpenCode Goのローカルインポートの正式サポート、失敗した各試行の表示、ルーティングされたモデルの使用料金の修正が追加されました。また、ゲートウェイが設定を受け付けるまでの待機時間を30秒に延長し、次を受け付けるようになりました。 --daemon 指定先: start と serve. ### OpenCode GoがMissingSessionIDを返すのはなぜですか? 公式のOpenCode Goエンドポイントには、次の x-opencode-session ヘッダーが必要で、次を返します。 400 MissingSessionID このヘッダーがない場合に返されます。CCRのGo統合は、定義された優先順位に従ってセッション値を選択し、公式のGoエンドポイントに対してのみヘッダーを挿入します。 [Claude](/ja/blog/tag/claude/)[コーディング](/ja/blog/tag/coding/)[オープンソース](/ja/blog/tag/open-source/) A [AI Prime Tech](https://aiprimetech.io/ja/) このブログはAI Prime Techが公開しています。記事の草稿はAIの支援を受けて作成されています。モデルID、料金、制限など、バージョンによって異なる詳細については、利用の判断に用いる前に公式ドキュメントで確認してください。 Claude APIをより低価格で利用 Claude Opus 5.5、Sonnet 5、Haiku 4.5、Fable 5.1に加え、GPT-6のモデルを、単一のAPIキーで利用できます。従量課金制で、サブスクリプションは不要です。 [APIキーを取得 →](/register) AI Prime Techは独立したサードパーティのAPIゲートウェイです。Claude™およびAnthropic®はAnthropic, PBCの商標です。提携や推奨を示唆するものではありません。