CodexでDeepSeekを使うために、もうプロキシを挟む必要はありません。Codexが使うResponses APIをDeepSeek APIがネイティブ対応したため、設定ファイルを用意すれば接続できます。ただし現時点でCodexに対応するのは2モデルのうち1つだけで、画像入力も利用できません。
CodexからDeepSeekは使える?
使えます。CodexはOpenAIのResponses APIでモデルと通信しており、DeepSeek APIもこのプロトコルを直接サポートしています。そのため、設定ファイルでプロバイダーとしてDeepSeekを指定すれば、Codexから利用できます。DeepSeek公式の手順はAPIドキュメントのAgent Integrations → Codexに掲載されています。
以前とは前提が変わりました。Codexは旧来のwire_api = "chat"方式からResponses APIへ移行したため、しばらくの間はLiteLLM、Responses実装を備えたルーター、自作ブリッジといった変換レイヤーを経由しなければDeepSeekに接続できませんでした。これらの方法もまだ使えますが、もはや導入の必須条件ではありません。なお、これはプロバイダーの設定であり、DeepSeek関連のMCPツールをCodexへ追加する話とは別です。
設定はCodexの各クライアントで共通です。Codex CLI、ChatGPTデスクトップアプリ、VS Code用Codex IDE拡張はいずれも同じ~/.codexディレクトリを読むため、クライアントごとに設定を作り直す必要はありません。
Codexで使えるDeepSeekモデルはdeepseek-v4-flashのみ
対応しているのはdeepseek-v4-flashだけです。DeepSeekの料金表では、Responses API対応がdeepseek-v4-flashは✓、deepseek-v4-proは✗とされています。注記ではPro対応は2026年8月初旬予定とされており、2026年8月3日時点でもこの注記は残ったまま、Proは✗のままでした。
セットアップで書き込まれるmodels.jsonには両モデルが載っているため、設定上はProを選べてしまいます。しかし実際にはリクエスト時、上流側で失敗します。CC SwitchのDeepSeekプリセットも、プリセットのソースで同じ点を警告しています。DeepSeekが統合を公開する前にProへ切り替えるとエラーになります。
より高性能なモデルを今すぐ使いたい場合、ProはAnthropic形式のエンドポイントには対応しています。Claude Codeの構成でProが選べる一方、Codexでは選べない理由はここにあります。価格と同時実行数にも差があるため、選択は意識的に行うべきです。比較はdeepseek-v4-flash vs deepseek-v4-proを参照してください。
設定方法1:公式スクリプトを使う
複数のプロバイダーをすでに管理しているのでなければ、DeepSeek公式のセットアップスクリプトが最短です。先にCodex CLIまたはChatGPTデスクトップアプリをインストールし、一度起動して~/.codexを作成しておく必要があります。また、モデルカタログで指定されている最低バージョンに従い、Codexクライアントは0.144.0以上が必要です。
# macOS / Linux
bash <(curl -fsSL https://cdn.deepseek.com/api-docs/codex-deepseek-setup-en.sh)
# Windows, in PowerShell
irm https://cdn.deepseek.com/api-docs/codex-deepseek-setup-en.ps1 | iex
スクリプトはメニュー形式です。1でdeepseek-v4-flash、2でdeepseek-v4-proを選び、3では導入前の設定に復元します。選ぶべきなのは1です。2は設定自体は正しく書き込まれますが、まだCodexリクエストを処理できないモデルを指定することになります。初回実行時にはAPIキーの入力を求められます。キーはplatform.deepseek.comで作成します。
既存のconfig.tomlはどう書き換わるか
2026年8月3日、意図的に競合する設定を入れた使い捨てのCODEX_HOMEに対して公式スクリプトを実行しました。profile、古いmodel_verbosity、model_reasoning_summaryに加え、MCPサーバーと信頼済みプロジェクトの設定を含めています。CODEX_HOME=/tmp/probe sh codex-deepseek-setup-en.shで再現でき、1を選択します。実行結果では4項目の変更が報告され、それぞれの理由も表示されました。
• Rewrote model: "gpt-5.6-sol" → "deepseek-v4-flash"
• Removed profile = "myprofile" ← a profile masks model / model_provider / model_catalog_json
• Removed model_verbosity = "high" ← a stale value may be outside what the model supports
• Removed model_reasoning_summary = "detailed" ← models.json declares default_reasoning_summary=none
[mcp_servers.playwright]ブロック、[projects."..."]の信頼レベル、approval_policyはそのまま保持されました。また、書き込み前に元ファイルは~/.codex/backup-deepseek/へコピーされます。models.jsonはJSONとして、config.tomlは構文エラーと重複キーについて検証したうえで反映されました。ただし、これは1台のマシンでの1回の実行結果です。バックアップと復元の経路が存在する根拠にはなりますが、あらゆる設定パターンでの動作保証ではありません。
設定方法2:config.tomlを手動で編集する
設定をバージョン管理したい場合や、各フィールドの意味を把握しておきたい場合は手動編集が向いています。まず~/.codex/models.jsonを作成し、DeepSeekのドキュメントで公開されているモデルカタログを配置します。続いて、~/.codex/config.tomlに以下を追加します。
model = "deepseek-v4-flash"
model_provider = "deepseek"
preferred_auth_method = "apikey"
forced_login_method = "api"
model_reasoning_effort = "high"
model_catalog_json = "~/.codex/models.json"
[model_providers.deepseek]
name = "deepseek"
base_url = "https://api.deepseek.com/"
wire_api = "responses"
experimental_bearer_token = "<your DeepSeek API Key>"
| フィールド | 役割 |
|---|---|
wire_api = "responses" | Chat CompletionsではなくResponses APIを選択します。この統合を成立させる要となる項目です |
model_catalog_json | コンテキストウィンドウ、推論レベル、ツール形式を定義したmodels.jsonを指定します。省略するとCodexは汎用メタデータへフォールバックします |
preferred_auth_method, forced_login_method | ChatGPTアカウントでログインする代わりに、APIキーで認証します |
model_reasoning_effort | DeepSeekのカタログで定義されているlow、high、maxの3段階です |
experimental_bearer_token | APIキーそのものをテキストとしてファイルに保存します |
設定方法3:プロバイダーを頻繁に切り替えるならCC Switch
CC Switchは、Codexを含む8種類のコーディングツールのプロバイダー設定を管理できるデスクトップアプリです。DeepSeekの組み込みプリセットが用意されており、エンドポイントはhttps://api.deepseek.com、既定モデルはdeepseek-v4-flash、モデルカタログにはFlashとProの両方が入っています。手動で書く場合と同じフィールドを、エディターではなくトレイメニューから設定できます。
導入前に押さえておきたい点は2つです。切り替えを反映するには、Claude Codeとは異なりCodexを再起動する必要があります。また、登録したすべてのプロバイダーの認証情報を1つのアプリが保持し、それらをルーティングするローカルサービスも動かします。APIキーを1つのファイルに置く方法とは、セキュリティ上の前提が異なります。
設定が反映されたか確認する
プロジェクト内でCodex CLIを起動し、起動バナーを確認してください。modelとproviderの行が接続先の確認になります。2026年8月3日、テスト構成でcodex-cli 0.146.0を実行した際の表示は次のとおりでした。
OpenAI Codex v0.146.0
model: deepseek-v4-flash
provider: deepseek
reasoning effort: high
APIキーが間違っている場合は、使用中のエンドポイントも含めて特徴的なエラーになります。リクエストがDeepSeekへ送られていることを手早く確認する方法でもあります。
ERROR: unexpected status 401 Unauthorized: Authentication Fails, Your api key: ****r000 is invalid,
url: https://api.deepseek.com/responses
このエラーを表示するまでにCodexは5回リトライしたため、キーのタイプミスでは数秒間何も起きないように見えます。macOSのChatGPTデスクトップアプリでは、モデル名ではなくモデルピッカーにCustomと表示されます。これはローカル設定されたモデル全般に対するアプリ側のラベルであり、選択したDeepSeekモデルは実際に使われています。Codexのログにfallback model metadataまたはUnknown modelが出る場合は、models.jsonが読み込まれていません。カタログのパスを確認してください。
DeepSeekをCodexで動かすと何が変わる?
OpenAIモデルでCodexを使う場合とは、主に4つの挙動が異なります。いずれもトラブルではなく、仕様として理解しておくべき点です。
画像は入力できない。 models.jsonのDeepSeekエントリーではinput_modalities: ["text"]と定義されています。このためDeepSeekをアクティブにしている間は、どのCodexクライアントでもスクリーンショットの貼り付けや画像添付は利用できません。2026年8月2日には、Hacker Newsの開発者も同じ制約に直面し、画像対応用に別プロバイダーを維持する方法で回避していました。
Since DeepSeek V4 doesn't have vision so he got OMP to use GPT 5.6 Luna using the Codex sub.
この回避策では、画像を受け付ける接続先を指定した2つ目の[model_providers.*]ブロックを追加します。wire_api = "responses"の構成は同じなので、GPT-5.6を提供するアグリゲーターのエンドポイントも同じ設定に入れられます。切り替えはmodelの1行を変更するだけです。
以前のセッションが消えたように見える。 Codexはログイン方式ごとにセッション履歴をグループ化します。そのためChatGPTサブスクリプションからサードパーティーAPIキーへ切り替えると、以前のグループは削除されるのではなく非表示になります。元の設定に戻せば以前のセッションは再び表示され、DeepSeek側のセッションは見えなくなります。
APIキーは設定ファイルに平文で入る。 experimental_bearer_tokenに入るのは環境変数への参照ではなくキー本体です。したがって~/.codex/config.tomlは秘密情報を含むファイルになります。このディレクトリを同期したりdotfilesリポジトリへコミットしたりする前には確認が必要です。
ChatGPTと名乗ることがある。 統合時に配置されるmodels.jsonにはCodex独自のハーネスプロンプトが含まれており、冒頭は「You are Codex, an agent based on GPT-5.」です。このプロンプトには実際の役割があります。ツールプロトコル、承認ルール、エージェントが従う出力形式を定義しているため、単体のチャット画面で同じモデルを使う場合とは挙動が変わります。この自己紹介はモデルの系譜を主張しているのではなく、ハーネスに由来するものです。
料金
deepseek-v4-flashの料金は、2026年8月3日にDeepSeek料金ページで確認した時点で、入力トークンがキャッシュミス時100万トークンあたり$0.14、出力トークンが100万トークンあたり$0.28です。キャッシュヒット時の入力は100万トークンあたり$0.0028で、ミス時の50分の1です。コーディングエージェントはターンごとに増加していくコンテキストを再送するため、長時間のエージェントセッションのコストはこの差で大きく左右されます。
| deepseek-v4-flash | deepseek-v4-pro | |
|---|---|---|
| Codexで利用可能 | はい | まだ不可 |
| バージョン文字列 | DeepSeek-V4-Flash-0731 | DeepSeek-V4-Pro |
| コンテキスト / 最大出力 | 1M / 384K | 1M / 384K |
| 入力、キャッシュヒット | $0.0028 | $0.003625 |
| 入力、キャッシュミス | $0.14 | $0.435 |
| 出力 | $0.28 | $0.87 |
| 同時実行数の上限 | 2500 | 500 |
表だけでは分からない点が2つあります。DeepSeekは料金ページで、ピーク・オフピーク料金の導入予定を示しています。ピーク時間帯は毎日、北京時間(UTC+8)の09:00~12:00と14:00~18:00で、料金は掲載額の2倍です。開始日は後日発表とされています。また、カタログでは1Mのコンテキストウィンドウは有効率95%として宣言されており、models.jsonで設定されるポリシーに従って切り詰めが行われます。
よくある質問
ChatGPTサブスクリプションなしでもCodexでDeepSeekを使える?
使えます。preferred_auth_method = "apikey"とforced_login_method = "api"を設定すると、CodexはDeepSeekのAPIキーで認証し、アカウントログインを完全にスキップします。
VS Code拡張とデスクトップアプリは別々に設定する必要がある?
ありません。3つのCodexクライアントはすべて同じ~/.codex設定を読みます。デスクトップクライアントで切り替えを反映するには、再起動してください。
公式モデルへ戻すには?
セットアップスクリプトを再実行し、3を選びます。インストール前にバックアップされたconfig.tomlが復元されます。手動設定した場合は、DeepSeek関連のフィールドと[model_providers.deepseek]ブロックを削除してから、再度ログインしてください。
deepseek-v4-proはもうCodexで使える?
2026年8月3日時点では使えません。DeepSeekの料金ページではResponses API対応がまだ✗と表示されています。対応予定は2026年8月初旬と案内されていたため、選択できる設定をそのまま信じるのではなく、同ページを改めて確認してください。
どの設定方法を選ぶべきか
| 方法 | 向いているケース | 選ぶ際の注意点 |
|---|---|---|
| 公式セットアップスクリプト | 1コマンドで動かしたい、バックアップと復元の経路も欲しい | 内容を確認していない既存設定のフィールドも書き換える。キーは平文で保存される |
手動のconfig.toml | dotfilesをバージョン管理している、各フィールドを把握したい | models.jsonを自分で管理する必要があり、カタログのパスを誤るとメタデータが静かに劣化する |
| CC Switch | DeepSeek、公式サブスクリプション、ほかのプロバイダーを頻繁に切り替える | 1つのアプリがすべての認証情報を保持し、ローカルサービスを動かす。切り替えごとにCodexの再起動が必要 |
残る論点はProです。Flashは安価で高速なテキスト専用モデルですが、エージェントループで多くの人が求めるのは、まだCodex必須のプロトコルを話せないモデルのほうです。この注記が更新されるまでは、CodexでDeepSeekを選ぶことは、意図してFlashを選ぶことになります。
関連記事: Codex vs Claude Code · How to use GLM-5.2 in Claude Code