CC Switch の統一プロバイダーで Codex を設定する
このドキュメントについて
このドキュメントでは、CC Switch の統一プロバイダー(Universal Provider)機能を使って、OpenAI Codex のコマンドラインツールを指定した API ゲートウェイに接続し、設定を有効にする方法を説明します。
対象バージョン:CC Switch v3.16.x 以降。
情報源:CC Switch 公式リポジトリのユーザーマニュアルとソースコード。ソフトウェアの更新は速いため、製品の画面が本文の説明と異なる場合は、アプリ内の実際の表示が優先されます。
用語
| 用語 | 説明 |
|---|---|
| Codex | OpenAI が提供するコマンドラインの AI プログラミングアシスタントです。インストール後、ターミナルで codex コマンドを実行して起動します。 |
| CC Switch | Codex、Claude Code、Gemini CLI などのツールのサービスエンドポイントと認証情報を管理する、クロスプラットフォームのデスクトップ設定管理ツールです。CC Switch 自体は AI 機能を提供せず、設定ファイルの生成と切り替えのみを行います。 |
| プロバイダー(Provider) | モデルの推論機能を提供するサービスです。モデルベンダーの公式サービスの場合も、自前で構築した、または調達した API ゲートウェイの場合もあります。 |
| API Key | 認証に使うキー文字列です。通常は sk- で始まります。 |
| 統一プロバイダー(Universal Provider) | CC Switch の機能です。一つの設定を Claude Code、Codex、Gemini CLI の 3 つのツールへ同時に同期できます。複数の API プロトコルに同時対応するゲートウェイ(NewAPI など)に適しています。 |
| アプリ専用プロバイダー | 単一のツールにのみ作用するプロバイダー設定です。統一プロバイダーと対をなすものです。 |
始める前に
システム要件
| オペレーティングシステム | 最低バージョン | アーキテクチャ |
|---|---|---|
| Windows | Windows 10 | x64 |
| macOS | macOS 12 (Monterey) | Intel (x64) / Apple Silicon (arm64) |
| Linux | Ubuntu 22.04 / Debian 11 / Fedora 34 および同等バージョン | x64 / ARM64 |
このほか、Node.js 18 以降が必要です。インストール手順は「タスク 1」を参照してください。
事前に取得する情報
設定を始める前に、API サービスの提供者から次の 4 つの情報を取得してください。いずれか一つでも欠けていると、設定を完了できません。
| 項目 | 説明 | 例 |
|---|---|---|
| API アドレス(Base URL) | ゲートウェイのサービスアドレス | https://seedrouter.net |
| API Key | 認証キー | sk-xxxxxxxxxxxx |
| モデル名 | Codex 側で使用するモデル識別子 | gpt-5.6-sol |
| プロトコル対応状況 | ゲートウェイが OpenAI Responses プロトコルに対応しているか | 対応 / 非対応 |
要点:4番目の項目が、このドキュメントが適用されるかどうかを決めます。統一プロバイダーが Codex 向けに生成する設定では、通信プロトコルは wire_api = "responses" に固定されており、変更できません。ゲートウェイが Responses プロトコルに対応せず、Chat Completions プロトコルにのみ対応している場合は、統一プロバイダーを使用できません。「トラブルシューティング」のセクションにある方法 F に切り替えてください。
ターミナルを開く
このドキュメントでは、ターミナルでコマンドを実行する箇所が複数あります。ターミナルの開き方は次のとおりです。
- Windows:
Win + Rを押し、powershellと入力して、Enter キーを押します。 - macOS:
Command + スペースを押し、terminalと入力して、Enter キーを押します。 - Linux:ディストリビューションに付属するターミナルアプリケーションを使用します。
タスク 1:Node.js をインストールする
このタスクについて
Codex は、Node.js のパッケージマネージャーである npm で配布されます。CC Switch のワンクリックインストールを使う場合でも、先に Node.js の実行環境が必要です。
手順
Node.js 公式サイトにアクセスします。
LTS(長期サポート版)と表示されたインストーラーをダウンロードします。Current 版はダウンロードしないでください。
インストーラーを実行し、既定のオプションのままインストールを完了します。設定項目を変更する必要はありません。
Homebrew をインストール済みの macOS ユーザーは、ターミナルで
brew install nodeを実行することもできます。開いているターミナルウィンドウをすべて閉じ、新しいターミナルウィンドウを開き直します。
次のコマンドを順に実行して、インストールを確認します。
node --version npm --version
結果
2つのコマンドがいずれもバージョン番号を出力し(例:v22.14.0 と 10.9.2)、かつ Node.js のバージョンが v18 以上であれば、インストールは成功です。
注:「内部または外部コマンドではありません」または「command not found」と表示される場合、通常はターミナルウィンドウを開き直していないことが原因です。新しくインストールしたコマンドは、新しく開いたターミナルセッションでのみ有効になります。
タスク 2:CC Switch をインストールする
このタスクについて
CC Switch は無料のオープンソースソフトウェアで、次の2つのチャネルからのみ配布されます。
- 公式サイト:ccswitch.io
- GitHub リリースページ:farion1231/cc-switch Releases
警告:料金の支払い、チャージ、またはアカウントのログイン資格情報の提供を求める「CC Switch」のサイトやクライアントは、いずれも公式チャネルではありません。ダウンロードも使用もしないでください。
手順
Windows
GitHub のリリースページを開き、最新バージョンの項目の下にある Assets の領域で
CC-Switch-v3.16.x-Windows.msiを見つけます。ダウンロードし、インストーラーをダブルクリックして実行し、画面の指示に従ってインストールを完了します。
ダブルクリックしても何も反応しない場合、ファイルはシステムのセキュリティポリシーによってロックされています。ファイルを右クリックして プロパティ を選び、全般 タブ下部の セキュリティ 領域で ブロックの解除 にチェックを入れ、OK をクリックしたあと、再度実行します。
システムにインストールしない場合は、
CC-Switch-v3.16.x-Windows-Portable.zipのインストール不要版をダウンロードし、展開したあとCC-Switch.exeを直接実行することもできます。
macOS
次のいずれかの方法を使います。
方法1(Homebrew をインストール済みの場合に推奨):ターミナルで実行します。
brew install --cask cc-switch方法2:
CC-Switch-v3.16.x-macOS.dmgをダウンロードし、ダブルクリックで開いたあと、CC Switch のアイコンを「アプリケーション」フォルダにドラッグします。注:macOS 版は Apple のコード署名と公証を通過しているため、そのままインストールして開けます。「開発元を確認できないため開けません」という表示は出ず、隔離を解除する追加の操作も不要です。
Linux
ディストリビューションに応じて選択します。
Debian / Ubuntu:
.debパッケージをダウンロードしたあと、実行します。sudo dpkg -i CC-Switch-v3.16.x-Linux-*.deb sudo apt-get install -fArch Linux:
paru -S cc-switch-binその他のディストリビューション:
.AppImageをダウンロードし、chmod +xを実行して実行権限を付与したあと、直接実行します。
結果
CC Switch を起動すると、メインウィンドウが正常に表示され、システムトレイ領域(Windows では右下隅、macOS ではメニューバーの右側)に CC Switch のアイコンが表示されていれば、インストールは成功しています。
初回起動時に、既存の CLI ツール設定をインポートするよう求められた場合は、インポートを選択することをおすすめします。この操作では、現在の設定がデフォルトのプロバイダーとして保存され、設定が失われることはありません。
タスク 3:Codex をインストールする
このタスクについて
CC Switch の GUI からインストールすることも、コマンドラインからインストールすることもできます。初めて使う場合は方式 A をおすすめします。
手順
方式 A:CC Switch からインストールする(推奨)
CC Switch を起動します。
Settings > About の順に開きます。
Local Environment Check の領域で、Codex の行の状態を確認します。
未検出と表示されている場合は、その行の右側にある Install ボタンをクリックします。
インストールはバックグラウンドでサイレントに実行され、ボタン上に進捗が表示されます。完了すると、バージョン番号が自動的に更新されます。
注:以降のアップグレードも、この画面で行います。新しいバージョンを検出したときは、個別にアップグレードすることも、Upgrade All をクリックして一括処理することもできます。
方式 B:コマンドラインからインストールする
ターミナルを開きます。
次のコマンドを実行します。
npm install -g @openai/codexダウンロード速度が遅すぎる場合は、ミラーレジストリに切り替えることができます。
npm install -g @openai/codex --registry=https://registry.npmmirror.comミラーレジストリを長期的に使う場合は、先に次のコマンドを 1 回実行して、グローバルに設定できます。
npm config set registry https://registry.npmmirror.com
結果
ターミナルを閉じて開き直したあと、次のコマンドを実行します。
codex --versionバージョン番号が出力されれば、インストールは成功しています。
注:この時点では、プロバイダーの設定はまだ完了していません。codex を直接実行すると、有効な認証情報がないためエラーになります。これは想定どおりの動作です。設定はタスク 4 で完了します。
タスク 4:統一プロバイダーを作成する
このタスクについて
このタスクでは、CC Switch で統一プロバイダーの設定を 1 つ作成し、Codex のプロバイダー一覧に同期します。
手順
CC Switch を起動します。
上部のアプリ切り替えで Codex に切り替えます。
Claude または Gemini のパネルに切り替えても、統一プロバイダーの入口に入れます。この 3 つは同じ設定を共有します。
右上の + ボタンをクリックし、プロバイダー追加パネルを開きます。
パネル上部で Unified Provider タブを選択します。
制限:OpenCode、OpenClaw、Hermes、Claude Desktop の各パネルは統一プロバイダーに対応しておらず、これらのパネルではこのタブは表示されません。タブが表示されない場合は、先に Claude、Codex、または Gemini のパネルに切り替えてください。
Add Unified Provider をクリックします。
次の表に従って、フォームの項目を入力します。
項目 記入方法 Select Preset Type ゲートウェイが NewAPI の場合は NewAPI を選択します。それ以外の場合、または不明な場合は Custom Gateway を選択します。どちらの項目もまったく同じで、異なるのはデフォルト値だけです。 Name 任意の識別名です。例: NewAPI ゲートウェイ。この名前は Codex のプロバイダーカードに表示されます。API Address 事前に取得した Base URL を入力します。記入規則は、後述の「API アドレスの処理規則」を参照してください。 API Key 事前に取得したキーを入力します。右側の目のアイコンをクリックすると、平文表示に切り替えられます。 Official Website 任意です。入力すると、プロバイダーカードから直接移動できます。 Notes 任意です。キーの入手元や有効期限などを記録しておくことをおすすめします。 Enabled Apps Claude Code、OpenAI Codex、Gemini の 3 つのスイッチがあります。OpenAI Codex は必ずオンにします。このゲートウェイを他の 2 つのツールでも使う場合は、あわせてオンにできます。 Model Configuration > Codex > Model 事前に取得したモデル名を入力します。例: gpt-5.6-sol。Model Configuration > Codex > Reasoning Effort 推論の強度です。値は low、medium、highのいずれかです。特別な要件がなければhighを入力します。注:統合プロバイダーのフォームには「Get Models」ボタンはありません。モデル名は手動で入力する必要があり、大文字と小文字は区別されます。
Add をクリックします。
結果
画面には「Unified provider added and synced」と表示されます。この時点で CC Switch は、Codex のプロバイダー一覧に同じ名前のプロバイダーカードを1枚生成しています。ほかのアプリにチェックを入れていた場合は、対応する一覧にもカードが生成されます。
要点:同期は有効化ではありません。この時点では、設定はまだ Codex の実行時設定ファイルに書き込まれていないため、タスク 5 を続ける必要があります。
API アドレスの処理ルール
CC Switch は Codex の設定を生成するとき、入力された API アドレスを次のように処理します。
| 入力したアドレスの形式 | 処理結果 |
|---|---|
パスを含まないドメインのみ。例:https://seedrouter.net |
https://seedrouter.net/v1 に自動補完します |
すでに /v1 で終わっている。例:https://seedrouter.net/v1 |
そのまま使用します |
ほかのパスを含む。例:https://api.example.com/openai |
そのまま使用し、/v1 は補完しません |
判定基準は、処理後のアドレスに /responses を付けた結果が、ゲートウェイで実際に利用できるエンドポイントのパスになっていることです。入力する前に、サービス提供元へ完全なエンドポイントアドレスを確認し、上の表から逆算して入力内容を決めることを推奨します。アドレスが正しくない場合、リクエストは 404 を返します。
タスク 5:プロバイダーを有効化し、設定を反映する
このタスクについて
プロバイダーカードが生成されたあとは、手動で有効化する必要があります。有効化してはじめて、設定が Codex の設定ファイルに書き込まれます。Codex は設定のホットリロードに対応していないため、有効化したあとはターミナルを再起動する必要があります。
手順
プロバイダー追加パネルを閉じます。
上部のアプリ切り替えで Codex に切り替えます。
プロバイダー一覧で、タスク 4 で作成した同じ名前のカードを見つけます。
カード上の Enable ボタンをクリックします。
カードは青い枠で表示され、「Currently Enabled」ラベルが付きます。これは、設定が書き込まれたことを示します。
現在のターミナルウィンドウを完全に閉じ、その後、新しいターミナルウィンドウを開き直します。
要点:ここで指しているのは、ターミナルウィンドウ全体を閉じることです。codex プロセスを終了してから
codexコマンドを実行し直すことではありません。各ツールで設定が反映される方法の違いは、次のとおりです。ツール プロバイダー切り替え後の反映方法 Claude Code 直ちに反映され、ホットリロードに対応しています Gemini CLI 直ちに反映され、リクエストのたびに設定を読み直します Codex ターミナルを閉じて開き直す必要があります OpenCode / OpenClaw ターミナルを閉じて開き直す必要があります 新しいターミナルで次を実行します。
codex起動したら、テスト用の文を1つ入力します。たとえば「こんにちは。簡単に自己紹介してください」。
結果
モデルが正常に応答を返せば、設定は完了しており、Codex は指定したゲートウェイに接続されています。
参考:生成された設定ファイル
CC Switch は最小侵入の原則に従います。プロバイダーを有効化すると、設定は Codex 自身の設定ファイルに直接書き込まれます。CC Switch をアンインストールしても、Codex は引き続き正常に動作できます。
関係するファイルは次のとおりです。パス中の ~ は現在のユーザーディレクトリを表し、Windows では C:\Users\<ユーザー名>\、macOS と Linux では /Users/<ユーザー名>/ または /home/<ユーザー名>/ です。
~/.codex/auth.json — 認証情報を保存します:
{
"OPENAI_API_KEY": "<API Key>"
}~/.codex/config.toml — モデルとエンドポイントの設定を保存します:
model_provider = "cliproxyapi"
model = "gpt-5.6-sol"
model_reasoning_effort = "max"
sandbox_mode = "workspace-write"
model_context_window = 372000
model_auto_compact_token_limit = 334800
model_auto_compact_token_limit_scope = "total"
service_tier = "priority"
[model_providers.cliproxyapi]
name = "SeedRouter"
base_url = "https://seedrouter.net/v1"
wire_api = "responses"
requires_openai_auth = true
experimental_bearer_token = "sk-xxxxxxxxxx"CC Switch 自体のデータは ~/.cc-switch/ ディレクトリに保存されます。データベースファイルは cc-switch.db で、自動バックアップは backups/ サブディレクトリにあり、直近 10 件が保持されます。
メンテナンス
設定の変更
API Key、モデル名、またはサービスアドレスを変更する場合:
+ ボタンをクリックし、Unified Provider タブに切り替えます。
対象のカードにある編集アイコンをクリックします。
該当するフィールドを変更します。
編集モードでは、フォーム下部に Config JSON Preview 領域があり、同期前に各アプリへ書き込まれる実際の内容を確認できます。
Save and Sync をクリックします。
確認ダイアログで操作を確定します。この操作により、Claude、Codex、Gemini に関連付けられたプロバイダー設定が上書きされます。
ターミナルを閉じて、開き直します。
プロバイダーカードの操作説明
| 操作 | 説明 |
|---|---|
| Sync | 現在の設定を、関連付けられた各アプリへ手動で再送します。設定が一致しないときの修復に使います。 |
| Copy | 現在の設定をもとに複製を作成し、予備キーを設定しやすくします。 |
| Edit | 設定内容を変更します。 |
| Delete | Unified Provider を削除すると同時に、それが Claude、Codex、Gemini に生成した関連プロバイダーカードも削除します。 |
クイック切り替え
システムトレイの CC Switch アイコンを右クリックし、Codex サブメニューで対象のプロバイダー名を直接クリックすると切り替えられます。メイン画面を開く必要はありません。切り替え後も同様に、ターミナルの再起動が必要です。
トラブルシューティング
A. 401 または 403 の認証失敗が返される
| 考えられる原因 | 対処方法 |
|---|---|
| API Key のコピー時に、余分な空白または改行が含まれている | 選択範囲に注意して、コピーし直して貼り付けます |
| API Key の有効期限が切れている、または利用枠を使い切っている | サービス提供元にキーの状態を確認します |
| API Key と API アドレスが一致していない | 両者が同じサービスのものか確認します |
B. 404 が返される、またはインターフェースが存在しないと表示される
多くの場合、処理後の API アドレスが正しくありません。「タスク 4 > API アドレスの処理ルール」を参照して再確認し、サービス提供元に完全なインターフェースアドレスを確認してください。
C. 設定を変更しても何も変わらない
ターミナルを再起動していません。ターミナルウィンドウを完全に閉じてから、開き直してください。これは Codex の使用中に最も多い問題です。
D. 画面上部に環境変数の競合警告が表示される
システムに OPENAI_API_KEY などの環境変数があります。環境変数は設定ファイルより優先されるため、CC Switch が書き込んだ設定を上書きし、リクエストが誤ったエンドポイントへ送られるか、誤ったキーが使われます。
手順:
- 警告バナーの Expand をクリックし、競合している変数の名前、値、出所を確認します。
- 削除する変数にチェックを入れるか、Select All をクリックします。
- Delete Selected をクリックして確定します。
CC Switch は削除前に ~/.cc-switch/env-backups/ へ自動でバックアップします。復元する場合は、このディレクトリ内の JSON ファイルから手動で戻せます。
E. ターミナルに codex コマンドが存在しないと表示される
| 考えられる原因 | 対処方法 |
|---|---|
| インストール後にターミナルを開き直していない | すべてのターミナルウィンドウを閉じてから開き直します |
| Node.js が正しくインストールされていない | タスク 1 に戻り、npm --version が正常に出力されるか確認します |
| npm のグローバルディレクトリが PATH に追加されていない | CC Switch の Settings > About > Local Environment Check から再インストールします |
F. ゲートウェイが Chat Completions プロトコルのみに対応している
Unified Provider の通信プロトコルは Responses に固定されており、この場合には適用できません。アプリ専用のプロバイダーに切り替える必要があります。
- CC Switch で Codex パネルに切り替え、+ ボタンをクリックします。
- 左側の Codex Provider タブのままにし、Unified Provider には切り替えないでください。
- プリセットのドロップダウンから、対応するサービスプロバイダーを選択します。DeepSeek、智谱 GLM、Kimi、MiniMax、StepFun、百炼、ModelScope、硅基流动、豆包 Seed、小米 MiMo、Novita AI などは、いずれも Chat Completions 系のプリセットです。
- この種類のプリセットを選択すると、CC Switch は「Require Local Route Mapping」スイッチを自動でオンにし、モデルマッピング表を設定します。プロトコル変換はローカルプロキシが行うため、手動で設定する必要はありません。
- API Key を入力し、Add をクリックしてから、そのプロバイダーを有効にしてターミナルを再起動します。
G. 公式アカウントでのログインに戻す必要がある
- Codex パネルで「OpenAI Official」プリセットのプロバイダーを追加します。
- そのプロバイダーを有効にして、ターミナルを再起動します。
- Codex 自身のログイン手順に従って、認証を完了します。
完了後は、公式ログインとサードパーティのプロバイダーを自由に切り替えられます。
選定の参考:統一プロバイダーとアプリ専用プロバイダー
| 利用シーン | 推奨案 |
|---|---|
| 単一のゲートウェイで Claude Code、Codex、Gemini CLI を同時に利用し、かつ Responses プロトコルに対応している場合 | 統一プロバイダー |
| Codex のみを使用する場合 | どちらでも可能です。アプリ専用プロバイダーのほうが、設定手順は短くなります |
| ゲートウェイが Chat Completions プロトコルのみに対応している場合 | アプリ専用プロバイダーを、組み込みプリセットと併用する |
| 各ツールを別々のサービス提供者に接続する場合 | アプリ専用プロバイダーを、それぞれ設定する |
| OpenCode、OpenClaw または Hermes を設定する必要がある場合 | アプリ専用プロバイダー。この 3 つのツールは統一プロバイダーに対応していません |
セキュリティ上の注意
- API Key は、アカウントの認証情報と同等の機密性を持ちます。インスタントメッセンジャーで渡したり、スクリーンショットで共有したり、コードリポジトリにコミットしたりしないでください。
- CC Switch のインストールパッケージは、CC Switch 公式サイトまたは公式 GitHub リポジトリからのみ入手してください。
- 端末を変更したとき、またはキーの漏洩が疑われるときは、直ちにキーを交換してください。
- CC Switch の設定エクスポート機能は、すべてのプロバイダー情報を平文で
.sqlバックアップファイルに書き込みます。エクスポートしたファイルは適切に保管し、共有ディレクトリには置かないでください。
クイックリファレンス
1. Node.js をインストール nodejs.org で LTS バージョンを選択
2. CC Switch をインストール ccswitch.io または GitHub Releases
3. Codex をインストール CC Switch > Settings > About > Local Environment Check > Install
4. 統一プロバイダーを作成 Codex パネルに切り替え > + > Unified Provider > Add Unified Provider
名前、API アドレス、API Key を入力
OpenAI Codex のスイッチをオンにし、モデル名を入力
5. プロバイダーを有効にする Codex パネル > 対象のカード > Enable
6. ターミナルを再起動 ターミナルウィンドウを完全に閉じてから開き直す
7. 検証 codex コマンドを実行し、テストメッセージを送信
問題をフィードバックする際は、エラー情報全体のスクリーンショットと、手順 4 で入力した API アドレス(キー部分はマスキングが必要です)を併せてご提供ください。切り分けの期間を短くするためです。