Codex Cloud(レガシー) では、コードレビューや Linear、GitHub との連携に使う環境を引き続きサポートしています。
Web、モバイル、デスクトップで現在利用できる環境については、クラウド環境ガイドを参照してください。
環境を設定すると、クラウドでのチャット中に Codex が何をインストールし、何を実行するかを指定できます。たとえば、依存関係の追加、リンターやフォーマッターなどのツールのインストール、環境変数の設定ができます。
環境は Codex の設定で構成します。
Codex のクラウドチャットの実行手順
タスクを送信すると、次の順序で処理が進みます。
- Codex がコンテナを作成し、選択したブランチまたはコミット SHA でリポジトリをチェックアウトします。
- Codex がセットアップスクリプトを実行します。キャッシュ済みのコンテナを再開する際には、メンテナンススクリプトが設定されていれば、それも実行します。
- Codex がインターネットアクセス設定を適用します。セットアップスクリプトの実行中はインターネットにアクセスできます。エージェントのインターネットアクセスはデフォルトで無効ですが、必要に応じて、アクセス先を制限して許可することも、無制限に許可することもできます。エージェントのインターネットアクセスを参照してください。
- エージェントはターミナルでコマンドを繰り返し実行します。コードを編集し、チェックを実行して、作業結果の検証を試みます。リポジトリに
AGENTS.mdがあれば、そのファイルを参照してプロジェクト固有のリントやテストのコマンドを特定します。 - 作業が完了すると、エージェントは回答と、変更したファイルの差分を表示します。PR を作成したり、追加で質問したりできます。
デフォルトの汎用イメージ
Codex エージェントは、universal というデフォルトのコンテナイメージで動作します。このイメージには、よく使われる言語、パッケージ、ツールがあらかじめインストールされています。
環境設定で「パッケージのバージョンを設定」を選択すると、Python、Node.js などのランタイムのバージョンを固定できます。
インストール済みの内容については、openai/codex-universal を参照してください。参考用の Dockerfile と、ローカルにプルしてテストできるイメージが用意されています。
codex-universal には、すぐに使い始められるよう各種言語があらかじめインストールされています。セットアップスクリプトを使って、コンテナにパッケージを追加することもできます。
環境変数とシークレット
環境変数は、セットアップスクリプトの実行中もエージェントの動作中も、チャット全体を通して利用できます。
シークレットは環境変数と似ていますが、次の点が異なります。
- 保存時に追加の暗号化が施され、タスクを実行する際にのみ復号されます。
- シークレットを利用できるのはセットアップスクリプトだけです。セキュリティ上の理由から、エージェントが動作を開始する前にシークレットは削除されます。
自動セットアップ
一般的なパッケージマネージャー(npm、yarn、pnpm、pip、pipenv、poetry)を使うプロジェクトでは、Codex が依存関係やツールを自動でインストールできます。
手動セットアップ
開発環境の構築に複雑な手順が必要な場合は、独自のセットアップスクリプトも指定できます。以下はその例です。
# Install type checker
pip install pyright
# Install dependencies
poetry install --with test
pnpm install
セットアップスクリプトはエージェントとは別の Bash セッションで実行されるため、export などのコマンドによる設定はエージェントのセッションには引き継がれません。環境変数を引き継ぐには、~/.bashrc に追加するか、環境設定で指定してください。
コンテナのキャッシュ
Codex は、新しいチャットや追加のやり取りをすばやく開始できるよう、コンテナの状態を最大 12 時間キャッシュします。
環境をキャッシュする際は、次の処理を行います。
- Codex がリポジトリをクローンし、デフォルトブランチをチェックアウトします。
- Codex がセットアップスクリプトを実行し、実行後のコンテナの状態をキャッシュします。
キャッシュ済みのコンテナを再開する際は、次の処理を行います。
- Codex がチャットで指定されたブランチをチェックアウトします。
- メンテナンススクリプトが設定されていれば、Codex が実行します。古いコミットでセットアップスクリプトを実行したため、依存関係の更新が必要な場合に役立ちます。
セットアップスクリプト、メンテナンススクリプト、環境変数、シークレットのいずれかを変更すると、Codex は自動的にキャッシュを無効にします。リポジトリの変更によってキャッシュ済みの状態が使えなくなった場合は、環境ページで「キャッシュをリセット」を選択してください。
Business および Enterprise プランでは、環境にアクセスできるすべてのユーザーがキャッシュを共有します。キャッシュを無効にすると、ワークスペース内でその環境を利用するすべてのユーザーに影響します。
インターネットアクセスとネットワークプロキシ
セットアップスクリプトの実行中は、依存関係をインストールするためにインターネットにアクセスできます。エージェントの動作中はインターネットアクセスがデフォルトで無効ですが、設定でアクセス先を制限して許可することも、無制限に許可することもできます。エージェントのインターネットアクセスを参照してください。
各環境では、セキュリティの確保と不正利用の防止のために HTTP/HTTPS ネットワークプロキシを使用します。インターネットへのすべての送信トラフィックは、このプロキシを経由します。
Agent Security におけるコマンドのネットワークアクセス要件
ワークスペースで Agent Security を使ってコマンドのネットワークアクセスを管理している場合は、環境のインターネット設定と管理対象のポリシーの両方を確認してください。これらの制御がコマンドにどのように適用されるかについては、ネットワークの分離を参照してください。