対象バージョン: CC Switch 3.16.0 以降。本記事はリポジトリのドキュメントとコードを元に構成されており、DeepSeek を OpenAI Chat Completions 互換インターフェースの一例として使用しています。スクリーンショットは現在のフロントエンドインターフェースからのもので、実際の API キーやアカウント残高が漏洩しないよう、匿名化されたサンプルデータを用いて生成しています。
ローカルルーティングが必要な理由
新しいバージョンの Codex CLI は OpenAI Responses API に対応していますが、DeepSeek、Kimi、MiniMax、SiliconFlow などの多くのプロバイダーは実際には OpenAI Chat Completions 形式(/chat/completions)を公開しています。これら 2 つのプロトコルは、リクエストボディ、ストリーミングイベント、返却構造が異なります。Chat インターフェースをそのまま Codex の設定に記入すると、モデル一覧が正しく表示されなかったり、404/400 エラーが発生したり、ストリーミングレスポンスを Codex が正しく解析できないことがよくあります。
CC Switch のアプローチは、Codex が常にローカルルートに接続し、リクエストを Responses API 経由で送信するようにすることです。ルートは内部で現在のプロバイダーが Chat 形式かどうかを識別し、リクエストを Chat Completions に書き換えてアップストリームに送信し、最後に Chat レスポンスを Responses 形式に変換して Codex に返します。

このチェーンは主に 4 つのステップに分かれています:
- Codex が引き継ぐ際、ローカル設定は
http://127.0.0.1:15721/v1として書き込まれ、wire_api = "responses"が強制されます。 - Provider の
meta.apiFormat = "openai_chat"がルートに「実際のアップストリームは Chat Completions です」と伝えます。 - ルートは
/responsesまたは/v1/responsesを/chat/completionsに書き換え、Responses リクエストボディを Chat リクエストボディに変換します。 - アップストリームからの応答後、ルートは Chat JSON または SSE を、Codex が理解できる Responses JSON/SSE に変換します。
準備
まず以下の 3 つを用意する必要があります:
- CC Switch がインストールされ、起動可能であること。
- Codex CLI がインストールされ、少なくとも 1 回実行され、
~/.codex/config.tomlディレクトリ構造が存在すること。 - DeepSeek または同様の Chat Completions プロバイダーの API キー。
DeepSeek の公式ドキュメントによると、OpenAI 互換のベース URL は https://api.deepseek.com です(他のプロバイダーは /v1 サフィックス付きのベース URL を使用することが多い)。Chat API パスは /chat/completions です。CC Switch の DeepSeek プリセットには既にこの情報が設定されているため、手動でインターフェースパスを組み立てるよりも、プリセットを優先的に使用してください。
ステップ 1: Codex Provider の追加
CC Switch を開き、上部の Codex タブに切り替え、右上のプラス記号をクリックしてプロバイダーを追加します。
組み込みプリセットから DeepSeek を選択します。必要な操作は次の 2 つだけです:
- DeepSeek API キーを入力する。
- プロバイダーを保存する。

プリセットには、DeepSeek のリクエストアドレス、デフォルトモデル、モデルメニュー、思考・推論パラメータがすでに含まれており、「ローカルルーティングマッピングが必要」が自動的にオンになります。必要に応じてデフォルトモデルやモデル表示名を調整できます。プロトコル変換はルーティング層で処理されます。
ステップ 2: ローカルルーティングを有効にして Codex を引き継ぐ
設定の「ルーティング」ページに移動し、「ローカルルーティング」を展開して、2 つのトグルを完了します:
- 「メインルーティングスイッチ」をオンにしてローカルサービスを開始します。デフォルトアドレスは
127.0.0.1:15721です。 - 「ルーティング有効化」で Codex をオンにします。Codex のみをルート経由にしたい場合は、Claude と Gemini はオフのままにしておいてかまいません。

引き継ぎ後、CC Switch は Codex のライブ設定をローカルルートに向け、認証をプレースホルダーで管理します。実際の DeepSeek キーは CC Switch Provider 設定に保存されたままで、転送時にローカルルートによって注入されるため、キーを Codex のライブ設定に公開する必要はありません。
ステップ 3: プロバイダーを切り替えて Codex を再起動
Codex プロバイダー一覧に戻り、DeepSeek プロバイダーの「有効」をクリックします。「ルートが必要」タグが表示されている場合、このプロバイダーはルートが実行中である必要があることを意味します。ルートが開始されていない場合、CC Switch は「通常の使用にはルーティングサービスが必要です」というポップアップを表示します。
切り替え後、現在の Codex ターミナルセッションを再起動することを推奨します。理由は:
- Codex プロセスが古い
config.tomlを既に読み込んでいる可能性があるため。 modelcatalogjsonが生成された後、/modelメニューは通常、新しいプロセスでリフレッシュする必要があるため。
Codex に入ったら、/model を使用して現在のモデルが DeepSeek プリセットのもの(例: DeepSeek V4 Flash)かどうかを確認できます。現在、Codex アプリはカスタムの複数モデル選択をサポートしておらず、設定の最初のモデルがデフォルトで使用されます。
他の Chat プロバイダーの扱い方
DeepSeek、Kimi、MiniMax、SiliconFlow などの一般的な Chat 形式プロバイダーは、CC Switch にプリセットが既に用意されています。優先的にこれらを使用してください。プリセットにないプロバイダーの場合のみ、カスタム設定を選択する必要があります。その場合は、各プロバイダーのドキュメントに従って API キー、ベース URL、モデルを入力し、API 形式を「OpenAI Chat Completions(ルーティングが必要)」に設定します。
アップストリームが直接 OpenAI Responses API をサポートしている場合は、「ローカルルーティングマッピングが必要」をオンにする必要はありません。この場合、CC Switch は Chat 変換なしで Responses 経由で直接接続できます。
FAQ
Codex が 404 エラーを報告する、または /responses が見つからない
通常、これは Codex の引き継ぎが有効になっていないか、アップストリームの Chat ベース URL を直接 Codex に手動で書き込んだことが原因です。~/.codex/config.toml が http://127.0.0.1:15721/v1 を指しているか確認してください。
DeepSeek アップストリームが 404 を報告する
組み込みの DeepSeek プリセットを使用している場合、まず現在のプロバイダーが確かにプリセットからのものであり、Codex ルーティングが有効であることを確認してください。カスタムプロバイダーを使用している場合のみ、ベース URL を再確認する必要があります。ベース URL はサービスのルートアドレスであり、/chat/completions を含む完全なインターフェースパスではありません。
/model に DeepSeek モデルが表示されない
プロバイダーを保存した後、Codex を再起動してください。CC Switch は cc-switch-model-catalog.json を生成し、そのパスを modelcatalogjson に書き込みますが、実行中の Codex プロセスはモデルディレクトリをホットロードしない場合があります。
現在、Codex アプリは複数モデル選択をサポートしておらず、最初のモデルがデフォルトになります。
ルートはオンだが、リクエストが間違ったプロバイダーに送られる
次の 3 つの状態が一致していることを確認してください: Codex タブの現在のプロバイダーが DeepSeek であること、ローカルルーティングサービスが実行中であること、「ルーティング有効化」の Codex スイッチがオンであること。
ローカルルーティングを通じて公式の OpenAI Codex アカウントを使用できますか?
推奨しません。CC Switch はローカルルーティング引き継ぎモードでの公式プロバイダーへの切り替えを防止します。プロキシを使用して公式 API にアクセスすると、アカウントリスクが生じる可能性があるためです。ルーティングは主にサードパーティ、集約、またはプロトコル変換のシナリオを対象としています。





