Один вход ко всем ИИ-моделям: ключи, лимиты, расходы и журналы — в одном месте, а программы работают как раньше
Все ваши программы обращаются не к десятку поставщиков моделей по отдельности, а к одному адресу на вашем сервере. Ключи поставщиков лежат в одном месте и не разъезжаются по компьютерам сотрудников, у каждого человека или подрядчика свой ключ доступа со своими пределами расхода и разрешёнными моделями, а расход видно в деньгах, а не в токенах. Дополнительно продукт умеет преобразовывать форматы запросов (программа под одного поставщика работает с моделью другого), скрывать секреты из запросов до отправки в модель, пропускать обычный трафик по HTTP и SOCKS5 через свои каналы связи — свой прокси, SOCKS5, VPN и подписки Happ — и даёт чат с ИИ-агентом прямо в интерфейсе. Это самостоятельное приложение на вашем сервере: оно обслуживает все ваши программы сразу, а не только Pastukhov Agent — не путайте его с встроенным прокси-сервером агента, который работает внутри одного продукта.
Один адрес вместо десятка: программы обращаются к прокси, а не к каждому поставщику напрямую
Ключи поставщиков лежат на вашем сервере и не расходятся по компьютерам сотрудников
Свои ключи доступа для команд и подрядчиков: имя, право отзыва, перегенерация одной кнопкой
OpenAI, Anthropic и DeepSeek за одним адресом — какая бы программа ни использовалась
Преобразование форматов: программа, написанная под один поставщик, работает с моделью другого
Список доступных моделей по стандартному адресу — программа сама покажет их в своём списке
Смена модели или поставщика для всех программ сразу, без перенастройки каждой
Конфигурация едет вместе с проектом: модели, каналы и ключи доступа лежат в понятных файлах
У каждой модели своя цена за миллион «порций текста» (токенов) — расходы видно в деньгах, а не в токенах
Лимиты на день, неделю, месяц и всего: подрядчик или сорвавшийся скрипт не выключит бюджет
Ограничение по моделям: ключу можно разрешить только те модели, которые ему положены
Повторно использованный текст считается по своей цене — счёт совпадает с реальным расходом
Журнал запросов: кто, когда, какая модель, сколько токенов и сколько денег
Тексты запросов и ответов не сохраняются — переписка с ИИ не копится в базе
Аналитика: объём запросов, задержки, разбивка по моделям и ключам, часы пик, ошибки
Скрытие секретов: пароли и ключи из запросов заменяются условными обозначениями и возвращаются на место
Отчёты об утечках: видно, какие правила и модели чаще всего задевают секреты
Прокси для обычного трафика: HTTP и SOCKS5 на одном порту — со своим портом и своим входом у каждого канала
Подписки Happ как канал: вставьте ссылку на подписку, выберите сервер из списка — остальное делает вшитое ядро Xray
Свои HTTP-прокси, SOCKS5 и VPN как каналы — с проверкой связи и своим портом для подрядчиков
Чат с ИИ-агентом внутри продукта: подключите Pastukhov Agent и спрашивайте про интерфейс в чате
Всё на вашем сервере: приложение, файлы конфигурации и журналы остаются у вас
Лицензия закрывает трафик, а не интерфейс: без ключа запросы не проходят, но настроить можно всё
Экономия ресурсов в простое: пока трафик не идёт, приложение не нагружает процессор, а память освобождается через 15 минут без работы
Один адрес вместо десяти поставщиков
Программы обращаются не к каждому поставщику по отдельности, а на один адрес вашего сервера — настроить каждую программу нужно один раз
Три привычных адреса: /api/chat/completions (формат OpenAI), /api/v1/messages (формат Anthropic) и /api/models со списком моделей
Вход по ключу доступа: Authorization: Bearer или x-api-key — подходит и OpenAI-программам, и Anthropic-программам
Даже отказ по ключу приходит в привычном формате OpenAI, поэтому программа покажет понятную ошибку, а не «неизвестный ответ»
Ключи доступа: кому что можно
Ключ доступа — ваш собственный ключ для входа в прокси, он не связан с ключами поставщиков и выдаётся каждому человеку или программе отдельно
Ключ выглядит как proxyagent-имя-24 знака; в базе хранится только отпечаток SHA-256 и последние 8 знаков, а сам ключ показывается один раз
Перегенерация мгновенно отзывает прежний ключ: если ключ утёк, старая копия перестаёт работать сразу
Ключ можно «Деактивировать», «Клонировать» и «Проверить» — а его настройки открываются в разделе «Ключи»
Модели и цены за миллион токенов
Модель — единица маршрутизации: у каждой своё подключение к поставщику, своя метка и свои цены за миллион «порций текста» (токенов)
Для каждой модели указываются цены на ввод, вывод и повторно использованный ввод — по ним и считаются расходы
Кнопка «Проверить» обращается к реальному адресу модели и показывает, отвечает ли поставщик; ключ при этом маскируется
Модель можно клонировать; удалить её нельзя, если после этого у какого-то ключа не останется ни одной разрешённой модели
Любая программа — любая модель: преобразование форматов
Внутри работают три движка: OpenAI, Anthropic и DeepSeek — программа одного поставщика свободно работает с моделью другого
Для DeepSeek запрос дополнительно пересобирается: поле max_completion_tokens переименовывается в max_tokens, а блоки «мыслей» вычищаются из текста
«Размышления» DeepSeek сохраняются на 7 дней: чтобы продолжить диалог, модель находит сохранённое и подставляет обратно
Если подходящей записи нет, настройка модели решает: понятный отказ «Start a new chat» либо подстановка фиксированной заглушки
Лимиты расходов: день, неделя, месяц, всего
У каждого ключа доступа — четыре предела расхода: за день, за неделю (с понедельника), за месяц и за всё время; суммы считаются в долларах
Пределы проверяются по очереди — день, неделя, месяц, всего; первое достигнутое останавливает запросы с понятным текстом ошибки
Предел 0 полностью блокирует ключ; запрос, который уже «перешагнул» предел, доводится до конца и списывается целиком
Сама блокировка денег не тратит, а обычный трафик прокси-службы этими пределами не ограничивается вообще
Журнал запросов: кто, что и за сколько
В журнале по каждому запросу видно: время, модель, ключ, канал или прямой выход, токены (ввод, вывод, повторно использованный ввод), длительность
Рядом две суммы: «внутренняя» по ценам модели — по ней работают лимиты и аналитика — и цена поставщика из ответа, только для сверки
Тексты запросов и ответов не сохраняются никогда: переписка с ИИ не копится в базе и не может утечь из неё
Заблокированные и сорвавшиеся запросы тоже пишутся в журнал, но с нулевой стоимостью; трафик прокси-службы в этот журнал не попадает
Запросы, отклонённые по лицензии, в журнал не попадают вовсе — они останавливаются до обращения к модели
Настройки: внешний вид, язык и служебное
Шестерёнка в шапке сразу открывает окно «Настройки»: в нём карточка «Внешний вид» и «Выход» из учётной записи
Во «Внешнем виде» — язык интерфейса и размер шрифта, оба выбора сохраняются и переживают перезагрузку. Светлая и тёмная тема переключаются отдельной кнопкой в шапке
Только здесь есть смысл настраивать ещё две вещи: мастер-переключатель скрытия секретов и срок хранения отчётов об утечках — по умолчанию 90 дней
Служебные кнопки: «Проверка связи» и — если статистика отправляется во внешнее хранилище — «Восстановить статистику ClickHouse». Внизу окна строка лицензии, нажатие открывает сведения о ней
Аналитика: объём, задержки, разбивки
Готовые диапазоны от «сегодня» до «365 дней» плюс произвольный период; подробность — часы, дни, недели (с воскресенья) или месяцы
Видно объём запросов и задержку — среднюю, медиану и 95-й процентиль (значение, в которое уложилось 95 % запросов)
Есть разбивка по моделям, ключам и каналам, распределения, распределение по часам суток, анализ ошибок и сравнение с предыдущим периодом
Сводные плитки на «Главной» показывают картину дня сразу; статистику можно отправлять в ClickHouse и восстанавливать пропущенные дни
Скрытие секретов: условные обозначения и возврат на место
Правило — это имя, образец поиска (регулярное выражение) и шаблон вывода: секреты из списка заменяются условными обозначениями до отправки в модель
Заменяются только значения из списка; нумерация сквозная и постоянная, а перед моделью секретов не видно
Возврат на место работает во всех ответах, включая потоковые, и продолжает работать даже после изменения или удаления правила
Если проверка правила не удалась, запрос поставщику не уходит — безопасный отказ вместо утечки; для этого есть «Тестер правила»
Отчёты об утечках: где секреты уходят наружу
Каждое срабатывание правила фиксируется как событие утечки — в отчёте видно, где именно секрет мог уйти в модель
Секреты в отчётах замаскированы: по записи нельзя восстановить само значение
Срок хранения отчётов задаётся в настройках, по умолчанию — 90 дней, дальше записи удаляются
Чат с ИИ-агентом и обычный трафик прокси-службы через скрытие секретов не проходят — это осознанное ограничение
Прокси для обычного трафика: HTTP и SOCKS5
Прокси-служба принимает HTTP и SOCKS5 на одном порту — подходит браузерам, скриптам и программам, которые не связаны с ИИ
Ни сразу после развёртывания, ни после обновления не слушает никто: слушатель принадлежит каналу, и у каждого канала свой порт, свой включатель и своё требование входа
Кто подключился к порту канала, тот и выходит через этот канал — например, поддержка через один канал, а скрипты через другой
Вход — по ключу доступа: в HTTP это обычная авторизация, где пароль равен ключу, в SOCKS5 проверяется тот же ключ; проверку можно отключить, но продукт предупредит о риске
До 256 одновременных соединений на слушателя, 30 секунд на установку соединения, а дальше — без ограничений по времени
Каждый предоставленный порт открывается отдельно; такой трафик пишется в отдельный журнал (байты, длительность, статус, ошибка) и никогда не считается в деньгах и не тратит лимиты
Каналы связи: свои прокси, SOCKS5, VPN и подписки Happ
Канал связи — это то, через что ваш трафик выходит в интернет: свой HTTP-прокси, SOCKS5, VPN (WireGuard) или подписка Happ
Трафик идёт только через выбранный канал: автоматического перебора и прямого запасного выхода нет — привязка означает «только отсюда»
Есть проверка связи и маскировка пароля; удалить канал нельзя, пока на него ссылаются модели или ключи
VPN-канал требует прав внутри контейнера и WireGuard; подключение поднимается по требованию и гаснет после 60–75 секунд простоя
Подписка Happ — тоже канал: ссылка запрашивается заново при каждом запуске ядра, сервер подбирается по имени, а сервер, который ядро не умеет запускать, помечается как неподдерживаемый
Чат с ИИ-агентом внутри продукта
Чат — необязательная надстройка: он подключается к внешнему Pastukhov Agent по адресу и ключу и без настройки просто скрыт
Ключ агента остаётся на сервере и в браузер не попадает; ответы приходят в реальном времени
В чате можно спросить про интерфейс, разобрать ошибку и попросить подсказку по настройке — всё не выходя из продукта
Без чата работает всё остальное: ключи, модели, журналы, лимиты, аналитика, скрытие секретов и прокси-служба
Размещение: конфигурация, рабочее состояние и журналы
Один контейнер обслуживает и интерфейс, и адреса /api/*; единственная обязательная настройка — внешняя база PostgreSQL
Для интерфейса и адресов /api/* нужен один порт; порты прокси-службы публикуются отдельно, по одному на каждый предоставленный канал, а HTTPS настраивается снаружи
Настройки, модели, каналы, ключи доступа и правила скрытия секретов лежат в понятных файлах папки конфигурации: их можно хранить вместе с проектом, править руками и переносить на другой сервер — правка подхватывается примерно за 300 мс
Рабочее состояние (сохранённые «размышления», ключ подписи сессий, соответствия секретов, конфигурации VPN и рабочие файлы подписок Happ) живёт в отдельном томе, а журналы и расходы остаются в PostgreSQL
Без тома теряются соответствия секретов и сохранённые «размышления», а без постоянного ключа подписи — все выданные сессии входа
Секреты можно держать в одном файле .env рядом с проектом: продукт подмешивает его при запуске и следит за правками на ходу
Лицензия: интерфейс работает, трафик — по ключу
Ключ лицензии задаётся на сервере переменной AGENT_LICENSE — это либо сам ключ, либо путь к файлу с ним. Ключ читается при запуске, поэтому после его смены контейнер нужно перезапустить
Без действующего ключа трафик не проходит: запросы к моделям получают понятный отказ, а прокси-служба не пропускает соединения — каждый такой отказ виден в журнале
Интерфейс, настройки, журналы и управление по API лицензией не закрыты: войти, посмотреть состояние и всё настроить можно всегда. Строка о лицензии видна внизу окна «Настройки» — нажатие открывает сведения о ней
Срок проверяется на ходу: когда у ключа заканчивается срок, трафик прекращается сразу и без перезапуска. Пробный ключ по возможностям не отличается от платного
Подписки Happ: чужой VPN за вашим прокси
Подписка Happ — это готовый доступ в интернет, который продают для программы Happ: одна ссылка вместо адреса, логина и пароля
Ссылку вставляют в новый канал: ядро Xray забирает её при запуске и само поднимает соединение — оно уже есть в продукте
Сервер выбирается из списка, который продукт показывает по самой ссылке: там же видно, сколько трафика осталось и до какой даты подписка действует; серверы, которые ядро запустить не может, помечены
Если подписка перестала отвечать, остаются рабочие файлы последней удачной загрузки; ядро поднимается только при обращении и гаснет после 60 секунд простоя