> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ruapi.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# LibreChat

> Как добавить RuAPI в LibreChat как custom endpoint через librechat.yaml

[LibreChat](https://www.librechat.ai) — self-hosted веб-интерфейс в духе ChatGPT с поддержкой множества провайдеров. RuAPI добавляется как **custom endpoint** в `librechat.yaml` — после этого все модели RuAPI появляются в выпадающем списке.

## Предварительные требования

<Steps>
  <Step title="Аккаунт RuAPI и API-ключ">
    Консоль → **Токены** → создайте ключ `sk-...`. Баланс пополняется в USDT — см. [Пополнение](/ru/topup).
  </Step>

  <Step title="Запущенный LibreChat">
    Установка по [инструкции LibreChat](https://www.librechat.ai/docs) (обычно Docker).
  </Step>
</Steps>

## Настройка

<Steps>
  <Step title="Добавьте ключ в .env">
    ```bash theme={null}
    RUAPI_KEY=sk-ВАШ_КЛЮЧ
    ```
  </Step>

  <Step title="Опишите endpoint в librechat.yaml">
    ```yaml theme={null}
    endpoints:
      custom:
        - name: "RuAPI"
          apiKey: "${RUAPI_KEY}"
          baseURL: "https://www.ruapi.ai/v1"   # с /v1
          models:
            default: ["claude-opus-4-8"]        # точные имена — на странице цен
            fetch: true                          # подтянуть весь каталог через /v1/models
          titleConvo: true
          titleModel: "claude-opus-4-8"
    ```
  </Step>

  <Step title="Перезапустите LibreChat">
    Перечитайте конфиг (перезапуск контейнера). В интерфейсе появится провайдер **RuAPI**.
  </Step>
</Steps>

<Note>
  `fetch: true` подтягивает список моделей автоматически через `/v1/models`. Если не хотите авто-список — уберите `fetch` и перечислите нужные ID в `default`.
</Note>

## Проверка

В интерфейсе выберите провайдер **RuAPI** и модель, отправьте сообщение. Ответ + запись в Консоли RuAPI → **Логи** означают, что связка работает.

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

<AccordionGroup>
  <Accordion title="Провайдер RuAPI не появился">
    * Проверьте отступы в `librechat.yaml` (YAML чувствителен к ним) и что блок лежит под `endpoints.custom`.
    * Убедитесь, что контейнер перечитал конфиг после правок.
  </Accordion>

  <Accordion title="Список моделей пустой / 401">
    * `baseURL` должен быть `https://www.ruapi.ai/v1` с `/v1`.
    * Переменная `RUAPI_KEY` в `.env` должна содержать токен RuAPI (`sk-...`), а `apiKey` — ссылаться на неё через `${RUAPI_KEY}`.
  </Accordion>

  <Accordion title="Заголовки чатов не генерируются">
    Проверьте `titleConvo: true` и что `titleModel` указывает на доступную модель.
  </Accordion>
</AccordionGroup>
