Интеграция · Polza.AI Proxy

Polza.AI Proxy: локальный прокси для упрямых клиентов

Некоторые IDE и CLI не дают задать дополнительные параметры запроса. Прокси принимает их запросы у вас на машине, дописывает нужные поля и отправляет дальше.

  • Одна зависимость
  • Работает локально
  • Выбор провайдера моделей
  • Подходит для Claude Code
npm start

$ npm start

version: X.Y.Z

listening on http://127.0.0.1:8787

upstream: https://polza.ai/api/v1

$ curl http://127.0.0.1:8787/health

{"ok":true}

Так выглядит подключение: ключ, адрес API и модель.

Что такое Polza.AI Proxy

Это маленький сервис, который запускается у вас на компьютере и стоит между инструментом и API. Инструмент думает, что говорит с обычным OpenAI-совместимым сервером, а прокси по дороге дописывает в запрос поля, которые сам клиент задать не умеет.

Нужен он далеко не всегда. Большинство интеграций из документации спокойно принимают адрес и ключ в настройках — там прокси только усложнит схему. Его область — упрямые клиенты и тонкая настройка выбора провайдера.

Код открыт, зависимость одна, работает локально: запросы не уходят никуда, кроме самого API Polza.

Когда нужен прокси

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

Клиент не даёт задать параметры

Некоторые IDE и CLI отправляют жёстко заданное тело запроса: добавить своё поле через интерфейс невозможно.

Прокси дописывает поля по дороге.

Нельзя выбрать провайдера модели

Одна и та же модель бывает у нескольких провайдеров, но выбрать порядок из клиента не получится.

Правила выбора задаются в конфиге прокси.

Клиент требует ключ, которого нет

Инструмент может ожидать ключ определённого формата и не принимать ваш.

Прокси подставляет ваш ключ сам.

Настройки размазаны по инструментам

Одни и те же параметры приходится повторять в каждом клиенте отдельно.

Один конфиг на все подключённые клиенты.

Непонятно, что уходит на сервер

Когда ответ странный, трудно понять, какое тело запроса сформировал клиент.

Логирование тел запросов одним флагом.

Ключ в настройках каждого клиента

Чем больше инструментов, тем больше мест, где лежит один и тот же ключ.

Ключ хранится в одном конфиге прокси.

Как запустить Polza.AI Proxy

Клонировать, настроить, запустить. Нужен Node.js 20 или новее, зависимость всего одна.

Что нужно для запуска

Node.js 20 или новее

Проверяется командой node --version. На более старых версиях прокси не запустится.

Ключ Polza

Кладётся в конфиг в поле polzaApiKey. Можно оставить пустым, если клиент передаёт собственный ключ.

Свободный порт

По умолчанию 8787. Если занят, поменяйте в конфиге или освободите — иначе прокси не поднимется.

  1. Шаг 1

    Установите

    Репозиторий клонируется с GitHub, зависимости ставятся обычным npm install. Тянется только fastify, ничего лишнего.

    Терминал · установка
    $ git clone https://github.com/polza-ai/api-proxy.git
    $ cd api-proxy && npm install
    
    # требуется Node.js 20+
  2. Шаг 2

    Настройте конфиг

    Скопируйте шаблон в config.json и заполните. Если файла нет, при запуске стартует интерактивный мастер настройки.

    config.json
    "port":        8787,
    "host":        "127.0.0.1",
    "polzaApiKey": "ваш-api-ключ",
    "inject":      {}
  3. Шаг 3

    Запустите

    Команда npm start поднимет прокси. При успешном старте появится баннер с версией, адресом прослушивания и апстримом.

    Проверка
    $ npm start
    $ curl http://127.0.0.1:8787/health
      {"ok":true}
  4. Шаг 4

    Подключите клиент

    В настройках инструмента укажите адрес прокси вместо адреса Polza. Для Claude Code это делается в settings.json переменными окружения:

    Claude Code · settings.json
    "env": {
      "ANTHROPIC_BASE_URL": "http://127.0.0.1:8787",
      "ANTHROPIC_AUTH_TOKEN": "любой-placeholder",
      "ANTHROPIC_API_KEY": ""
    }

Зачем нужны инъекции

Главный сценарий — выбор провайдера. Одна и та же модель может обслуживаться разными провайдерами, и через секцию inject задаётся порядок обращения и разрешены ли запасные варианты. Клиент об этом ничего не знает: он шлёт обычный запрос, а поля дописываются по дороге. Важная деталь: если клиент сам передал такое поле, прокси его не перетирает.

Открыть каталог моделей

Что умеет прокси

Небольшой локальный сервис с узкой, но полезной ролью.

Прозрачный форвардинг

Принимает OpenAI-совместимые запросы и отправляет их дальше, не меняя логику работы клиента.

Выбор провайдера

Порядок провайдеров и разрешение запасных вариантов задаются в конфиге и применяются к каждому запросу.

Подстановка ключа

Если ключ задан в конфиге, клиент может передавать любой placeholder — прокси подставит ваш.

Отладка запросов

Флаг логирования показывает, какое тело уходит на сервер, — удобно, когда поведение клиента непонятно.

Только локально

По умолчанию слушает 127.0.0.1, то есть доступен лишь с вашей машины.

Одна зависимость

Из внешнего — только fastify. Запускается быстро и не тянет за собой половину npm.

Скорее нет

Если ваш инструмент позволяет вписать Base URL и ключ — а это большинство интеграций, — прокси не нужен. Просто укажите адрес Polza напрямую.

Скорее да

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

Чем прокси отличается от прямого подключения

Два способа связать инструмент с API, и выбирать между ними стоит по возможностям клиента, а не по вкусу.

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

Адрес и ключ прямо в настройках инструмента. Проще, надёжнее, ничего не надо поддерживать. Так работает большинство интеграций.

Через прокси

Нужен, когда клиент не даёт задать поля или требуется управлять выбором провайдера. Добавляет один локальный сервис в схему.

Свой скрипт-обёртка

Максимальная свобода и максимум поддержки: логику, обработку ошибок и логи придётся писать самому.

Напрямую или через прокси

Polza.AI Proxy: Напрямую или через прокси
НапрямуюЧерез прокси
НастройкаАдрес и ключ в клиентеПлюс запуск локального сервиса
Дополнительные поляТолько если клиент умеетДописываются автоматически
Выбор провайдераНедоступен из клиентаЗадаётся в конфиге
КлючВ настройках каждого клиентаВ одном конфиге прокси
ОтладкаЧто ушло — не видноЛогирование тел запросов
Когда применятьПочти всегдаКогда клиент упрямый

Сколько это стоит

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

Ничего сверху

Прокси не берёт комиссию и не меняет тарификацию: он лишь передаёт запросы дальше с дописанными полями.

Экономия на выборе провайдера

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

Расход виден как обычно

Запросы идут по вашему ключу, поэтому статистика по моделям и ключам в кабинете остаётся полной.

Модели, с которых стоит начать

Актуальные цены за 1M токенов — в каталоге моделей.

Если прокси не работает

Четыре причины, на которые приходится почти вся переписка с поддержкой.

Не запускается или отвечает 502

Проверьте polzaApiKey в конфиге: без ключа прокси стартует, но получит 401 от апстрима. Убедитесь, что порт свободен и Node.js не ниже 20.

Инъекции не применяются

Они работают на chat/completions, completions и responses. Включите логирование тел запросов и проверьте, что уходит на сервер.

Клиент не видит прокси

В настройках инструмента должен стоять адрес прокси, а не адрес Polza. Проверьте порт и то, что сервис действительно запущен.

Проверка здоровья не отвечает

Запрос на /health должен вернуть {"ok":true}. Если ответа нет, прокси не поднялся — смотрите вывод команды запуска.

Для команд и юрлиц

Счёт, УПД и НДС

Оплата по счёту для ООО и ИП, договор с российским юрлицом, закрывающие документы каждый месяц.

Ключ на сотрудника

Отдельные ключи с общим балансом организации: видно, кто и сколько потратил.

Контроль бюджета

Статистика расходов по ключам и моделям в кабинете, без сюрпризов в конце месяца.

Помощь с переездом

Поможем перевести команду с зарубежных подписок на API: настройка окружений и правила расходования.

Вопросы и ответы

Что такое Polza.AI Proxy?

Локальный OpenAI-совместимый прокси. Он принимает запросы от IDE и CLI, которые не умеют задавать дополнительные параметры, дописывает нужные поля и передаёт запрос дальше на API Polza.

Нужен ли он мне?

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

Что нужно для запуска?

Node.js 20 или новее и ключ Polza. Зависимость всего одна — fastify.

Какой адрес указывать в клиенте?

http://127.0.0.1:8787 вместо адреса Polza. Порт меняется в конфиге, по умолчанию 8787.

Как подключить Claude Code?

В settings.json задать ANTHROPIC_BASE_URL на адрес прокси, в ANTHROPIC_AUTH_TOKEN положить любой placeholder, а ANTHROPIC_API_KEY оставить пустым.

Прокси возвращает 502

Чаще всего не заполнен polzaApiKey в конфиге — тогда апстрим отвечает 401. Проверьте также, что порт свободен и что версия Node.js не ниже 20.

Инъекции не применяются

Они работают на эндпоинтах chat/completions, completions и responses. Включите логирование тел запросов и посмотрите, что уходит. Если клиент сам передал поле, прокси его не перезаписывает.

Можно ли открыть доступ по сети?

В конфиге есть параметр host: значение 0.0.0.0 заставит слушать все интерфейсы. По умолчанию стоит 127.0.0.1, и для локальной работы это правильнее.

Кто проверял эту инструкцию

Илья Дашкин

Основатель Polza.AI · редакция Polza.AI

Собрал и проверил подключение Polza.AI Proxy на актуальной версии: прошёл все шаги заново, сверил идентификаторы моделей с каталогом и перепроверил адреса API. Если инструмент обновится и инструкция разойдётся с реальностью — правим страницу.

Обновлено · Как работает редакция · Нашли неточность? Напишите нам

Поставьте прокси, если клиент упрямится

Клонировать, заполнить конфиг, запустить — и инструмент, который не давал задать параметры, начнёт работать как нужно.

Остались вопросы? Документация по Polza.AI Proxy, поддержка в Telegram или support@polza.ai

Инструкцию проверила редакция Polza.AI, обновлено . Цены и список моделей меняются — актуальные смотрите в каталоге.

Сайт использует cookie.