Клиенты/pi

Wokey API в pi

Получите API-ключ Wokey, укажите в pi base URL Wokey и проверьте подключение одним curl-запросом.

Обновлено

На этой страницеexpand_more

Получите API-ключ и Base URLlink

Все клиенты используют один и тот же API-ключ Wokey и один и тот же Base URL.

Создайте API-ключ

Войдите и создайте ключ платформы на странице API. Ключи одного аккаунта используют общий баланс.

Создать API-ключkey

Используйте Base URL Wokey

Укажите в качестве Base URL клиента домен шлюза; из конфигурации ниже видно, нужно ли добавлять /v1.

Настройте клиентlink

pi читает пользовательских провайдеров из models.json. Конфигурация ниже вызывает модели Claude через Anthropic Messages; для GPT, DeepSeek и других моделей добавьте второго провайдера с api, равным openai-completions, и baseUrl, который заканчивается на /v1.

  1. 1

    Экспортируйте API-ключ

    Выполните export WOKEY_API_KEY="YOUR_API_KEY" в терминале, где запускается pi, или добавьте эту строку в ~/.zshrc.

  2. 2

    Запишите models.json

    Сохраните содержимое ниже в ~/.pi/agent/models.json. Если в файле уже есть другие провайдеры, добавьте в providers только запись wokey.

  3. 3

    Выберите модель

    Запустите pi, введите /model и выберите модель в разделе wokey.

pi
{
  "providers": {
    "wokey": {
      "baseUrl": "https://api.wokey.ai",
      "api": "anthropic-messages",
      "apiKey": "$WOKEY_API_KEY",
      "models": [
        { "id": "claude-opus-5-5", "reasoning": true, "input": ["text", "image"] }
      ]
    }
  }
}

Форматы API и Base URLlink

Когда клиент переключается на другой формат API, наличие /v1 в Base URL может измениться.

ФорматBase URLДля чего
Anthropic Messageshttps://api.wokey.aiМодели Claude
OpenAI Chat Completionshttps://api.wokey.ai/v1DeepSeek, GLM, Kimi и другие модели
OpenAI Responseshttps://api.wokey.ai/v1Модели GPT

Где настраивается: ~/.pi/agent/models.json

Проверка через curllink

Если клиент выдаёт ошибку, сначала исключите проблемы с ключом и Base URL с помощью curl.

pi по умолчанию использует формат Anthropic Messages. Ответ 200 на этот запрос означает, что ключ и Base URL указаны верно. Перед отправкой замените YOUR_API_KEY на свой ключ.

cURL
curl https://api.wokey.ai/v1/messages \
  -H "x-api-key: YOUR_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "max_tokens": 1024,
    "messages": [
      { "role": "user", "content": "Hello" }
    ]
  }'

Ошибки и устранение неполадокlink

Сначала отделите ошибки авторизации, баланса, ограничения частоты запросов, недоступности модели и таймаута на стороне апстрима.

401

invalid api key

Ключ отсутствует, указан с ошибкой, удалён, либо заголовки Authorization / x-api-key противоречат друг другу.

402

insufficient balance

Недостаточно средств на балансе. Пополните баланс, чтобы продолжить отправлять запросы.

403

model_denylisted / account_restricted

Вызовы модели или всех моделей аккаунта приостановлены после повторных нарушений. Подробнее — в разделе «Сбор за нарушения и ограничения».

403

request_blocked

Запрос заблокирован до отправки в апстрим и не оплачивается: например, повторная отправка без изменений запроса, который модель только что отклонила, или приостановленный конечный пользователь (X-End-User-Id). В сообщении об ошибке указано, что именно заблокировано; измените запрос по подсказке или повторите попытку позже. Другие запросы это не затрагивает.

429

rate limited

Слишком частые запросы. Повторите позже или снизьте параллелизм. Если 429 постоянно возвращается только для одной модели или одного конечного пользователя (X-End-User-Id), это может быть временное ограничение после нарушений.

499

client disconnected

Клиент закрыл соединение до завершения ответа (code downstream_aborted). По умолчанию это бесплатно. Если за последние 24 часа у аккаунта не меньше 50 отключений клиента и они составляют 10% запросов или больше, последующие прерванные запросы оплачиваются по данным апстрима: обработанный ввод, включая чтение и запись кэша, а вывод — только если апстрим его подсчитал. Отключение до того, как апстрим сообщил об использовании, остаётся бесплатным. Аккаунт получает уведомление, когда оплата начинается, а когда доля отключений возвращается в норму, оплата автоматически прекращается в течение часа. Обычно причина — слишком короткий тайм-аут клиента или прокси либо программа, которая отменяет запросы до их завершения.

502

upstream unavailable

Сервис модели на стороне апстрима временно недоступен. Переключитесь на другую модель или повторите позже.

504

upstream timeout

Истекло время ожидания ответа апстрима. Сократите контекст, уменьшите max_tokens или повторите запрос.

529

upstream overloaded

Модель на стороне апстрима временно перегружена; Wokey уже повторил запрос по другим маршрутам (code upstream_overloaded). С вашим балансом это не связано. Повторите чуть позже или переключитесь на другую модель.

Частые вопросыlink

Нужно ли добавлять /v1 в baseUrl для pi?
Зависит от поля api. Для anthropic-messages укажите https://api.wokey.ai без /v1; для openai-completions и openai-responses укажите https://api.wokey.ai/v1.
Почему моделей Wokey нет в /model?
pi не показывает пользовательские модели, если не может получить API-ключ. Если в apiKey указано $WOKEY_API_KEY, выполните export WOKEY_API_KEY в том же терминале, где запускается pi, и проверьте, что models.json является корректным JSON. /model перечитывает файл при каждом открытии.
Как отправлять изображения модели Wokey в pi?
Пользовательские модели в pi по умолчанию объявляют только текстовый ввод. Добавьте "input": ["text", "image"] модели, которая принимает изображения, чтобы объявить, что она принимает изображения.
Нужно ли менять контекстное окно и максимальный вывод?
Без этих полей pi считает contextWindow равным 128000, а maxTokens равным 16384. Если окно модели больше, укажите contextWindow и maxTokens в записи модели по значениям со страницы модели.
Можно ли не хранить API-ключ в файле?
Да. apiKey принимает переменную окружения в виде $NAME и форму !command, которая читает ключ из вывода команды.