Skip to main content
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. Официальные материалы:
Доступность моделей со временем меняется. Замените your-model-id на доступный model ID со страницы моделей CometAPI.

Предварительные требования

  • Node.js >=22.19.0
  • npm
  • Аккаунт CometAPI с активным API key из dashboard
  • Установленный Pi из официального npm-пакета

Понимание разрешений во время выполнения

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

Настройка провайдера

1

Установите Pi

Установите Pi глобально с помощью npm:
Убедитесь, что CLI доступен:
2

Укажите ваш CometAPI API key

Сохраните ваш CometAPI API key в переменной окружения COMETAPI_KEY:
Добавьте команду export в профиль вашей оболочки, если хотите, чтобы она сохранялась между сессиями терминала. Не коммитьте API key в систему контроля версий.
3

Добавьте провайдеры CometAPI в models.json

Создайте ~/.pi/agent/models.json, если он не существует. Если файл уже содержит провайдеры, объедините записи cometapi-responses и cometapi-chat с существующим объектом providers:
Используйте cometapi-responses для моделей или workflows, которым требуется OpenAI Responses API. Используйте cometapi-chat для моделей, совместимых с OpenAI Chat Completions. Pi разрешает $COMETAPI_KEY во время выполнения запроса. Храните API key в вашем окружении или в собственном процессе управления секретами.
4

Проверьте оба провайдера

Выведите список моделей, которые Pi видит для провайдера Responses:
Выполните короткий одноразовый Prompt с провайдером Responses:
Выведите список моделей, которые Pi видит для провайдера Chat Completions:
Выполните короткий одноразовый Prompt с провайдером Chat Completions:
Для интерактивного использования запустите Pi в вашем проекте и выберите провайдера CometAPI и модель с помощью /model. Если вы редактируете models.json во время интерактивной сессии, снова откройте /model, чтобы Pi перезагрузил пользовательские записи моделей.

Устранение неполадок

Убедитесь, что ~/.pi/agent/models.json содержит корректный JSON и что каждая запись provider находится внутри объекта верхнего уровня providers. После сохранения файла выполните pi --list-models cometapi-responses или pi --list-models cometapi-chat.
Убедитесь, что COMETAPI_KEY задан в той же сессии shell, из которой запускается Pi. Если вы используете профиль shell, откройте новый терминал или загрузите профиль перед запуском Pi.
Используйте https://api.cometapi.com/v1 в качестве baseUrl в models.json. Не указывайте для Pi URL панели управления и не опускайте суффикс /v1 для OpenAI-совместимых маршрутов.
Проверьте версию Node.js с помощью node --version. Пакет Pi требует Node.js >=22.19.0.
Используйте запись provider, у которой поле api соответствует маршруту, поддерживаемому вашей моделью. openai-responses использует Responses API, а openai-completions использует Chat Completions.
Pi работает с разрешениями пользователя и процесса, который его запустил. Запускайте Pi внутри контейнера или песочницы, когда нужны более строгие границы для файлов, процессов, сетевого доступа или учетных данных.

Связанные ресурсы