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

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

> Скористайтеся цим посібником, щоб налаштувати Pi з CometAPI, вказавши base URL, API key, а також параметри model або provider.

[Pi](https://github.com/earendil-works/pi) — це проєкт Pi Agent Harness. Його пакет `@earendil-works/pi-coding-agent` надає інтерактивний CLI coding agent із робочими процесами file, shell, edit, write, session, print, JSON, RPC та SDK. Pi може завантажувати власні provider з `~/.pi/agent/models.json`, тож ви можете додати CometAPI як записи OpenAI-compatible provider без змін у вихідному коді Pi.

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

* [Репозиторій Pi](https://github.com/earendil-works/pi)
* [Швидкий старт Pi](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/quickstart.md)
* [Provider Pi](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/providers.md)
* [Користувацькі моделі Pi](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/models.md)
* [Використання CLI Pi](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/usage.md)

<Note>
  Доступність моделей змінюється з часом. Замініть `your-model-id` на доступний model ID зі [сторінки моделей CometAPI](/uk/overview/models).
</Note>

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

* Node.js `>=22.19.0`
* npm
* Обліковий запис CometAPI з активним API key з [dashboard](https://www.cometapi.com/console/token)
* Pi, встановлений з офіційного npm package

## Розуміння дозволів середовища виконання

Pi працює з дозволами користувача та процесу, який його запускає. Запускайте Pi в каталозі проєкту, над яким він має працювати, зберігайте можливість відкату, наприклад через git, і використовуйте container або sandbox, якщо вам потрібні суворіші межі для файлової системи, процесів, мережі чи облікових даних.

## Налаштуйте provider

<Steps>
  <Step title="Установіть Pi">
    Установіть Pi глобально за допомогою npm:

    ```bash theme={null}
    npm install -g --ignore-scripts @earendil-works/pi-coding-agent
    ```

    Підтвердьте, що CLI доступний:

    ```bash theme={null}
    pi --version
    ```
  </Step>

  <Step title="Установіть свій API key CometAPI">
    Збережіть свій API key CometAPI у змінній середовища `COMETAPI_KEY`:

    ```bash theme={null}
    read -rsp "CometAPI API key: " COMETAPI_KEY
    printf '\n'
    export COMETAPI_KEY
    ```

    Додайте команду export до профілю вашої оболонки, якщо хочете, щоб вона зберігалася між сесіями термінала. Не комітьте API key у систему контролю версій.
  </Step>

  <Step title="Додайте providers CometAPI до models.json">
    Створіть `~/.pi/agent/models.json`, якщо він не існує. Якщо файл уже містить providers, об’єднайте записи `cometapi-responses` і `cometapi-chat` в наявний об’єкт `providers`:

    ```json theme={null}
    {
      "providers": {
        "cometapi-responses": {
          "name": "CometAPI Responses",
          "baseUrl": "https://api.cometapi.com/v1",
          "api": "openai-responses",
          "apiKey": "$COMETAPI_KEY",
          "models": [
            {
              "id": "your-model-id",
              "name": "CometAPI Responses model"
            }
          ]
        },
        "cometapi-chat": {
          "name": "CometAPI Chat Completions",
          "baseUrl": "https://api.cometapi.com/v1",
          "api": "openai-completions",
          "apiKey": "$COMETAPI_KEY",
          "models": [
            {
              "id": "your-model-id",
              "name": "CometAPI Chat model"
            }
          ]
        }
      }
    }
    ```

    Використовуйте `cometapi-responses` для моделей або workflow, яким потрібен OpenAI Responses API. Використовуйте `cometapi-chat` для моделей, сумісних з OpenAI Chat Completions. Pi визначає `$COMETAPI_KEY` під час виконання запиту. Зберігайте API key у своєму середовищі або у власному workflow для секретів.
  </Step>

  <Step title="Перевірте обидва providers">
    Перелічіть моделі, які Pi бачить для provider Responses:

    ```bash theme={null}
    pi --list-models cometapi-responses
    ```

    Виконайте короткий одноразовий Prompt із provider Responses:

    ```bash theme={null}
    pi --provider cometapi-responses --model your-model-id -p "Reply with one short sentence confirming the Responses connection."
    ```

    Перелічіть моделі, які Pi бачить для provider Chat Completions:

    ```bash theme={null}
    pi --list-models cometapi-chat
    ```

    Виконайте короткий одноразовий Prompt із provider Chat Completions:

    ```bash theme={null}
    pi --provider cometapi-chat --model your-model-id -p "Reply with one short sentence confirming the Chat Completions connection."
    ```

    Для інтерактивного використання запустіть Pi у своєму проєкті та виберіть provider CometAPI і модель за допомогою `/model`. Якщо ви редагуєте `models.json` під час інтерактивної сесії, знову відкрийте `/model`, щоб Pi перезавантажив користувацькі записи моделей.
  </Step>
</Steps>

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

<AccordionGroup>
  <Accordion title="Pi не показує модель CometAPI">
    Переконайтеся, що `~/.pi/agent/models.json` є коректним JSON і що кожен запис provider розміщений у верхньорівневому об’єкті `providers`. Після збереження файлу виконайте `pi --list-models cometapi-responses` або `pi --list-models cometapi-chat`.
  </Accordion>

  <Accordion title="Pi повідомляє, що API key недоступний">
    Переконайтеся, що `COMETAPI_KEY` задано в тій самій сесії shell, з якої запускається Pi. Якщо ви використовуєте профіль shell, відкрийте новий термінал або завантажте профіль перед запуском Pi.
  </Accordion>

  <Accordion title="Запити не проходять через base URL">
    Використовуйте `https://api.cometapi.com/v1` як `baseUrl` у `models.json`. Не вказуйте для Pi URL інформаційної панелі та не пропускайте суфікс `/v1` для OpenAI-сумісних маршрутів.
  </Accordion>

  <Accordion title="Pi завершується з помилкою до надсилання запиту до моделі">
    Перевірте свою версію Node.js за допомогою `node --version`. Пакет Pi потребує Node.js `>=22.19.0`.
  </Accordion>

  <Accordion title="Модель працює на одному маршруті, але не на іншому">
    Використовуйте запис provider, у якого поле `api` відповідає маршруту, який підтримує ваша модель. `openai-responses` використовує Responses API, тоді як `openai-completions` використовує Chat Completions.
  </Accordion>

  <Accordion title="Pi має більше доступу, ніж очікувалося">
    Pi працює з дозволами користувача й процесу, які його запустили. Запускайте Pi всередині контейнера або sandbox, коли вам потрібні суворіші межі для файлів, процесів, мережевого доступу або облікових даних.
  </Accordion>
</AccordionGroup>

## Пов’язані ресурси

* [Швидкий старт CometAPI](/uk/overview/quick-start)
* [Сторінка моделей CometAPI](/uk/overview/models)
* [Користувацькі моделі Pi](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/models.md)
* [Використання Pi CLI](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/usage.md)

<script type="application/ld+json">
  {`
    {
    "@context": "https://schema.org",
    "@graph": [
      {
        "@type": "HowTo",
        "@id": "https://apidoc.cometapi.com/integrations/pi#howto",
        "name": "Використання Pi з CometAPI",
        "description": "Скористайтеся цим посібником, щоб налаштувати Pi з CometAPI, задавши базову URL-адресу, API key і параметри model або provider.",
        "step": [
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/pi#step-1",
            "position": 1,
            "name": "Встановіть Pi",
            "text": "Виконайте крок «Встановіть Pi» у посібнику «Використання Pi з CometAPI»."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/pi#step-2",
            "position": 2,
            "name": "Установіть свій CometAPI API key",
            "text": "Збережіть свій CometAPI API key у змінній середовища або полі налаштувань, яке використовує інтеграція."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/pi#step-3",
            "position": 3,
            "name": "Додайте provider CometAPI до models.json",
            "text": "Виконайте крок «Додайте provider CometAPI до models.json» у посібнику «Використання Pi з CometAPI»."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/pi#step-4",
            "position": 4,
            "name": "Перевірте обидва provider",
            "text": "Виконайте крок «Перевірте обидва provider» у посібнику «Використання Pi з 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": "Використання Pi з CometAPI",
            "item": "https://apidoc.cometapi.com/integrations/pi"
          }
        ]
      }
    ]
    }
    `}
</script>
