Подключение программ

Подключить программу к «Прокси-агенту» просто: там, где раньше был адрес поставщика, укажите адрес вашего сервера, а вместо ключа поставщика — свой ключ доступа. Ничего переписывать в самой программе не нужно, поэтому подойдёт почти любая: редакторы кода, чаты, боты, внутренние скрипты.

Три адреса

Сервер понимает два распространённых «языка» обращения к моделям и умеет показать список моделей на третьем адресе.

  • POST /api/chat/completions — язык OpenAI. Его понимают почти все программы и библиотеки.
  • POST /api/v1/messages — язык Anthropic. Его используют Claude и программы, настроенные на него.
  • GET /api/models — список активных моделей в обычном виде. По нему программа понимает, какие модели ей доступны.

Программа выбирает адрес по своему языку — вам не нужно решать это за неё. Язык программы не обязан совпадать с языком поставщика модели: об этом позаботится преобразование форматов.

Авторизация

Вместо ключа поставщика программы предъявляют ваш ключ доступа. Поддерживаются два привычных способа:

Authorization: Bearer proxyagent-имя-24знака
x-api-key: proxyagent-имя-24знака

Достаточно одного из них. Если ключ не указан, неизвестен или деактивирован, запрос отклоняется с понятным текстом об ошибке ключа.

Что меняется в программе

  • Адрес поставщика заменяется на адрес вашего сервера.
  • Ключ поставщика заменяется на ваш ключ доступа.
  • Модель указывается её публичным именем из раздела «Модели» — тем же, что видны в GET /api/models.

Пример: Claude Code

Claude Code настраивается двумя переменными окружения. Адресом основания служит адрес вашего сервера с /api на конце — именно такую подсказку показывает раздел «Ключи»:

ANTHROPIC_BASE_URL=https://ваш-сервер/api
ANTHROPIC_AUTH_TOKEN=proxyagent-имя-24знака

После этого Claude Code обращается к вашему серверу, а тот передаёт запросы дальше — тому поставщику, который указан у выбранной модели.

Пример: обычная проверка

Убедиться, что всё работает, можно одной командой — она заменяет собой любую программу:

curl https://ваш-сервер/api/chat/completions \
  -H "Authorization: Bearer proxyagent-имя-24знака" \
  -H "Content-Type: application/json" \
  -d '{"model":"имя-модели","messages":[{"role":"user","content":"Привет"}]}'

В ответ придёт обычный ответ модели. Если вместо него пришёл текст ошибки, он сам подскажет причину: неизвестная модель, неразрешённая модель или исчерпанный предел расхода.

Формат ошибок

Ошибки приходят в том же языке, на котором вы обратились: программа на языке OpenAI получит ответ в его виде, программа на языке Anthropic — в своём. Это важно для тех программ, которые разбирают ответы автоматически.

Одна особенность, о которой стоит знать: отказ по ключу всегда приходит в языке OpenAI — даже если вы обратились на языке Anthropic. Такова зафиксированная особенность продукта, и полагаться на единый формат для всех ошибок не стоит.

Как понять, что всё заработало

Самый простой признак — запись в журнале запросов. Отправьте из программы один запрос и обновите журнал: там должна появиться строка с именем модели, именем ключа, стоимостью и длительностью. Если строки нет, значит запрос до сервера не дошёл — проверьте адрес и ключ в настройках программы.

Дальше: что происходит, когда программа и поставщик говорят на разных языках, — в разделе Преобразование форматов.

← Оглавление документации