Codex で API 中継サービスを使う
~/.codex/config.toml でカスタムモデルプロバイダーを設定する方法。
3 分で読めます
Codex CLI は起動時に ~/.codex/config.toml を読み込みます。「モデルプロバイダー(model provider)」をカスタマイズすることで、OpenAI のインターフェースと互換性のある API 中継サービスに Codex を接続できます。
準備する情報
お使いの API プラットフォームから以下の情報を取得します:
- API アドレス(Base URL):プラットフォームが提供するインターフェースのルートアドレスで、通常は
/v1で終わります - API キー(Key):認証に使用するトークン
- モデル名:プラットフォームが対応していて、かつ利用する予定のモデル識別子
config.toml の設定
~/.codex/config.toml を編集し、カスタムプロバイダーを追加してデフォルトに設定します:
model = "your-model-name" # プラットフォームが対応するモデル名に置き換え
model_provider = "thirdparty" # カスタムプロバイダーの識別子、任意に設定可(openai/ollama/lmstudio は使わない)
[model_providers.thirdparty]
name = "Third-party API"
base_url = "https://example.com/v1" # プラットフォームが提供する API アドレスに置き換え
env_key = "THIRDPARTY_API_KEY" # キーを読み取る環境変数名
wire_api = "chat" # サードパーティの互換エンドポイントは通常 chat を使用
env_key で指定するのは「キーを格納する環境変数名」であり、キーそのものではありません。ターミナルで次のように環境変数をエクスポートしてください:
export THIRDPARTY_API_KEY="your-key"
よくある質問
- キーの検証に失敗する:プラットフォームのキーの接頭辞が OpenAI と異なるために拒否される場合は、該当プロバイダーの設定に
requires_openai_auth = falseを追加できます。 - プロトコルの選択:サードパーティの互換エンドポイントでは通常
wire_api = "chat"(/chat/completionsに対応)を使用します。 - キーを config.toml に書かない:
env_keyで環境変数を指定し、設定ファイルからキーが漏れるのを防ぎます。 - 一時的に切り替えるだけの場合:アドレスを一時的に変更したいだけであれば、環境変数
OPENAI_BASE_URLを設定することで、現在のセッションに限って上書きできます。