hubris

LibreChat

Подключение Hubris к LibreChat — self-hosted чату на несколько пользователей. Отдельная точка подключения в librechat.yaml, каталог подтягивается сам.

LibreChat — self-hosted чат для команды: несколько пользователей со своими историями, агенты и инструменты, загрузка файлов, поиск по переписке, вход через корпоративный SSO. Ставится контейнером на свой сервер.

Hubris подключается как своя точка в блоке custom файла librechat.yaml. LibreChat сам запрашивает каталог, и модели появляются в выпадающем списке — отдельным пунктом рядом с остальными провайдерами.

Требования

  • Развёрнутый LibreChat с доступом к librechat.yaml и переменным окружения
  • Аккаунт на hubris.pw и API-ключ

Подключение

Добавьте ключ в .env рядом с остальными:

HUBRIS_API_KEY=sk-gw-ваш-ключ

И точку подключения в librechat.yaml:

endpoints:
  custom:
    - name: 'Hubris'
      apiKey: '${HUBRIS_API_KEY}'
      baseURL: 'https://api.hubris.pw/v1'
      models:
        default:
          - 'anthropic/claude-sonnet-5'
          - 'openai/gpt-5.6-luna'
          - 'google/gemini-3.7-flash'
          - 'deepseek/deepseek-v4-pro'
        fetch: true
      titleConvo: true
      titleModel: 'google/gemini-3.7-flash'
      modelDisplayLabel: 'Hubris'

Перезапустите контейнер — в списке провайдеров появится Hubris.

Адрес — именно api.hubris.pw, с api. в начале и /v1 в конце. Домен hubris.pw — это сайт и личный кабинет: запросы к API он не обслуживает, и подключение по нему выглядит как «сервис не отвечает».

fetch: true и список моделей

Наш /v1/models открыт без ключа и отвечает в формате OpenAI, поэтому fetch: true работает: LibreChat подтянет весь каталог, больше 500 моделей, и покажет их в выпадающем списке.

Список из пятисот пунктов неудобен, поэтому у большинства установок разумнее оставить fetch: false и перечислить нужное руками в models.default — тогда в меню будет ровно то, что вы выбрали. Значения в примере выше — начальный набор, замените на свой.

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

Заголовки диалогов

titleConvo: true включает автоматические названия чатов, а titleModel задаёт модель для них. Это отдельный служебный запрос на каждый новый диалог, поэтому ставьте туда что-то дешёвое — например google/gemini-3.7-flash. Если не указать titleModel, LibreChat возьмёт ту же модель, в которой идёт разговор, и заголовок «Список покупок» напишет флагман.

Выбор моделей

IDКогда подходит
google/gemini-3.7-flashзаголовки, дешёвые ответы, большой поток
anthropic/claude-sonnet-5код, длинные документы, работа с изображениями
openai/gpt-5.6-lunaуниверсальный выбор для сложных задач
deepseek/deepseek-v4-proнедорогое рассуждение и код

Каталог у нас открыт без ключа — список можно посмотреть прямо в браузере: api.hubris.pw/v1/models.

Решение проблем

Точка не появилась в списке провайдеров

  • Проверьте, что librechat.yaml смонтирован в контейнер и перечитан: LibreChat читает его при старте, правка на лету не подхватывается.
  • Проверьте отступы: custom — список, каждая точка начинается с - name:.
  • Убедитесь, что HUBRIS_API_KEY объявлен в .env, который читает контейнер, — подстановка ${HUBRIS_API_KEY} берёт значение оттуда.

Список моделей пустой

  • Проверьте адрес: https://api.hubris.pw/v1 — с api. в начале, с /v1 в конце.
  • Откройте api.hubris.pw/v1/models в браузере. Открывается — значит, API доступен, и дело в ключе или адресе.
  • Если сервер LibreChat не ходит наружу напрямую, fetch: true не сработает — перечислите модели в models.default и поставьте fetch: false.

Модель есть в каталоге, но чат отвечает ошибкой про модель

ID должен совпадать с каталожным символ в символ, вместе с вендором перед косой чертой. Короткие имена без вендора и имена с датой на конце мы не принимаем.

Ошибка про недостаточный баланс

Пополните баланс в кабинете — от 300 ₽, через СБП, банковской картой или по счёту для юридических лиц.

Что дальше

Обновлено: