Codexをあらゆるオープンソースモデルで活用する方法 (OSSモード)

OpenAI Codex内でオープンソースモデルを実行。OSSモード完全ガイド:OllamaとLM Studioのセットアップ、DeepSeekとQwen向けのカスタムプロバイダー設定、およびトレードオフ。

Ashley Innocent

Ashley Innocent

19 8月 2026

Codexをあらゆるオープンソースモデルで活用する方法 (OSSモード)

Apidog エンタープライズ

オンプレミスデプロイ

SSO & RBAC

SOC 2 準拠

Apidog Enterpriseを見る

CodexはデフォルトでOpenAIモデルを搭載していますが、それらに限定されるわけではありません。CLIには、OllamaやLM Studioのようなローカルランタイム用の組み込みOSSモードと、TOMLファイルで定義した任意の互換性のあるエンドポイントにエージェントを接続するカスタムプロバイダーシステムが備わっています。つまり、ノートパソコンでgpt-ossを実行したり、ホストされたDeepSeekまたはQwen APIでCodexを駆動したり、プロジェクトごとにプロバイダーを切り替えたりすることができます。

このガイドでは、OSSモードとは何か、正確な設定キー、モデルごとのレシピ、そしてOpenAIモデルを交換する際に受け入れるトレードオフなど、全体的なセットアップについて解説します。ここにあるすべての情報は、公式のCodex高度設定ドキュメントに基づいています。ドキュメントがあいまいな場合は、推測せずにその旨を明記しています。

始める前に一点注意です。Codex内でモデルが実行されても、モデルはワークフローの半分に過ぎません。もう半分は、エージェントが構築・呼び出すAPIの検証です。そこでApidogが役立ち、このガイドの後半でその連携について説明します。

TL;DR

Codex OSSモードはCLI機能です。codex --ossを実行すると、CodexはOpenAIではなくローカルのOllamaまたはLM Studioサーバーと通信します。~/.codex/config.tomloss_provider = "ollama"を設定するとそれがデフォルトになり、-m <model>を渡して実行するローカルモデルを選択します。ホストされたオープンソースモデル(DeepSeek、Qwen、GLMのAPI経由)の場合、base_urlenv_keyを持つ[model_providers.<id>]ブロックを定義し、model_providerで選択します。注意点として、現在の設定リファレンスではresponsesが唯一サポートされているwire_api値として挙げられているため、エンドポイントはResponses APIプロトコルに対応している必要があります。

OSSモードとは

OSSモードは、ローカルのオープンソースモデルサーバーに対してCodexを実行するためのショートカットです。ドキュメントには、2つのサポートされているローカルプロバイダーが記載されています。

--ossフラグで有効にします。Codex開発者コマンドリファレンスより:

--oss: ローカルのオープンソースモデルプロバイダーを使用します。Codexは--local-provider、設定済みのoss_providerを使用するか、LM StudioとOllamaのどちらかを選択するように促します。

--local-providerというコンパニオンフラグがあり、lmstudioまたはollamaを受け取り、1回の実行についてデフォルトを上書きします。フラグも設定デフォルトも設定しない場合、対話型CLIが選択を促します。非対話型codex execはプロンプトを表示せず、エラーで終了します。したがって、スクリプトやCIでは常にプロバイダーを明示的に設定してください。

表面的な正直な注記:ドキュメントは、CLIのconfig.tomlシステムの下でOSSモードとカスタムプロバイダーをカバーしています。IDE拡張機能とCodexクラウドがローカルプロバイダーをサポートしているとは、設定ドキュメントのどこにも記載されていません。[検証:Codex IDE拡張機能がCLIと同様にconfig.tomlからmodel_providersを読み取るかどうか。ドキュメントにはどちらの言及もありません。] OpenAIが別途ドキュメント化するまでは、これをCLIワークフローとして扱ってください。

なぜCodex内でオープンソースモデルを実行するのか

CodexがOpenAI独自のエージェントであるため、当然の疑問です。いくつか現実的な理由があります。

設定の場所

CodexはCODEX_HOME(デフォルトは~/.codex)の下に状態を保存します。ユーザーレベルの設定は~/.codex/config.tomlで、リポジトリは.codex/config.tomlにプロジェクトレベルのオーバーライドを持つことができます。以下のすべては、これら2つのファイルのいずれかに記述されます。

クイックスタート:OllamaでCodexを使用する

Codexでオープンソースモデルを最も速く利用する方法はOllamaです。

  1. ollama.comからOllamaをインストールし、起動します。Ollamaはポート11434でOpenAI互換APIを提供します。
  2. モデルをプルします。OpenAI独自のオープンウェイトリリースが自然な最初の選択肢です。gpt-ossライブラリページには20bと120bのバリアントがあります。Ollamaを使ってgpt-ossを実行する方法でスタンドアロンのセットアップについて説明しました。
ollama pull gpt-oss:20b
  1. CodexをOSSモードで実行し、モデル名を指定します。
codex --oss -m gpt-oss:20b

-m/--modelフラグは設定されたモデルを上書きし、--ossと組み合わせることで実行するローカルモデルを選択します。非対話型で使用する場合:

codex exec --oss --local-provider ollama -m gpt-oss:20b "add input validation to the signup route"
  1. フラグを省略できるようにデフォルトに設定します。~/.codex/config.tomlに以下を記述します。
# `--oss`で使用されるデフォルトのローカルプロバイダー
oss_provider = "ollama" # または "lmstudio"

これがローカルモデルの機能のすべてです。APIキーもカスタムプロバイダーブロックも不要です。LM Studioも同様に機能します。アプリにモデルをロードし、そのローカルサーバーを起動し、codex --oss --local-provider lmstudioを実行します。サーバーのセットアップについてはlmstudio.aiを参照してください。

カスタムプロバイダー:Codexを任意の互換性のあるエンドポイントに接続する

OSSモードはOllamaとLM Studioをカバーしています。DeepSeekやQwenのホストされたAPI、プロキシ、LAN上のvLLMサーバーなど、その他すべてについては、Codexにはカスタムモデルプロバイダーがあります。ドキュメントでは、プロバイダーを「Codexがモデルに接続する方法(ベースURL、ワイヤーAPI、認証、およびオプションのHTTPヘッダー)」と定義しています。

公式ドキュメントのパターン:

model = "gpt-5.6-terra"
model_provider = "proxy"

[model_providers.proxy]
name = "OpenAI using LLM proxy"
base_url = "http://proxy.example.com"
env_key = "OPENAI_API_KEY"

[model_providers.local_ollama]
name = "Ollama"
base_url = "http://localhost:11434/v1"

[model_providers.mistral]
name = "Mistral"
base_url = "https://api.mistral.ai/v1"
env_key = "MISTRAL_API_KEY"

重要なキーは次のとおりです。

キー 機能
model_provider Codexが使用するプロバイダーID (デフォルト: openai)
model そのプロバイダーに送信されるモデル名
name プロバイダーの表示名
base_url APIベースURL
env_key APIキーを保持する環境変数
wire_api プロバイダーが使用するプロトコル
query_params リクエストに追加される追加のクエリパラメーター
http_headers / env_http_headers 静的ヘッダー、または環境変数から埋められるヘッダー

プロバイダーごとのネットワークチューニングも利用可能です。request_max_retries (デフォルト4)、stream_max_retries (デフォルト5)、およびstream_idle_timeout_ms (デフォルト300000)です。遅いローカルハードウェアは、アイドルタイムアウトを長くすることで恩恵を受けます。なぜなら、ノートパソコン上の120bモデルは、トークン間でしばらく静かに待機することがあるからです。

ドキュメントが直接指摘している2つのルールがあります。まず、IDのopenaiollamalmstudioは予約されており、組み込みプロバイダーを上書きすることはできません。組み込みのOpenAIプロバイダーのベースURLを変更するには、[model_providers.openai]を作成する代わりにopenai_base_urlを設定します。次に、これがすべてを形作るのですが、設定リファレンスには、wire_apiについて「responsesが唯一サポートされている値であり、省略された場合のデフォルトです」と記載されています。

これは厳しい制約です。以前のCodexバージョンでは、Chat Completionsエンドポイントにwire_api = "chat"を受け入れていましたが、モデル概要ページには、Codexを「Chat CompletionsまたはResponses API」をサポートするプロバイダーに接続できるとまだ記載されています。リファレンスと概要が矛盾しています。[検証:現在のCLIリリースでwire_api = "chat"がまだ機能するかどうか。設定リファレンスはresponsesのみと述べていますが、モデルページはチャットも機能すると示唆しています。公開前にチャットのみのエンドポイントでテストしてください。] もしresponsesのみという制約が残るなら、プロバイダーはResponses APIエンドポイントが必要であり、ほとんどのOpenAI互換サーバーは現在これを公開していますが、一部のホストされたAPIはまだ公開していません。

モデルごとのレシピ

以下の各レシピは、設定ブロックと実行コマンドです。起動前にAPIキーの環境変数を設定してください。

DeepSeek (ホストされたAPI)

DeepSeekは、Codexのワイヤープロトコルがまさに求めるResponses APIのサポートを、V4 Flashベータ版と共に追加しました。この展開については、DeepSeek V4 Flash、Responses API、およびCodexで取り上げました。

model = "deepseek-chat"
model_provider = "deepseek"

[model_providers.deepseek]
name = "DeepSeek"
base_url = "https://api.deepseek.com"
env_key = "DEEPSEEK_API_KEY"
export DEEPSEEK_API_KEY="sk-..."
codex

現在のモデルIDについてはDeepSeek APIドキュメントを確認してください。[検証:DeepSeekがResponsesプロトコルアクセス用にドキュメント化している正確なbase_urlパス。/v1チャットパスとは異なる場合があります。]

Qwen (Model Studio経由でホスト)

AlibabaのModel Studio (DashScope)は、Qwen 3.8ファミリー向けにOpenAI互換モードを公開しています。この互換モードエンドポイントは、これまでChat Completions形式でした。[検証:DashScopeの互換モードが現在Responsesプロトコルを提供しているかどうか。提供していない場合、このレシピは上記のwire_api = "chat"の質問に依存します。]

model = "qwen3.8-max"
model_provider = "qwen"

[model_providers.qwen]
name = "Model Studio経由のQwen"
base_url = "https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
env_key = "DASHSCOPE_API_KEY"

Qwen 3.8 APIガイドでは、ホストされたルートのキー、モデルID、料金について説明しています。

Kimi、GLM、その他のオープンウェイト (Ollama経由でローカル)

Ollamaにプルできるものはすべて、プロバイダーブロックなしで通常のOSSモードで動作します。

ollama pull <model>
codex --oss -m <model>

これにはGLMとQwenのオープンウェイトが含まれ、さらにハードウェアが耐えられるならKimi K3も含まれます(K3のウェイトはMXFP4で594 GBなので、ほとんどの人は試す前にローカルでKimi K3を実行するを読んでください)。中規模のマシンでは、gpt-oss:20bまたは量子化されたQwenコーダービルドが現実的な選択肢です。

セルフホスト型vLLMまたはLANサーバー

別のマシン上のvLLMまたは同様のOpenAI互換サーバーは、OSSモードではなくカスタムプロバイダーです。

model_provider = "lan_vllm"

[model_providers.lan_vllm]
name = "ワークステーション上のvLLM"
base_url = "http://192.168.1.50:8000/v1"
env_key = "VLLM_API_KEY"

プロファイル:タスクごとに頭脳を切り替える

一つの設定を選ぶ必要はありません。Codexプロファイルは、~/.codex/<profile-name>.config.tomlにある別のTOMLファイルで、--profileを渡すとベース設定の上に重ねて適用されます。ローカルモデルプロファイルは次のようになります。

# ~/.codex/oss-local.config.toml
oss_provider = "ollama"
model = "gpt-oss:20b"
codex --profile oss-local
codex exec --profile oss-local "write unit tests for utils/dates.ts"

難しいリファクタリングにはデフォルト設定をOpenAIモデルに保ち、リンターの修正、テストのスキャフォールディング、ドキュメントのパスには--profile oss-localを立ち上げてください。一時的なオーバーライドはプロファイルなしでも機能します:codex -c model='"deepseek-chat"' -c model_provider='"deepseek"'

OpenAIモデルに対するトレードオフ

何をトレードオフしているのか、正直に認識しましょう。

実用的な使い分け:高頻度でリスクの低い作業にはローカルまたは安価なホストモデル、失敗した場合に午後の時間を失うようなタスクにはフロンティアモデルを使用します。

エージェントが触れるAPIを検証する

Codex内でどのモデルが実行されても、出力は通常、APIを呼び出すか定義するコードであり、オープンソースモデルはフロンティアモデルよりも頻繁にエンドポイントとスキーマを幻覚します。本番環境ではなく、API層でそれを捕捉してください。

Apidogは、ワークフローのその側面をカバーします。Apidog MCPサーバーをプロジェクトに接続すると、Codexエージェントはフィールド名をでっち上げる代わりに、コードを書きながら実際のAPI仕様を読み取ることができます。次に、Apidog CLIをCodex内で使用して、各変更後にエージェントがターミナルからテストシナリオを実行できるようにします。エージェントが編集し、テストし、あなたはパスする差分を確認するわけです。このループは、小規模なモデルがコードを作成する場合、より重要になります。Apidogをダウンロードして設定してください。CLIとMCPサーバーは、設定したどのモデルでも動作します。

トラブルシューティング

FAQ

Codex OSSモードはIDE拡張機能やCodexクラウドで動作しますか?

ドキュメントは、CLIの設定システムの一部としてOSSモードとカスタムプロバイダーを説明しています。IDEまたはクラウドでのローカルプロバイダーのサポートは文書化されていないため、これはCLI機能として扱ってください。[IDEサポートに頼る前に検証してください。]

CodexのOSSモードで最も効果的に機能するモデルはどれですか?

OllamaまたはLM Studioがハードウェア上で提供できるものなら何でも動作します。gpt-oss:20bは摩擦の少ないデフォルトです。強力なオープンウェイトのコーディングオプションには、Qwen 3.8ファミリーとGLMがあります。Kimi K3のような巨大モデルについては、まずローカルKimi K3ガイドでハードウェアの計算を確認してください。

OpenRouterまたは他のアグリゲーターをCodexで使用できますか?

互換性のあるエンドポイントを公開している任意のアグリゲーターは、[model_providers.<id>]パターンに適合します。base_urlenv_keyを設定し、model_providerで選択します。問題はプロトコルです。設定リファレンスでは、responsesが唯一サポートされているwire_apiとして挙げられているため、アグリゲーターがResponses APIを提供していることを確認してください。

オープンソースモデルでCodexを実行するためにOpenAI APIキーが必要ですか?

ローカルのOllamaまたはLM Studioサーバーを使用するOSSモードではキーは不要です。カスタムホスト型プロバイダーは、独自のキーをenv_keyを通じて使用します。OpenAIのサービスに触れるものについては、通常通りCodex自体にサインインする必要があります。

タスクに合ったセットアップを実行してください。安価なループにはローカルのgpt-oss、低コストでホストされた速度が必要な場合はDeepSeekまたはQwen、そして問題が難しい場合はOpenAIのフロンティアモデルを使います。Codexの設定により、これら3つはフラグ1つで切り替え可能になり、API側でApidogが検証を処理することで、モデルはコミットメントではなく交換可能なパーツになります。

ApidogでAPIデザイン中心のアプローチを取る

APIの開発と利用をよりシンプルなことにする方法を発見できる