Как навести порядок в зоопарке нейросетей с помощью TokenHub

14 авг 2026
1,044
126
6
3 недели

TokenHub

Когда команда начинает внедрять нейросети в свои сервисы, почти всегда начинается хаос с ключами. Разработчики берут OpenAI, аналитики экспериментируют с DeepSeek и Qwen, кто-то поднимает локальную Llama через Ollama, а дизайнеры просят доступ к генерации картинок. В конце месяца бухгалтерия видит общий счет и пытается понять, какой именно отдел потратил бюджет.

Знакомая картина? Если вы хоть раз пытались централизовать доступы к десяткам разных LLM, то знаете, сколько костылей приходится писать: прокси, самодельные роутеры, сборщики логов. Автор популярного Go-фреймворка Beego (astaxie) выложил проект TokenHub, который берет эту головную боль на себя.

Поддерживаемые провайдеры TokenHub

Что под капотом и зачем это нужно

TokenHub представляет собой приватный AI-шлюз, написанный на Go. Вы разворачиваете его внутри своей инфраструктуры, заводите туда API-ключи от внешних поставщиков или адреса локальных моделей, а наружу отдаете единый интерфейс.

Реклама

Главная идея в том, чтобы разработчикам приложений не нужно было переписывать код под каждый новый API. TokenHub поддерживает стандартные эндпоинты OpenAI (/v1/chat/completions, /v1/embeddings, /v1/responses) и спецификацию Anthropic Messages (/v1/messages). Если вашему сервису понадобится переключиться с GPT-4o на Claude 3.5 Sonnet или локальную vLLM, код клиента менять не придется, достаточно сменить имя модели или настроить правило маршрутизации на шлюзе.

Интерфейс TokenHub

Основные возможности шлюза

В репозитории сделан упор на корпоративные сценарии, где критичны контроль расходов и разделение зон ответственности.

Четкое разделение ролей

Интерфейс и права доступа в TokenHub разделены на три уровня:

  • Обычный пользователь (User). Видит доступный каталог моделей, создает собственные проектные API-ключи, смотрит персональную статистику и документацию.
  • Тимлид (Team Leader). Управляет рабочими пространствами проектов, участниками команды, общими квотами и видит детальные отчеты по расходам конкретного проекта.
  • Администратор (Administrator). Настраивает внешних провайдеров, подключает корпоративный SSO через OAuth/OIDC, конфигурирует правила отказоустойчивости и аудита.

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

Умная маршрутизация и отказоустойчивость

Если внешний провайдер отдает 500-ю ошибку или упирается в rate limit, TokenHub умеет автоматически переключать запрос на резервные каналы (failover). Вы можете задавать приоритеты, веса для распределения нагрузки между несколькими аккаунтами и проверять здоровье маршрутов через встроенную диагностику.

Поддержка более 150 шаблонов провайдеров

Шлюз из коробки умеет работать с нативными адаптерами для Azure OpenAI, Anthropic, Google Gemini, DeepSeek, Qwen, а также с локальными инференс-серверами вроде vLLM и Ollama. Любой сторонний сервис с OpenAI-совместимым API подключается через готовые шаблоны за пару кликов.

Отдельно стоит упомянуть интеграцию с подписками Codex: TokenHub умеет проксировать вызовы локальных CLI-утилит (например, Gemini CLI) через изолированные профили.

Генерация и редактирование изображений

Помимо текста и эмбеддингов, система обрабатывает запросы на генерацию картинок через эндпоинты /v1/images/generations и /v1/images/edits. Шлюз поддерживает асинхронные задачи и серверное хранение сгенерированных изображений, что снимает с клиентского приложения необходимость сразу скачивать файлы в свой S3.

Развертывание и архитектура

Проект написан на Go и потребляет минимум ресурсов. Для хранения данных по умолчанию используется SQLite, поэтому запустить сервис для небольшой команды можно буквально за минуту без поднятия тяжелых баз данных.

Для тестирования на Linux через systemd:

curl -fsSL https://raw.githubusercontent.com/astaxie/TokenHub/main/deploy/native/install.sh \
  -o /tmp/tokenhub-install.sh
sudo bash /tmp/tokenhub-install.sh install

Либо классический запуск через Docker Compose:

cp deploy/.env.example deploy/.env
# Задайте надежные пароли в deploy/.env
./deploy/install.sh

После старта веб-консоль управления доступна на порту 3000, а сам API принимает запросы на порту 8080.

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

Кому проект пригодится прямо сейчас

TokenHub отлично закроет потребности, если вы:

  1. Разрабатываете внутренние AI-инструменты в компании и хотите централизованно учитывать траты по проектам и отделам.
  2. Строите отказоустойчивый контур с несколькими поставщиками LLM, где падение одного API не должно ронять клиентский сервис.
  3. Хотите безопасно пробросить доступ к локально развернутым моделям (Ollama / vLLM) для всей команды без выдачи прямого доступа к серверам инференса.
  4. Устали вручную менеджить десятки API-ключей в разных кабинетах.

Проект еще свежий, но за ним стоит опытный мейнтейнер, а кодовая база на Go выглядит аккуратно и понятно. Если вы выбираете между тяжелыми коммерческими решениями и самописными прокси, развернуть TokenHub в тестовом контуре точно имеет смысл.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.