For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
メインナビゲーション
Theme

共同作業と共有

自社サーバーからのチーム向け Codex 設定の配信

自社で運用する HTTPS エンドポイントから、デフォルト設定と必須設定を Codex に配信します。

チームのメンバーには、ChatGPT アカウントで Codex にサインインすることをおすすめします。対応プランでは、マネージド設定を利用できます。自社でサーバーを運用せずに、管理コンソールの Agent security でデフォルト値を設定し、要件を適用できます。

ユーザーが ChatGPT アカウントで Codex にサインインしない場合は、自社で運用する HTTPS サーバーから Codex CLI とデスクトップアプリに設定を配信できます。ユーザーがモデルプロバイダーに直接接続する場合も、ゲートウェイ経由で接続する場合も、Codex は起動時に設定を読み込みます。

クライアントの制限事項

デスクトップアプリでは、設定サーバーへのサインインを求める画面を表示できません。サーバーへのサインインが改めて必要な場合は、同じコンピューターのターミナルで codex login を実行してから、アプリを開き直してください。必須設定を読み込めない場合、アプリの起動処理は一時停止します。

Codex の接続先サーバーの設定

テスト用のコンピューターで、システムの requirements.toml を作成または更新します。[config_server] テーブルを追加し、設定サーバーのベース URL を指定します。Linux と macOS では /etc/codex/requirements.toml、Windows では %ProgramData%\OpenAI\Codex\requirements.toml を使用します。macOS では、管理対象の環境設定を通じてこのテーブルを配布することもできます。

[config_server]
base_url = "https://codex-config.example.com/team"

サーバーを指定できるのは、管理者が管理するローカルの要件設定だけです。ポリシーのほかの部分をエンドポイントに移す際も、このテーブルはコンピューターに残してください。

設定サーバーへのアクセス認証(任意)

デフォルトでは、Codex は認証情報を使わずに設定の取得を試みます。サーバーへのサインインが必要な場合は、[config_server.oauth] を同じ requirements.toml ファイルに追加します。Codex は Proof Key for Code Exchange(PKCE)を使用する OAuth 認可コードフローに従います。

[config_server.oauth]
authorization_url = "https://login.example.com/oauth/authorize"
token_url = "https://login.example.com/oauth/token"
client_id = "codex-policy"
redirect_port = 43127

この例のリダイレクト URI は http://127.0.0.1:43127/callback です。プロバイダーが任意の空きポートでループバックコールバックを受け付ける場合は、redirect_port を省略できます。Codex は Authorization ヘッダーにアクセストークンを含めて送信します。サーバーはバンドルを返す前に、このトークンを検証する必要があります。

Codex 設定の配信

マネージド設定を HTTPS エンドポイントでホストします。Codex CLI はバンドルを取得する際、ローカルの requirements.toml に指定されたベース URL を使って、次の GET リクエストを送信します。

GET {config_server.base_url}/codex/config/bundle

前述の初期設定例の base_url を使用すると、Codex は次のリクエストを送信します。

GET https://codex-config.example.com/team/codex/config/bundle

ステータス 200 OK を返し、レスポンスボディに JSON 形式の設定バンドルを含めます。

設定バンドルの形式

バンドルでは、TOML のエントリを次の 2 つの配列に分けます。

  • config_toml.enterprise_managed には、適用するデフォルト設定を格納します。各エントリの contents には、config.toml 形式のテキストを指定します。
  • requirements_toml.enterprise_managed には、適用を必須とする要件を格納します。各エントリの contents には、requirements.toml 形式のテキストを指定します。

各配列のエントリには、id、name(表示名)、contents の 3 つの文字列フィールドがあります。不要なカテゴリには空の配列を指定します。

次の例では、ウェブ検索のデフォルト値を disabled に設定し、allowed_web_search_modes でその値だけを許可します。

{
  "config_toml": {
    "enterprise_managed": [
      {
        "id": "search-default",
        "name": "Default web search",
        "contents": "web_search = 'disabled'"
      }
    ]
  },
  "requirements_toml": {
    "enterprise_managed": [
      {
        "id": "search-policy",
        "name": "Allowed web search modes",
        "contents": "allowed_web_search_modes = ['disabled']"
      }
    ]
  }
}

Codex での設定の確認

  1. テスト用のコンピューターで、プロジェクトディレクトリを作業ディレクトリとしてターミナルを開き、codex を実行します。サインインを求められた場合は、会社のアカウントでサインインします。
  2. Codex CLI の対話型プロンプトに /debug-config と入力し、Enter キーを押します。
  3. デフォルト設定を配信している場合は、Config layer stack で各設定の名前と ID を確認します。上記の例では、enterprise-managed (Default web search, search-default) (enabled) を探します。
  4. 要件を配信している場合は、Requirements で適用を必須とした設定を探し、その横に表示されるポリシーの取得元を確認します。

Codex はキャッシュされた設定で起動し、バックグラウンドで設定を更新できます。サーバー上のポリシーを変更したら、Codex が設定を更新するまで待ちます。その後、新しいセッションを開始してもう一度設定を確認してから、ほかのコンピューターに展開してください。