> ## Documentation Index
> Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CometAPI で Codex を使う

> このガイドでは、ユーザーレベルの config.toml の provider 設定を編集して、CometAPI で Codex を設定する方法を説明します。

このガイドでは、CometAPI を model provider として使用して [Codex](https://developers.openai.com/codex/quickstart) を実行する方法を説明します。

公式リファレンス:

* [Codex クイックスタート](https://developers.openai.com/codex/quickstart)
* [Codex 設定の基本](https://developers.openai.com/codex/config-basic)
* [Codex カスタム model provider](https://developers.openai.com/codex/config-advanced#custom-model-providers)
* [Codex 認証](https://developers.openai.com/codex/auth)
* [Windows での Codex](https://developers.openai.com/codex/windows)

## 前提条件

| Requirement      | Details                                                                                            |
| ---------------- | -------------------------------------------------------------------------------------------------- |
| OS               | macOS、Linux、Windows ネイティブ PowerShell、または WSL を使用する Windows                                         |
| Git              | 2.23+ を推奨                                                                                          |
| Codex            | [Codex クイックスタート](https://developers.openai.com/codex/quickstart) から Codex アプリまたは Codex CLI をインストール |
| CometAPI API key | [CometAPI ダッシュボード](https://www.cometapi.com/console/token) から取得                                    |
| Model ID         | [Models page](/ja/overview/models) の model ID を使用                                                  |

## セットアップ方法を選ぶ

Codex をすばやく設定できるように、2 つの方法を用意しています。

<CardGroup cols={2}>
  <Card title="方法 1: Codex を手動で設定する（推奨）" icon="bolt" href="#configure-codex-manually">
    ユーザーレベルの `~/.codex/config.toml` ファイルを直接編集します。特に Windows および WSL ユーザーにとって、これが最も確実な方法です。
  </Card>

  <Card title="方法 2: スクリプトで設定する" icon="puzzle-piece" href="#run-the-setup-script">
    手早く済ませる方法としてセットアップスクリプトを実行します。これにより同じ provider 設定が書き込まれ、CometAPI API key が Codex 用に保存されます。
  </Card>
</CardGroup>

## Codex を手動で設定する

Codex は、ユーザーレベルの `~/.codex/config.toml` ファイルから個人用の provider デフォルト設定を読み取ります。CometAPI provider はそこに設定し、プロジェクトの `.codex/config.toml` ファイルには設定しないでください。Codex は、プロジェクト設定ファイル内の provider および provider-auth 設定を無視します。

推奨されるセットアップでは、名前付きの `cometapi` provider とコマンドベースの認証を使用します。これにより、CometAPI を組み込みの OpenAI provider から分離でき、シェル環境の継承を必要とせず、`~/.codex/auth.json` を置き換えることもありません。

<Tabs>
  <Tab title="macOS / Linux / WSL">
    CometAPI API キーをローカルのキーファイルに保存します:

    ```bash theme={null}
    mkdir -p "$HOME/.codex"
    printf "%s\n" "$COMETAPI_KEY" > "$HOME/.codex/cometapi_key"
    chmod 600 "$HOME/.codex/cometapi_key"
    ```

    この設定を `~/.codex/config.toml` に追加します:

    ```toml theme={null}
    model_provider = "cometapi"
    model = "your-model-id"

    [model_providers.cometapi]
    name = "CometAPI"
    base_url = "https://api.cometapi.com/v1"
    wire_api = "responses"

    [model_providers.cometapi.auth]
    command = "sh"
    args = ["-c", "cat \"$HOME/.codex/cometapi_key\""]
    ```
  </Tab>

  <Tab title="Windows PowerShell">
    CometAPI API キーを Windows の Codex ホームディレクトリに保存します:

    ```powershell theme={null}
    New-Item -ItemType Directory -Force "$HOME\.codex" | Out-Null
    Set-Content -NoNewline -Path "$HOME\.codex\cometapi_key" -Value $env:COMETAPI_KEY
    ```

    この設定を `$HOME\.codex\config.toml` に追加します:

    ```toml theme={null}
    model_provider = "cometapi"
    model = "your-model-id"

    [model_providers.cometapi]
    name = "CometAPI"
    base_url = "https://api.cometapi.com/v1"
    wire_api = "responses"

    [model_providers.cometapi.auth]
    command = "powershell.exe"
    args = [
      "-NoProfile",
      "-Command",
      "$p=Join-Path $HOME '.codex/cometapi_key'; (Get-Content -Raw $p).Trim()",
    ]
    ```
  </Tab>
</Tabs>

<Note>
  Windows ネイティブの Codex は `$HOME\.codex`（通常は `C:\Users\<user>\.codex`）を使用します。WSL は Linux ディストリビューションの `~/.codex` を使用します。Codex エージェントが実行される環境に対応するディレクトリを編集してください。
</Note>

## 環境変数認証を使用する

CometAPI API キーを環境変数に保持したい場合は、`[model_providers.cometapi.auth]` ブロックの代わりに `env_key` を使用してください。

この provider 設定は、Codex を起動する環境で `COMETAPI_KEY` が利用可能な場合にのみ使用してください:

```toml theme={null}
model_provider = "cometapi"
model = "your-model-id"

[model_providers.cometapi]
name = "CometAPI"
base_url = "https://api.cometapi.com/v1"
wire_api = "responses"
env_key = "COMETAPI_KEY"
```

<Warning>
  `env_key` と `[model_providers.cometapi.auth]` を組み合わせないでください。Codex は、カスタム provider ごとに 1 つの認証方式のみをサポートします。
</Warning>

## セットアップスクリプトを実行する

セットアップスクリプトは任意です。これは同じ `cometapi` プロバイダー設定を `~/.codex/config.toml` に書き込み、CometAPI API キーを `~/.codex/cometapi_key` に保存し、ファイル変更前にバックアップを作成し、Codex CLI が利用可能な場合は `codex exec` で設定を検証します。

macOS、Linux、または WSL の場合は、対話型インストーラーを実行します。

```bash theme={null}
sh -c "$(curl -fsSL https://raw.githubusercontent.com/cometapi-dev/integrations/main/codex/setup.sh)"
```

非対話型セットアップでは、API キーを明示的に渡します。

```bash theme={null}
curl -fsSL https://raw.githubusercontent.com/cometapi-dev/integrations/main/codex/setup.sh | sh -s -- --key "$COMETAPI_KEY"
```

Windows ネイティブ PowerShell の場合は、対話型インストーラーを実行します。

```powershell theme={null}
powershell -c "irm 'https://raw.githubusercontent.com/cometapi-dev/integrations/main/codex/setup.ps1' | iex"
```

非対話型の Windows セットアップでは、API キーを明示的に渡します。

```powershell theme={null}
powershell -c "& ([scriptblock]::Create((irm 'https://raw.githubusercontent.com/cometapi-dev/integrations/main/codex/setup.ps1'))) -Key $env:COMETAPI_KEY"
```

<Warning>
  デフォルトでは、スクリプトは `~/.codex/auth.json` を置き換えず、ChatGPT ログインも削除しません。スクリプトに `auth.json` を通じて Codex の API キーログインを管理させたい場合にのみ、`--force-auth-json` または `-ForceAuthJson` を使用してください。
</Warning>

## model ID を選択または変更する

[Models ページ](/ja/overview/models) の model ID を使用します。手動設定では、`~/.codex/config.toml` 内の `model` の値を変更します。

macOS、Linux、または WSL の場合は、セットアップスクリプト実行時に `--model` を渡します。

```bash theme={null}
curl -fsSL https://raw.githubusercontent.com/cometapi-dev/integrations/main/codex/setup.sh | sh -s -- --key "$COMETAPI_KEY" --model your-model-id
```

Windows ネイティブ PowerShell の場合は、セットアップスクリプト実行時に `-Model` を渡します。

```powershell theme={null}
powershell -c "& ([scriptblock]::Create((irm 'https://raw.githubusercontent.com/cometapi-dev/integrations/main/codex/setup.ps1'))) -Key $env:COMETAPI_KEY -Model 'your-model-id'"
```

<Note>
  スクリプトは、`CODEX_HOME` が設定されている場合はそれを使用します。設定されていない場合は、現在の環境の `~/.codex` に書き込みます。
</Note>

## セットアップを検証する

Codex CLI でセットアップを検証するには、任意のローカルプロジェクトからこの読み取り専用コマンドを実行します。

```bash theme={null}
codex exec --ephemeral --skip-git-repo-check --sandbox read-only --color never "Reply exactly with: COMETAPI_CODEX_OK"
```

Codex CLI が `PATH` で利用できない場合は、Codex アプリを開いてローカルプロジェクトから短いプロンプトを送信してください。

## トラブルシューティング

<AccordionGroup>
  <Accordion title="Codex が引き続きデフォルトの OpenAI プロバイダーを使用する">
    ユーザーレベルの `~/.codex/config.toml` ファイルに `model_provider = "cometapi"` があることを確認してください。
  </Accordion>

  <Accordion title="API キーが変更された">
    `~/.codex/cometapi_key` を更新するか、更新後の `$COMETAPI_KEY` の値でセットアップスクリプトを再実行してください。
  </Accordion>

  <Accordion title="PowerShell スクリプトが事前チェック中に失敗する">
    Windows ネイティブの手動 PowerShell 手順を使用してから、検証コマンドを実行してください。
  </Accordion>

  <Accordion title="パイプされたシェルセットアップで API キーが求められない">
    `--key "$COMETAPI_KEY"` を使用するか、`COMETAPI_KEY` を設定するか、対話型の `sh -c "$(curl ...)"` コマンドを実行してください。
  </Accordion>

  <Accordion title="接続がタイムアウトする、または誤ったベース URL を使用している">
    `~/.codex/config.toml` の `base_url` が `https://api.cometapi.com/v1` であることを確認してください。
  </Accordion>

  <Accordion title="model が見つからない">
    利用可能な model ID については、[Models page](/ja/overview/models) を確認してください。
  </Accordion>

  <Accordion title="Windows セットアップが誤った環境に影響する">
    Windows ネイティブモードでは `$HOME\.codex` を編集し、WSL エージェントモードでは WSL 内の `~/.codex` を編集してください。
  </Accordion>

  <Accordion title="ChatGPT ログインが変更された">
    API キーログインモードを使いたい場合を除き、`--force-auth-json` または `-ForceAuthJson` は使用しないでください。
  </Accordion>
</AccordionGroup>

<script type="application/ld+json">
  {`
    {
    "@context": "https://schema.org",
    "@graph": [
      {
        "@type": "HowTo",
        "@id": "https://apidoc.cometapi.com/integrations/codex#howto",
        "name": "Codex を CometAPI で使う",
        "description": "このガイドでは、ユーザーレベルの config.toml のプロバイダー設定を編集して、Codex を CometAPI で構成する方法を説明します。",
        "step": [
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/codex#step-1",
            "position": 1,
            "name": "前提条件を確認する",
            "text": "「Codex を CometAPI で使う」ガイドの「前提条件を確認する」手順を完了してください。"
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/codex#step-2",
            "position": 2,
            "name": "セットアップ方法を選ぶ",
            "text": "「Codex を CometAPI で使う」ガイドの「セットアップ方法を選ぶ」手順を完了してください。"
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/codex#step-3",
            "position": 3,
            "name": "Codex を手動で設定する",
            "text": "「Codex を CometAPI で使う」ガイドの「Codex を手動で設定する」手順を完了してください。"
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/codex#step-4",
            "position": 4,
            "name": "環境変数認証を使用する",
            "text": "「Codex を CometAPI で使う」ガイドの「環境変数認証を使用する」手順を完了してください。"
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/codex#step-5",
            "position": 5,
            "name": "セットアップスクリプトを実行する",
            "text": "「Codex を CometAPI で使う」ガイドの「セットアップスクリプトを実行する」手順を完了してください。"
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/codex#step-6",
            "position": 6,
            "name": "model ID を選択または変更する",
            "text": "「Codex を CometAPI で使う」ガイドの「model ID を選択または変更する」手順を完了してください。"
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/codex#step-7",
            "position": 7,
            "name": "セットアップを検証する",
            "text": "「Codex を CometAPI で使う」ガイドの「セットアップを検証する」手順を完了してください。"
          }
        ]
      },
      {
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "CometAPI ドキュメント",
            "item": "https://apidoc.cometapi.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "連携",
            "item": "https://apidoc.cometapi.com/integrations"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "Codex を CometAPI で使う",
            "item": "https://apidoc.cometapi.com/integrations/codex"
          }
        ]
      }
    ]
    }
    `}
</script>
