GetCheapAI

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 を設定することで、現在のセッションに限って上書きできます。

もっと詳しく