> ## 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.

# Використання Codex із CometAPI

> Скористайтеся цим посібником, щоб налаштувати Codex з CometAPI як провайдером моделей, відредагувавши параметри provider у config.toml на рівні користувача.

Скористайтеся цим посібником, щоб запускати [Codex](https://developers.openai.com/codex/quickstart) з CometAPI як провайдером моделей.

Офіційні посилання:

* [Швидкий старт Codex](https://developers.openai.com/codex/quickstart)
* [Основи конфігурації Codex](https://developers.openai.com/codex/config-basic)
* [Користувацькі провайдери моделей у Codex](https://developers.openai.com/codex/config-advanced#custom-model-providers)
* [Автентифікація Codex](https://developers.openai.com/codex/auth)
* [Codex у Windows](https://developers.openai.com/codex/windows)

## Передумови

| Вимога           | Деталі                                                                                                               |
| ---------------- | -------------------------------------------------------------------------------------------------------------------- |
| OS               | macOS, Linux, нативний PowerShell у Windows або Windows із WSL                                                       |
| Git              | Рекомендовано 2.23+                                                                                                  |
| Codex            | Установіть застосунок Codex або Codex CLI зі [швидкого старту Codex](https://developers.openai.com/codex/quickstart) |
| CometAPI API key | Отримайте ключ у [панелі керування CometAPI](https://www.cometapi.com/console/token)                                 |
| Model ID         | Використовуйте model ID зі [сторінки Models](/uk/overview/models)                                                    |

## Виберіть шлях налаштування

Ми пропонуємо два варіанти, щоб допомогти вам швидко налаштувати Codex.

<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`. Налаштовуйте провайдера CometAPI саме там, а не у файлі проєкту `.codex/config.toml`. Codex ігнорує налаштування provider і provider-auth у файлах конфігурації проєкту.

Рекомендоване налаштування використовує іменований провайдер `cometapi` та автентифікацію на основі команди. Це відокремлює CometAPI від вбудованого провайдера OpenAI, не потребує успадкування змінних середовища оболонки та не замінює `~/.codex/auth.json`.

<Tabs>
  <Tab title="macOS / Linux / WSL">
    Збережіть свій API key CometAPI у локальному файлі ключа:

    ```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">
    Збережіть свій API key CometAPI у домашньому каталозі Codex у Windows:

    ```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>
  Нативний Codex у Windows використовує `$HOME\.codex`, зазвичай `C:\Users\<user>\.codex`. WSL використовує `~/.codex` дистрибутива Linux. Редагуйте каталог, який відповідає середовищу, у якому працює агент Codex.
</Note>

## Використовуйте автентифікацію через змінну середовища

Якщо ви хочете зберігати API key CometAPI у змінній середовища, використовуйте `env_key` замість блоку `[model_providers.cometapi.auth]`.

Використовуйте цю конфігурацію провайдера лише тоді, коли `COMETAPI_KEY` доступний у середовищі, з якого запускається Codex:

```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 підтримує один метод автентифікації для кожного користувацького провайдера.
</Warning>

## Запустіть скрипт налаштування

Скрипт налаштування є необов’язковим. Він записує ту саму конфігурацію провайдера `cometapi` до `~/.codex/config.toml`, зберігає ваш API-ключ CometAPI у `~/.codex/cometapi_key`, створює резервні копії перед змінами файлів і перевіряє конфігурацію за допомогою `codex exec`, коли доступний Codex CLI.

Для 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 native 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. Використовуйте `--force-auth-json` або `-ForceAuthJson`, лише якщо хочете, щоб скрипт керував входом до Codex за API-ключем через `auth.json`.
</Warning>

## Виберіть або змініть model ID

Використовуйте model ID зі сторінки [Models page](/uk/overview/models). У разі ручного налаштування змініть значення `model` у `~/.codex/config.toml`.

Для 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 native 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 і надішліть короткий Prompt із локального проєкту.

## Усунення несправностей

<AccordionGroup>
  <Accordion title="Codex досі використовує стандартного провайдера OpenAI">
    Переконайтеся, що `model_provider = "cometapi"` є у файлі користувацького рівня `~/.codex/config.toml`.
  </Accordion>

  <Accordion title="API key змінився">
    Оновіть `~/.codex/cometapi_key` або повторно запустіть скрипт налаштування з оновленим значенням `$COMETAPI_KEY`.
  </Accordion>

  <Accordion title="Скрипт PowerShell завершується помилкою під час попередніх перевірок">
    Використайте ручні кроки для Windows native PowerShell, а потім виконайте команду перевірки.
  </Accordion>

  <Accordion title="Налаштування shell через pipe не запитує API key">
    Використайте `--key "$COMETAPI_KEY"`, встановіть `COMETAPI_KEY` або запустіть інтерактивну команду `sh -c "$(curl ...)"`.
  </Accordion>

  <Accordion title="З’єднання завершується за тайм-аутом або використовує неправильний base URL">
    Переконайтеся, що `base_url` має значення `https://api.cometapi.com/v1` у `~/.codex/config.toml`.
  </Accordion>

  <Accordion title="Модель не знайдено">
    Перевірте [сторінку Models](/uk/overview/models), щоб побачити доступні model IDs.
  </Accordion>

  <Accordion title="Налаштування Windows впливає на неправильне середовище">
    Редагуйте `$HOME\.codex` для режиму Windows native або редагуйте `~/.codex` всередині WSL для режиму агента WSL.
  </Accordion>

  <Accordion title="Вхід через ChatGPT змінився">
    Не використовуйте `--force-auth-json` або `-ForceAuthJson`, якщо вам не потрібен режим входу через API key.
  </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": "Скористайтеся цим посібником, щоб налаштувати Codex з CometAPI, відредагувавши параметри provider у config.toml на рівні користувача.",
        "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 вручну» у посібнику «Використання Codex з CometAPI»."
          },
          {
            "@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": "Виконайте крок «Оберіть або змініть model ID» у посібнику «Використання Codex з CometAPI»."
          },
          {
            "@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>
