Как навести порядок в запросах к нейросетям с CPA Manager Plus
Когда собираешь стек из нескольких нейросетевых моделей для продакшена или личных инструментов, рано или поздно начинается хаос. Один запрос ушел в Claude, второй в Gemini, третий упал по таймауту в OpenAI, а к концу месяца приходит счет на непонятную сумму. Если для маршрутизации трафика вы уже используете CLIProxyAPI (CPA), стандартного интерфейса быстро перестает хватать.
Проект CPA Manager Plus (CPAMP) закрывает эту дыру. Это панель управления и система наблюдаемости, которая разворачивается на своем сервере, сохраняет историю запросов локально и помогает разобраться, куда именно утекают токены.

Что под капотом
Штука состоит из двух частей. Первая часть — веб-интерфейс, который можно встроить прямо в CPA вместо дефолтной панели. Вторая — отдельный Manager Server на Go с базой данных SQLite.
Архитектура простая и не требует облачных регистраций. Никакой телеметрии наружу проект не шлет, все логи и цены моделей хранятся в локальных файлах. При этом ключи доступа шифруются перед записью в базу с помощью локального ключа data.key.

Главные возможности панели
Поиск сбоев без утечки данных
Главная беда агрегаторов API — трудно понять, почему запрос отвалился. В логах обычно либо каша, либо сырой JSON с чувствительными данными пользователей.
CPAMP забирает данные из очереди CPA и сохраняет их в SQLite. Вы получаете поиск по статусам, задержкам, типам токенов и аккаунтам. При этом тело ошибки автоматически очищается от приватной информации. Если нужно перенести логи для отладки в другую систему, историю можно выгрузить в формате JSONL.
Точный подсчет расходов
Панель раскладывает траты по полочкам: по моделям, провайдерам, аккаунтам, клиентским API-ключам и проектам.
Прайсы подтягиваются автоматически с models.dev, а в случае проблем есть фоллбеки на LiteLLM и OpenRouter. Если у вас кастомные эндпоинты или корпоративные скидки, цены можно переопределить вручную. Приложение учитывает сложные тарифные сетки: разницу между входными и выходными токенами, контекстное кэширование и reasoning-токены.

Контроль аккаунтов и автоматизация квот
При работе с пулом аккаунтов Codex и xAI часто упираешься в лимиты окон запросов. CPAMP умеет проверять статус учетных записей по расписанию, считывать состояние квот и автоматически отправлять аккаунт на кулдаун при приближении к лимиту. Если учетка сломалась, она попадает в отдельную очередь действий для ручной проверки или восстановления.

Как запустить
Развернуть связку из CPA и менеджера проще всего через Docker Compose. Создаем файл конфигурации:
services:
cli-proxy-api:
image: eceasy/cli-proxy-api:latest
restart: unless-stopped
ports:
- '8317:8317'
volumes:
- cpa-data:/app/data
cpa-manager-plus:
image: seakee/cpa-manager-plus:latest
restart: unless-stopped
ports:
- '18317:18317'
volumes:
- cpa-manager-plus-data:/data
volumes:
cpa-data:
cpa-manager-plus-data:
Поднимаем контейнеры командой docker compose up -d. После запуска открываем адрес http://<host>:18317/management.html, берем сгенерированный ключ администратора из логов контейнера cpa-manager-plus и привязываем CPA через URL и мастер-ключ.
Если сам прокси у вас уже работает отдельно, менеджер можно запустить одиночным контейнером:
docker run -d \
--name cpa-manager-plus \
--restart unless-stopped \
-p 18317:18317 \
-v cpa-manager-plus-data:/data \
seakee/cpa-manager-plus:latest
Кому пригодится
Проект ориентирован на тех, кто держит собственный шлюз к нейросетям для команды или личных скриптов. Если вы устали вслепую гадать, почему упал пайплайн и кто из коллег выжег весь дневной лимит токенов, CPAMP решит задачу без лишней возни с внешними сервисами мониторинга. База поднимается за пару минут, не требует настройки ClickHouse или Grafana и сразу дает понятную картину происходящего.
