Codex CLI 0.164 設定

Codex CLI 0.164.0 の導入と config.toml 設定。QCode.cc の cr_ キーで GPT に接続、/presets とインライン /model。

最終更新 2026-10-27

API キーが必要ですか? 登録する →エンドポイントと Base URL →

目次

最終確認:2026-10-26 · 📄 公式ドキュメント準拠(Codex CLI 最新の安定版 v0.164.0、2026-10-23 公開。今回は config の設定項目、0.164.0 のコマンド変更、インストール方法を再確認) · 5.4 の profile の挙動は別途自社環境で実測済み(✅ codex-cli 0.155.0、独立 HOME、モデルへのリクエストなし)

概要

項目 内容
利用できるモデル GPT ✅(Responses プロトコル)· Claude ❌ · 中国系モデル ❌(Responses プロトコルは非対応)· Gemini ❌(QCode は現在 Gemini を提供していません)
プロトコルと Base URL OpenAI Responses:config.toml に base_url = "https://api.qcode.cc/openai" + wire_api = "responses"
設定場所 ~/.codex/config.toml(Windows は %USERPROFILE%\.codex\)
公式ドキュメント openai/codex

📖 Codex の base_url が Claude の ANTHROPIC_BASE_URL と違うのはなぜ?/openai と /openai/v1 の違いは? エンドポイントと API パス を参照。

本文は中国の開発者向けの Codex CLI 完全チュートリアルです。ゼロから OpenAI Codex CLI をインストール・設定・使用し、QCode.cc の API キーで GPT モデルに接続する方法をご案内します。AI プログラミングツールを初めて使う方も、Claude Code を使っていて新しいツールを試したい方も、ぜひご覧ください。


一、Codex の紹介

OpenAI Codex CLI とは?

Codex CLI は、OpenAI が提供するオープンソースのコマンドラインAIプログラミングアシスタント(Apache 2.0 ライセンス)で、Rust で書かれており、ターミナルで直接実行できます。以下のことができます:

  • コードリポジトリを読み取り、理解する
  • ファイルを編集して新しいコードを生成する
  • コマンドを実行する(テスト実行、依存関係インストールなど)
  • タスクが完了するまで自律的に反復する

Codex の核心理念は自律型エージェント(Autonomous Agent)です:タスクを記述すると、Codex がサンドボックス内で自律的に完了させ、最後にあなたが結果をレビューします。これは Claude Code の対話型コミュニケーションスタイルと補完関係にあります。

Codex の発展の歴史

「Codex」という名前は、OpenAI のプロダクトラインで何度も変遷を遂げてきました:

  • 2021年:最初の Codex は GPT-3 のコードファインチューニング版で、GitHub Copilot に動力を提供
  • 2024年:OpenAI は Codex ブランドを復活させ、クラウド非同期 AI プログラミングエージェントを導入
  • 2025-2026年:Codex CLI は成熟したローカルコマンドラインツールに発展し、Rust で書き直され、MCP、Skills、マルチエージェントなどの高度な機能をサポート

現在の Codex はマルチインターフェース製品です:CLI コマンドラインツール(本文の重点)、macOS デスクトップアプリ、IDE プラグイン、ChatGPT に統合されたクラウドエージェントを含みます。QCode.cc を通じて使用するのは CLI バージョンです。

Codex と Claude Code の主な違い

ディメンション Codex CLI Claude Code
実行スタイル 自律実行、完了後に結果を交付 対話型コミュニケーション、段階的に確認
オープンソース 完全オープンソース(Apache 2.0) オープンソースではない
記述言語 Rust(起動が速く、リソース使用量が低い) TypeScript
サンドボックスセキュリティ 内蔵 Landlock/seccomp サンドボックス 権限確認のプロンプト
命令ファイル AGENTS.md CLAUDE.md
クラウドエージェント サポート(ChatGPT 内蔵) サポートなし

簡単に言えば:Codex は「丸投げタスク」に強く(明確な要件を与えて、最後まで走らせ切る)、Claude Code は「ペアプログラミング」に強い(議論しながら修正、探索的タスクに適している)。両方を組み合わせて使うのがベストです。

なぜ QCode.cc を通じて Codex を使うのか?

Codex CLI はデフォルトで OpenAI API Key または ChatGPT サブスクリプションが必要ですが、中国本土では OpenAI の API に直接アクセスできません。

QCode.cc を通じて、次のことができます:

  • 1 つのキーで Claude、GPT、主要な中国系モデルを呼び出せる:Codex では GPT 系モデル、Claude Code では Claude を使い、どちらも同じ QCode API キーを共用します
  • 複数の接続先:api.qcode.cc はグローバルの入口、us.qcode.cc は北米・欧州向け、asia.qcode.cc はアジア向けです。中国本土のユーザーには asia.qcode.cc を推奨します。自前のプロキシは不要です
  • トークン単位の課金で、各モデルの単価は qcode.cc/models に掲載しています
  • Claude Code と Codex はプランのクォータを共有し、1 つのプランで両方のツールを使えます

二、Codex CLI のインストール

システム要件

インストールする前に、環境が以下の条件を満たしていることを確認してください:

  • オペレーティングシステム:macOS 12+、Ubuntu 20.04+、Windows 10+(WSL2 使用推奨)
  • Node.js:v22 LTS 以上(npm インストール方式が必要な場合)
  • Git:2.x 以上(Codex はコードリポジトリを感知するために Git が必要)
  • ディスク容量:約200MB(npm 依存関係を含む)

方法1:npm インストール(推奨)

これはすべてのオペレーティングシステムに通用的で最も一般的なインストール方法で:

npm install -g @openai/codex

ヒント:権限問題が発生した場合、macOS/Linux ユーザーは sudo を追加するか、nvm を使用して Node.js を管理することで権限問題を回避できます。

中国ユーザー向け:npm のダウンロード速度が遅い場合は、淘宝mirrorを使用できます: bash npm install -g @openai/codex --registry=https://registry.npmmirror.com

方法2:Homebrew インストール(macOS)

macOS ユーザーは Homebrew を通じてインストールすることもできます:

brew install --cask codex

Homebrew の利点は、依存関係を自動的に管理し、更新してくれることです。

方法3:バイナリを直接ダウンロード(上級者向け)

GitHub Releases ページから、お使いのプラットフォーム用のビルド済みバイナリをダウンロードし、PATH の通ったディレクトリに置きます。この方法は Node.js に依存しません。2026-10-26 時点の最新安定版は v0.164.0(2026-10-23 公開)です。本ページは 2026-10-15 時点で v0.162.1(2026-10-09 公開)を確認していました。アセット名はプラットフォームごとに付いており、たとえば Linux x64 は codex-x86_64-unknown-linux-musl.tar.gz、Apple シリコンの macOS は codex-aarch64-apple-darwin.tar.gz、Windows x64 は codex-x86_64-pc-windows-msvc.exe です。

# 例:Linux x64 版をダウンロードしてインストール
curl -fsSLO https://github.com/openai/codex/releases/latest/download/codex-x86_64-unknown-linux-musl.tar.gz
tar -xzf codex-x86_64-unknown-linux-musl.tar.gz
sudo mv codex-x86_64-unknown-linux-musl /usr/local/bin/codex

方法4:公式インストールスクリプト(macOS / Linux)

OpenAI の公式 Codex ドキュメント(2026-10-26 時点)には、スタンドアロンのインストーラーも案内されています:

curl -fsSL https://chatgpt.com/codex/install.sh | sh

インストール後、codex --version で確認します。

インストールを確認

codex --version

バージョン番号が出ればインストール成功です。このページの数字を「いまの最新」だと思わないでください。正本は GitHub Releases と npm @openai/codex です。本機は codex --version で確認します。

シェル自動補完の設定(オプション)

Codex はシェル自動補完をサポートし、コマンドを入力時に Tab を押すとプロンプトが表示されます:

# Zsh ユーザー
echo 'eval "$(codex completion zsh)"' >> ~/.zshrc
source ~/.zshrc

# Bash ユーザー
echo 'eval "$(codex completion bash)"' >> ~/.bashrc
source ~/.bashrc

Zsh が command not found: compdef と表示した場合、eval の前に autoload -Uz compinit && compinit を追加してください。


三、QCode.cc の設定

Codex CLI は QCode.cc サービスに接続するために2つの設定ファイルが必要です:

  • ~/.codex/config.toml — サーバーエンドポイントとモデル設定
  • ~/.codex/auth.json — API キー認証

ステップ1:設定ディレクトリを作成

Windows (PowerShell):

mkdir $HOME\.codex

macOS:

mkdir -p ~/.codex

Linux:

mkdir -p ~/.codex

ステップ2:config.toml を作成

~/.codex/config.toml に次の内容を書き込みます:

model_provider = "qcode"
model = "gpt-6.1-sol"
model_reasoning_effort = "high"

[model_providers.qcode]
name = "qcode"
base_url = "https://api.qcode.cc/openai"
wire_api = "responses"
requires_openai_auth = true

config.toml フィールド詳細:

フィールド 説明
model_provider 使用するモデルプロバイダー名。ここではカスタムの qcode を設定します。名前は自由ですが、[model_providers.<名前>] と一致させてください。本ドキュメントの例では qcode で統一しています
model デフォルトモデル。gpt-6.1-sol を推奨(OpenAI 公式の Codex ドキュメントが複雑なコーディングとエージェント作業に推奨しているモデルです)
model_reasoning_effort 推論強度(low、medium、high など)。選べるレベルはモデルとクライアントによって異なります。高いほど正確ですが遅くなります
base_url QCode.cc の接続先アドレス(例では api.qcode.cc のグローバル入口を使用。他の接続先は エンドポイントと API パス を参照)
wire_api API プロトコルの種類。Codex が現在サポートするのは responses のみです
requires_openai_auth OpenAI 形式の認証を使用。キーは ~/.codex/auth.json の OPENAI_API_KEY から読み込まれます。true のとき Codex は env_key を無視します(公式ドキュメント)

ステップ3:auth.json を作成

~/.codex/auth.json に以下の内容を書き込みます:

{
  "OPENAI_API_KEY": "cr_xxxxxxxxxx"
}

cr_xxxxxxxxxx をあなたの QCode.cc API キー に置き換えてください。キーは cr_ で始まります。

auth.json の説明:

  • このファイルは Codex に API キーを提供します(requires_openai_auth = true のとき、その中の OPENAI_API_KEY が読み込まれます)
  • ファイル権限は 600(本人だけが読み書き可能)に設定することを推奨:chmod 600 ~/.codex/auth.json

ステップ4:環境変数を設定(オプションの代替案)

環境変数でキーを渡したい場合は、[model_providers.qcode] の requires_openai_auth = true を env_key = "QCODE_API_KEY" に置き換え、その変数を export します。どちらか一方だけにしてください。公式ドキュメントに、requires_openai_auth = true のとき Codex は env_key を無視すると明記されています。環境変数方式の完全な設定:

model_provider = "qcode"
model = "gpt-6.1-sol"
model_reasoning_effort = "high"

[model_providers.qcode]
name = "qcode"
base_url = "https://api.qcode.cc/openai"
wire_api = "responses"
env_key = "QCODE_API_KEY"

続いて環境変数を設定します:

Windows (PowerShell):

# 一時設定(現在のセッション)
$env:QCODE_API_KEY = "cr_xxxxxxxxxx"

# 永続設定(ユーザー環境変数に書き込み)
[System.Environment]::SetEnvironmentVariable("QCODE_API_KEY", "cr_xxxxxxxxxx", [System.EnvironmentVariableTarget]::User)

macOS:

# 一時設定
export QCODE_API_KEY="cr_xxxxxxxxxx"

# 永続設定
echo 'export QCODE_API_KEY="cr_xxxxxxxxxx"' >> ~/.zshrc
source ~/.zshrc

Linux:

# 一時設定
export QCODE_API_KEY="cr_xxxxxxxxxx"

# 永続設定(Bash)
echo 'export QCODE_API_KEY="cr_xxxxxxxxxx"' >> ~/.bashrc
source ~/.bashrc

# 永続設定(Zsh)
echo 'export QCODE_API_KEY="cr_xxxxxxxxxx"' >> ~/.zshrc
source ~/.zshrc

利用可能なモデル

QCode.cc では次の Codex / GPT モデルを利用できます:

モデル 説明 推奨シナリオ
gpt-6.1-sol GPT-6 Sol の更新版(2026-09-29)、1.05M コンテキスト、キャッシュ読み取りがより安価 汎用/複雑なタスク(推奨 ★。OpenAI 公式の Codex ドキュメントは複雑なコーディングとエージェント作業に GPT-6.1 Sol を推奨しています)
gpt-6.1-terra GPT-6.1 の中位モデル。単価は gpt-6.1-sol の約半分(/models を参照) 日常のコーディング/バッチ処理
gpt-6-sol GPT-6 Sol、1.05M コンテキスト 汎用/複雑なタスク
gpt-6-astra 最上位・高価格 最高性能が必要なとき
gpt-5.6-terra GPT-5.6 フラッグシップ、コード最適化 プログラミング/Codex CLI

QCode は現在 gpt-6-luna / gpt-5.6-luna を提供していません。他の GPT モデル(gpt-6.1-sol / gpt-6.1-terra / gpt-6-sol / gpt-5.6-terra)をご利用ください。

Claude Code と Codex は同じ QCode API キーを使うため、モデルを切り替えるときに追加の手続きは要りません。QCode はトークン単位の課金で、各モデルの単価は qcode.cc/models に掲載しています。


四、基本情報使用チュートリアル

4.1 Codex を起動

ターミナルを開き、プロジェクトディレクトリに移動して、次を実行します:

cd /path/to/your/project
codex

Codex はターミナル対話インターフェース(TUI)を起動し、自然言語命令を入力できます。インターフェースは次の部分で構成されています:

  • トップステータスバー:現在のモデル、承認モード、サンドボックス状態を表示
  • メインエリア:AI の返信と操作ログ
  • ボトム入力ボックス:命令を入力する場所

コマンドラインで直接タスクを提供することもできます(非対話モード)、スクリプト呼び出しに適しています:

# 対話型起動
codex

# 非対話モード:単一タスクを実行して終了
codex "このプロジェクト構造を読んで概要を提供してください"

# 画像を添付したタスク
codex -i screenshot.png "スクリーンショットに表示された UI 問題を修正"

# モデルを指定
codex -m gpt-6-sol "認証モジュールのエラー処理をリファクタリング"

4.2 最初のタスク:Codex に関数を書いてもらう

簡単な例から始めましょう。プロジェクトディレクトリで Codex を実行し、次を入力します:

Python 関数を書いてください。文字列リストを受け取り、最も長い文字列を返します。複数ある場合は最初のものを返します。utils.py ファイルに保存してください。

Codex は次のステップを実行します:

  1. 計画:あなたの要件を分析し、実装方針を作成
  2. コード生成:utils.py を作成し、関数を書き込む
  3. 確認を求める:読み取り専用プリセットや、変更に承認が必要な場合(たとえばワークスペース外への書き込み)は、Codex が行おうとするファイル変更を表示し、あなたの確認を待ちます。デフォルトのプリセットでは、ワークスペース内の編集は自動で実行されます

確認が必要なときは、次のようなプロンプトが表示されます:

Codex wants to create file: utils.py
─────────────────────────────────────

+ def find_longest(strings: list[str]) -> str:
+     """リスト中最長の文字列を返し、複数ある場合は最初のものを返します。"""
+     if not strings:
+         raise ValueError("リストは空にできません")
+     return max(strings, key=len)

Accept? [y/n]

y を入力して確認すると、Codex はコードをファイルに書き込みます。

次に、より多くの指示を与え続けることができます。Codex は同じセッション内でコンテキストを維持します:

この関数にユニットテストを書いてください、pytest を使用

Codex は自動的に先ほど作成した utils.py を読み取り、対応するテストファイルを生成します。

4.3 Codex のサンドボックス実行モードを理解する

これは Codex の最も重要なセキュリティ機能の1つです。Codex はサンドボックス内でコマンドを実行し、3つのセキュリティレベルがあります:

サンドボックスモード ファイル読み取り ファイル書き込み コマンド実行 ネットワークアクセス
read-only 許可 要確認 要確認 要確認
workspace-write(デフォルト) 許可 ワークエリア内で許可 ワークエリア内で許可 デフォルトで禁止
danger-full-access 許可 すべて許可 すべて許可 許可

デフォルトの workspace-write モードは日常開発に最適です:Codex はプロジェクトディレクトリ内で自由にファイルの読み書きとコマンド実行ができますが、プロジェクト外のファイルやネットワークにはアクセスできません。

タスクがネットワーク接続を必要とする場合(例:npm install)、一時的にネットワークアクセスを有効にできます:

codex -c 'sandbox_workspace_write.network_access=true' "依存関係をインストールしてテストを実行"

4.4 Codex の変更をレビューして受け入れる

Codex のファイル変更は承認ポリシー(Approval Policy)に従います。公式ドキュメント(2026-10-26 時点)によると、Git リポジトリでのデフォルトは「ワークスペース書き込み可 + 必要に応じて承認」のプリセットです:

  • ワークスペース内のファイル編集とコマンド:自動で実行
  • ワークスペース外への書き込み、ネットワーク利用などの操作:内容を表示して確認を待つ
  • Git リポジトリではないフォルダー:デフォルトは読み取り専用で、変更の前に確認される

Codex が変更を提出したとき、次のことができます:

  • 受け入れる(y):変更を適用
  • 拒否する(n):この変更をスキップ
  • 詳細を表示:diff をよく読んでから決定

ヒント:/diff スラッシュコマンドを使用すると、いつでも現在のセッションですべての適用された変更を表示できます。

4.5 常用インタラクション技巧

ファイル参照:@ の後にファイル名を入力すると、Codex は自動的にそのファイル内容を読み取ります:

@src/app.py を確認してエラー処理を最適化してください

シェルコマンドを実行:! で始めると直接コマンドを実行でき、出力は Codex に渡されます:

!cat error.log
上のエラーログを分析し、根本原因を見つけてください

命令を追加:Codex が実行中に Enter を押すと新しい命令を挿入でき、Tab を押すと次のラウンドの命令をキューに追加できます。

履歴を編集:Esc を2回押すと、入力ボックスが空のときに前のメッセージに戻って編集できます。続けて Esc を押すとより早いメッセージに戻り、Enter を押すとその地点から新しい会話の流れをフォークできます。

パイプライン入力:他のコマンドの出力をパイプラインで Codex に渡して分析できます:

# 最近の git 変更を分析
git diff HEAD~3 | codex "これらの変更をレビューし、潜在的な問題を見つけてください"

# エラーログを分析
cat /var/log/app/error.log | codex "これらのエラーの根本原因を分析"

# PR をレビュー
gh pr diff 42 | codex "この PR のコード品質とセキュリティをレビュー"

キーボードショートカット:

ショートカット 機能
Tab ファイルパスの自動補完(@ と組み合わせて使用)
Enter Codex 実行中に新しい命令を挿入
Tab Codex 実行中に次のラウンドの命令をキューに追加
Esc x 2 前のメッセージにロールバックして編集
Ctrl+C 現在の操作をキャンセル

スラッシュコマンド:

コマンド 説明
/model モデルと推論強度を選択
/diff すべての変更を表示
/mcp 接続されている MCP サーバーを表示
/status 現在のセッション状態を表示
/compact トークンを節約するために会話履歴を圧縮
/permissions 権限設定を表示および変更
/review コードレビュー

4.6 Codex CLI 0.164.0 のコマンド変更(2026-10-23)

Codex CLI 0.164.0 は 2026-10-23 に公開されました。公式リリースノートにある、コマンドと設定に関係する項目は次のとおりです。

  • 10 個の番号付き /presets スロットに再利用可能なプロンプトとスラッシュコマンドを保存し、キーボードメニューからすぐ呼び出せます。
  • インラインの /model と /permissions 引数で、モデル、推論強度、速度、権限プロファイルを直接設定できます。
  • 対象となる Codex アカウントの付与または専用サインインで企業向け MCP 接続を認証できます。secret を必要とする OAuth クライアントも含みます。
  • 対応するリモート Bash コマンドと Zsh スナップショットセッションで、カスタムプロバイダーの認証情報を含む資格情報をマスクします。

上記の設定で使うキーは 2026-10-26 に確認した公式設定リファレンスに残っています:model_provider、[model_providers.<id>]、base_url、wire_api、requires_openai_auth。同日確認した公式 README のインストールコマンドも変わっていません:npm install -g @openai/codex、brew install --cask codex、または curl -fsSL https://chatgpt.com/codex/install.sh | sh。


五、高度な設定

5.1 カスタム命令ファイル(AGENTS.md)

Codex は AGENTS.md ファイルをサポートして、AI にプロジェクトコンテキストと作業規範を提供します。Claude Code の CLAUDE.md と同様の役割を果たします。

プロジェクトレベルの命令:プロジェクトルートディレクトリに AGENTS.md を作成:

# AGENTS.md

## プロジェクト説明
これは PostgreSQL データベースを使用した FastAPI バックエンドプロジェクトです。

## コード規範

- すべての関数には型注釈が必要
- 新しい API エンドポイントを追加する場合はテストも同時に作成
- コミット前に `make lint` を実行してコードスタイルを確認

## テストコマンド

- ユニットテスト:`pytest tests/unit/`
- インテグレーションテスト:`pytest tests/integration/`
- コードチェック:`make lint`

グローバル命令:~/.codex/AGENTS.md にグローバルデフォルトルールを作成すると、すべてのプロジェクトが継承します:

# グローバル命令

- 常に日本語でコミュニケーションを取る
- コードコメントは英語を使用
- 関数型プログラミングスタイルを優先する
- 生成されたコードにはエラー処理が含まれている必要がある

サブディレクトリオーバーライド:特定のディレクトリに AGENTS.override.md を作成すると、上位ルールをオーバーライドできます:

# services/payments/AGENTS.override.md

- このディレクトリ内のすべての変更は監査ログに書き込まれる必要がある
- 金額計算には Decimal 型を使用し、浮動小数点は使用しない

Codex は次の順序で命令ファイルを検索します:AGENTS.override.md > AGENTS.md > 設定されたフォールバックファイル。結合後の合計サイズの上限はデフォルトで 32KB、project_doc_max_bytes で調整できます。

5.2 承認とサンドボックスの調整

Codex のセキュリティ制御は 2 つの層でできています。サンドボックスモードは Codex が技術的に何をできるか(どこに書き込めるか、ネットワークに出られるか)を決め、承認ポリシーはいつ事前にあなたへ確認するかを決めます。2026-10-26 時点の OpenAI 公式ドキュメントでは、コマンドラインの 2 つのオプションで制御します:

オプション 指定できる値
--sandbox / -s read-only、workspace-write、danger-full-access
--ask-for-approval / -a on-request、never

よく使う組み合わせ(公式ドキュメント):

目的 オプション 効果
デフォルト(Git リポジトリでの公式推奨) オプションなし、または --sandbox workspace-write --ask-for-approval on-request ワークスペース内でファイルの読み取り・編集とコマンドの実行ができ、ワークスペース外への書き込みやネットワーク利用は事前に確認される
読み取り専用で安全に閲覧 --sandbox read-only --ask-for-approval on-request ファイルを読み、読み取り専用サンドボックス内でコマンドを実行できる。サンドボックス外の操作は承認が必要な場合がある
読み取り専用・非対話(CI) --sandbox read-only --ask-for-approval never 承認を一切求めない
自動承認レビュー --approve-for-me(別名 --not-so-yolo) on-request の承認と workspace-write サンドボックスを使い、承認リクエストは自動レビューが処理する
フルアクセス(非推奨) --dangerously-bypass-approvals-and-sandbox(別名 --yolo) サンドボックスも承認もなし。外部で堅牢化された隔離環境でのみ使用

🔴 古いチュートリアルにある --full-auto、--suggest、--auto-edit、--approval-mode といった書き方は、現在の公式オプション一覧にはありません。「ファイル書き込みまで自律で行わせたい」ときは --sandbox workspace-write、非対話の実行には codex exec --sandbox workspace-write を使います。

⚠️ Codex の flag は変化が速いです。本ページを含め、いかなる文書の flag 一覧も転記せず、codex --help の実際の出力に従ってください。

config.toml でデフォルトを設定:

# 個人開発向けの推奨設定
approval_policy = "on-request"
sandbox_mode = "workspace-write"

approval_policy に指定できるのは on-request、never、または確認の種類ごとに分けられる granular テーブルです。公式ドキュメントでは approval_policy = "untrusted" はサポート終了とされており、古い設定にこの行が残っているとクライアントが起動しなくなる場合があるため、削除してください。

セッション中の切り替え:/permissions コマンドで、再起動なしにデフォルトのプリセットと読み取り専用を切り替えられます。

各シナリオの推奨設定

シナリオ 承認ポリシー サンドボックスモード
個人の日常開発 on-request workspace-write
チーム共有環境 on-request read-only
CI/CD(読み取り専用の分析) never read-only
CI/CD(ファイル書き込みが必要) codex exec --sandbox workspace-write workspace-write
ワンスクリプトタスク(隔離環境) --yolo サンドボックスなし

5.3 MCP サーバーの設定

Codex は Model Context Protocol (MCP) をサポートし、外部ツールを接続して能力を拡張できます。

コマンドラインで MCP サーバーを追加:

codex mcp add my-server -- npx -y @some/mcp-server --config /path/to/config.json

config.toml で設定:

[mcp_servers.filesystem]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/dir"]

[mcp_servers.github]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-github"]
env = { GITHUB_TOKEN = "ghp_your_token" }

設定が完了したら Codex を再起動し、/mcp コマンドを使用して接続されているサーバーを確認します。MCP ツールは自動的に Codex の使用可能なツールリストに表示され、内蔵ツールと並んで表示されます。

Codex 自体を MCP サーバーとして設定:Codex は逆方向に実行されて MCP サーバーになることができ、他の AI Agent から呼び出せます。これはマルチエージェントシステムを構築する際に非常に便利です。

5.4 Profile の設定(マルチ環境管理)

プロジェクトごとに設定を変えたい場合(業務用と個人用など)は Profile を使います。Codex 0.134.0 以降、config.toml 内に [profiles.<名前>] と書く旧方式は無効になりました。現在は 1 プロファイル 1 ファイル、つまり ~/.codex/<名前>.config.toml です。以下の 3 ブロックが新しい書き方の全体像です:

# ~/.codex/config.toml - default config (top-level keys only; no [profiles.x] tables)
model_provider = "qcode"
model = "gpt-6-sol"

[model_providers.qcode]
name = "qcode"
base_url = "https://api.qcode.cc/openai"
wire_api = "responses"
requires_openai_auth = true
# ~/.codex/work.config.toml
model = "gpt-6-sol"
model_reasoning_effort = "high"
# ~/.codex/personal.config.toml
model = "gpt-5.6-terra"
model_reasoning_effort = "medium"

起動時に指定します:

codex --profile work "認証モジュールをリファクタリング"
codex --profile personal "小さなスクリプトを書く"

✅ 以下の 3 点は自社環境で実測した挙動です(codex-cli 0.155.0、linux-x86_64、独立した HOME、モデルへのリクエストは送信せず)。よくある落とし穴はこのとおり:

  • 旧テーブルを残したまま --profile を付けると明示的にエラーになります(黙って無視されるわけではありません):

text Error loading config.toml: --profile `work` cannot be used while ~/.codex/config.toml contains legacy `profile = "work"` or `[profiles.work]` config; move those settings into ~/.codex/work.config.toml and remove the legacy profile selector/table.

  • 最上位の profile = "work" 指定子も同じく廃止済み:

text Error: legacy `profile = "work"` config is no longer supported; use `--profile work` with `work.config.toml` instead

  • --profile を付けない場合、残った [profiles.*] テーブルは一切解決されません —— codex doctor はそのまま config.toml parse ok と表示し、最上位の値が使われます。「エラーが出ない=反映されている」ではないので、移行時に旧テーブルは削除してください。

なお --profile は実行系のサブコマンド(codex、exec、review、resume、queue、archive、delete、unarchive、fork、mcp、sandbox、debug prompt-input)でのみ有効です。doctor に付けると --profile only applies to runtime commands ... とエラーになります。Profile ファイルはユーザー設定より上位・プロジェクト設定とコマンドライン指定より下位の層です(5.6 参照)。

5.5 非対話モード(スクリプトと自動化)

Codex は対話型で使用するだけでなく、スクリプトや CI/CD パイプラインで非対話的に実行することもできます。codex exec でタスクを実行して終了します(公式ドキュメントでは、非対話で実行し、結果を stdout または JSONL に出力するとされています)。

# 基本用法:タスク実行後に終了
codex exec "README.md にインストール説明を追加"

# ワークスペースへの書き込みを許可:完全自律実行
codex exec --sandbox workspace-write "テストスイートを実行し、失敗したテストをすべて修正"

# JSONL のイベントストリームとして出力(監査や後処理用)
codex exec --json "エラー処理モジュールをリファクタリング"

CI/CD で Codex を使用:

# GitHub Actions の例

- name: Auto-fix lint errors
  run: |
    # 環境変数方式:config.toml では env_key を使い、requires_openai_auth は書かない
    mkdir -p ~/.codex
    cat > ~/.codex/config.toml <<'EOF'
    model_provider = "qcode"
    model = "gpt-6.1-sol"

    [model_providers.qcode]
    name = "qcode"
    base_url = "https://api.qcode.cc/openai"
    wire_api = "responses"
    env_key = "QCODE_API_KEY"
    EOF
    npx @openai/codex exec --sandbox workspace-write "eslint --fix を実行してすべての lint エラーを修正し、修正をコミット"
  env:
    QCODE_API_KEY: ${{ secrets.QCODE_API_KEY }}

Codex SDK:自分のプログラムから Codex を呼び出す必要がある場合は、公式 SDK を使用してプログラミング式で呼び出し、Codex を自分の開発ツールやワークフローに埋め込むことができます。

5.6 設定優先順位

複数の設定ソースが競合する場合、Codex は次の優先順位(高い方から低い方)で解決します:

  1. コマンドライン引数(--model、-c など)
  2. プロジェクト設定(.codex/config.toml、プロジェクトルートから現在のディレクトリまで、最も近いものが優先。信頼されたディレクトリでのみ読み込まれ、プロジェクト層の model_provider、model_providers、profile、profiles といったキーは Codex に無視されます)
  3. Profile ファイル(--profile <name> で選ぶ ~/.codex/<name>.config.toml)
  4. ユーザー設定(~/.codex/config.toml)
  5. システム設定(/etc/codex/config.toml、Unix システム)
  6. 内置デフォルト値

この優先順位を理解することで、異なるレベルで正確に動作を制御できます。例えば、~/.codex/config.toml で共通デフォルト値を設定し、プロジェクトの .codex/config.toml で特定設定をオーバーライドし、コマンドライン引数でワンショットの調整を行います。


六、Claude Code と Codex の比較

一言でいうと:Claude Code は対話型のペアプログラミング、Codex は自律的なタスク実行です。Claude Code は探索的なデバッグ、複雑なリファクタリング、アーキテクチャの把握に向き、Codex は要件が明確な機能開発、一括移行、CI/CD の自動化に向きます。指示ファイルはそれぞれ CLAUDE.md と AGENTS.md、どちらも MCP に完全対応し、同じ QCode.cc プラン枠を共有するため切り替えコストはゼロです。

実行モデル・コンテキスト長・サンドボックス・マルチエージェント・OSS かどうかなど 13 項目の詳細比較 → Codex vs Claude Code 比較。


七、実践例

以下の実際のシナリオを通じて Codex の使用方法をデモします。各例は具体的なコマンドと期待される効果を含みます。

例1:新しいプロジェクトを理解する

見覚えのないコードベースを引き継いだとき:

cd /path/to/new/project
codex

対話インターフェースで:

このプロジェクトは何をしますか?ディレクトリ構造、主要モジュール、技術スタックを分析し、簡潔なアーキテクチャ図(ASCII art を使用)を提供してください。

Codex はプロジェクト内のファイルをスキャンし、package.json、requirements.txt、go.mod などの依存関係ファイルを分析し、キーエントリファイルを読み取り、包括的なプロジェクト概要を提供します。

例2:コードレビュー

codex "src/ ディレクトリで最後の git commit のすべての変更をレビューしてください。重点的に確認する内容:
1. 潜在的なバグ(null ポインタ、境界条件)
2. セキュリティリスク(SQL インジェクション、XSS、ハードコードされたキー)
3. パフォーマンス問題(N+1 クエリ、不必要なループ)
具体的なコード位置と修正提案を提供してください。"

例3:一括リファクタリング

codex --sandbox workspace-write "プロジェクト内のすべての Python ファイルの print() 呼び出しを logging モジュールに置き換えてください。
具体的な要件:
1. 各ファイルの上部に import logging を追加
2. logger = logging.getLogger(__name__) を作成
3. print() を logger.info() に置き換える
4. 元のフォーマット文字列を維持
5. 置き換え完了後に pytest を実行して何も壊れていないことを確認"

Codex はファイルを1つずつ処理し、コードの一貫性を維持し、最後にテストを実行して検証します。

例4:完全なテストスイートを作成

codex "src/services/user_service.py の完全なユニットテストを作成してください。要件:
1. pytest + pytest-mock を使用
2. すべてのパブリックメソッドをカバー
3. 正常パスと異常パステストを含める
4. 外部依存をモック(データベース、HTTP リクエスト)
5. テストファイルを tests/unit/test_user_service.py に保存
6. テストを実行してすべて合格することを確認"

例5:自律的にテストを修正

完全自律で使う古典的な用例 — Codex に失敗したテストを自律的に修正させます:

codex --sandbox workspace-write "すべてのテストを実行してください。失敗したものがある場合:
1. 失敗の原因を分析
2. コードを修正(テストではなくコードを修正)
3. テストを再実行
4. すべてのテストが合格するまで上記のステップを繰り返す
最後に修正サマリーを提供してください。"

例6:設計稿から UI を実装

codex -i design.png "この設計稿に基づいて、React + Tailwind CSS でこのページを実装してください。
要件:
1. レスポンシブレイアウト(モバイルサポート)
2. 設計稿のピクセルパーフェクト再現
3. コンポーネント分割が適切
4. 基本的なインタラクション状態を追加(hover、focus)"

例7:データベースマイグレーション

codex "users テーブルに avatar_url フィールドを追加する必要があります(varchar 500, nullable)。
してください:
1. Alembic マイグレーションスクリプトを作成
2. SQLAlchemy モデルを更新
3. 関連する Pydantic schema を更新
4. CRUD 操作関数を更新
5. 対応する API エンドポイントを追加(GET/PUT)
6. マイグレーションを実行して成功を確認"

例8:CI/CD で Changelog を自動生成

codex --sandbox workspace-write "前回の release tag から現在までのすべての git commit を分析し、
conventional commits 規範に従って分類し、
CHANGELOG.md の更新内容を生成してください。
含める内容:新機能、バグ修正、破壊的変更、その他の改善。"

八、よくある質問

設定ファイルが見つからない

問題:Codex が設定ファイル找不到または設定を読み込めない

解決:

  1. 設定ディレクトリが存在するか確認:ls ~/.codex/
  2. config.toml と auth.json の両方のファイルが存在することを確認
  3. config.toml の TOML 構文が正しいか確認(一般的なエラー:引用符が不足、スペルミス)
  4. codex doctor を実行して、インストール・設定・認証の状態を診断レポートで確認

API キー認証失敗

問題:401 Unauthorized または API Key が無効と表示される

解決:

  1. API キーの形式が正しいことを確認(cr_ で始まる)
  2. auth.json 内のキーが完全であるか確認(余分なスペースや改行がない)
  3. 環境変数方式を使う場合は、provider に env_key = "QCODE_API_KEY" があり、requires_openai_auth = true が無く、変数が export されていることを確認
  4. QCode.cc コンソール にログインして、キーの状態と残りのクォータを確認

ネットワーク接続問題

問題:QCode.cc サービスに接続できない、タイムアウトまたは接続拒否

解決:

  1. ネットワークが正常か確認:curl -I https://api.qcode.cc
  2. base_url 設定が正しいか確認(https://api.qcode.cc/openai である必要がある)
  3. 別の接続先を試す:

  4. アジアの接続先:https://asia.qcode.cc/openai

  5. 会社のプロキシ/VPN を使用する場合は、HTTPS リクエストがブロックされないようにプロキシ設定を確認

モデル選択の提案

問題:どのモデルを選択すればよいかわからない

提案:

あなたのニーズ 推奨モデル 理由
プログラミング gpt-5.6-terra コード最適化
複雑タスク gpt-6.1-sol Codex 公式ドキュメントの推奨、1.05M コンテキスト
複雑タスク(代替) gpt-6-sol 汎用能力、1.05M コンテキスト
最強の能力 gpt-6-astra 最上位ティア

config.toml でデフォルトモデルを設定した後、一時的に切り替えることもできます:

codex -m gpt-6-sol "この複雑な並行バグを分析"

サンドボックス制限によるコマンド失敗

問題:Codex が実行しようとしたコマンドがサンドボックスに拒否された

解決:

  1. ネットワーク接続操作(例:npm install)の場合、一時的にネットワークを有効にする: bash codex -c 'sandbox_workspace_write.network_access=true' "依存関係をインストール"
  2. プロジェクトディレクトリ外のファイルに書き込む必要がある場合、一時的に書き込み範囲を拡張できます: bash codex --sandbox danger-full-access "出力を /tmp/result.txt に保存"
  3. セッション内で /permissions を使用して現在の権限を表示および調整

費用の説明

問題:Codex と Claude Code の費用はどのように計算されますか?

説明:

  • Codex と Claude Code はQCode.cc のプランのクォータを共有
  • 同じプランは両方のツールで同時に使用可能
  • 費用は実際のトークン消費に基づいて計算され、ツールごとに区別されない
  • Codex が自律的に複数ラウンド反復すると、単一タスクのトークン消費は高くなる可能性がありますが、開発者のインタラクション時間が節約されます
  • QCode はトークン単位の課金で、各モデルの単価は qcode.cc/models に掲載しています。使用状況は QCode.cc コンソール で確認できます

AGENTS.md と CLAUDE.md は共存できますか?

できます。プロジェクトが Codex と Claude Code の両方で使用される場合:

  • Codex は AGENTS.md のみを読み取り、CLAUDE.md を無視
  • Claude Code は CLAUDE.md のみを読み取り、AGENTS.md を無視します
  • 両者は互いに干渉せず、ツールごとに個別の指示ファイルを維持できます
  • 両ファイルの中核となる規範(テストコマンド、コードスタイルなど)は一致させることを推奨します

十、関連ドキュメント

QCode を始める

API キーひとつで Claude Code・Codex などに対応。トークン単位の課金で、各モデルの単価は qcode.cc/models に掲載

企業版 →