# AI-ассистент LobeChat

## Обзор

[LobeChat](https://github.com/lobehub/lobe-chat) — это современная, с открытым исходным кодом платформа для общения с ИИ с более чем 55 тыс. звезд на GitHub, известная своим отполированным интерфейсом и обширным набором функций. Она поддерживает практически всех крупных поставщиков LLM — OpenAI, Anthropic Claude, Google Gemini, Mistral и локальные модели через Ollama — всё из единого, размещаемого самостоятельно интерфейса.

**Почему запускать LobeChat на Clore.ai?**

* **GPU не требуется** — Сам LobeChat является лёгким веб-приложением. CPU-only или инстансы с минимальным GPU на Clore.ai полностью достаточны для интерфейса.
* **Сопряжение с локальными LLM** — Запустите Ollama или vLLM на том же сервере Clore.ai и укажите LobeChat использовать их для полностью локального, приватного вывода.
* **Доступный хостинг** — Базовый инстанс Clore.ai стоит лишь часть от цены традиционных VPS-провайдеров, и вы можете выключать его, когда он не используется.
* **Полная собственность над данными** — Режим базы данных сохраняет все разговоры, файлы и встраивания в вашей собственной PostgreSQL-инстанции на сервере.

LobeChat работает в двух различных режимах:

| Режим              | Описание                                             | Лучше всего для                            |
| ------------------ | ---------------------------------------------------- | ------------------------------------------ |
| **Автономный**     | Один Docker-контейнер, настройки хранятся в браузере | Быстрое тестирование, личное использование |
| **С базой данных** | Полный стек (PostgreSQL + MinIO + Auth + App)        | Команды, постоянная история, база знаний   |

***

## Требования

### Спецификации сервера

| Компонент     | Минимум      | Рекомендуется                           | Примечания                                         |
| ------------- | ------------ | --------------------------------------- | -------------------------------------------------- |
| **GPU**       | Не требуется | RTX 3090 (если запускать локальные LLM) | Требуется только для бэкенда Ollama/vLLM           |
| **VRAM**      | —            | 24 ГБ (RTX 3090)                        | Для вывода локальных моделей                       |
| **CPU**       | 2 vCPU       | 4+ vCPU                                 | Сам LobeChat лёгкий                                |
| **ОЗУ**       | 2 GB         | 8 ГБ                                    | 4+ ГБ при использовании режима базы данных         |
| **Хранилище** | 10 ГБ        | 50+ ГБ                                  | Больше — если хранить загруженные файлы или модели |

### Справка по ценам Clore.ai

| Тип сервера           | Примерная стоимость | Случай использования                          |
| --------------------- | ------------------- | --------------------------------------------- |
| Инстанс только с CPU  | \~$0.05–0.10/час    | Только автономный LobeChat                    |
| RTX 3090 (24 ГБ VRAM) | ≈ $0.20/ч           | LobeChat + Ollama локальные LLM               |
| RTX 4090 (24 ГБ VRAM) | ≈ $0.35/ч           | LobeChat + более быстрая локальная инференция |
| A100 80 GB            | ≈ $1.10/ч           | LobeChat + крупные модели (70B+)              |

> 💡 **Подсказка:** Для использования только через API (подключение к OpenAI, Anthropic и т.д.) подойдёт любой небольшой инстанс. Сервер с GPU имеет смысл только если вы также хотите запускать локальные LLM. См. [Руководство по сравнению GPU](/guides/guides_v2-ru/nachalo-raboty/gpu-comparison.md) для подробностей.

### Требования

* Аккаунт Clore.ai с развернутым сервером
* SSH-доступ к вашему серверу
* Docker и Docker Compose (предустановлены на серверах Clore.ai)
* Драйверы NVIDIA (предустановлены; актуально только при использовании локального LLM-бэкенда)
* По крайней мере один API-ключ (OpenAI, Anthropic и т.д.) **или** локальный инстанс Ollama

***

## Быстрый старт

### Вариант A: Автономный режим (рекомендуется для начала)

Автономный режим запускает LobeChat как один контейнер. Настройки и история разговоров хранятся в локальном хранилище браузера — база данных не требуется.

**Шаг 1: Подключитесь к вашему серверу Clore.ai**

```bash
ssh root@<ip-вашего-clore-сервера> -p <ssh-порт>
```

**Шаг 2: Загрузите и запустите LobeChat**

```bash
docker run -d \
  --name lobechat \
  --restart unless-stopped \
  -p 3210:3210 \
  -e OPENAI_API_KEY=sk-your-openai-key-here \
  -e OPENAI_PROXY_URL=https://api.openai.com/v1 \
  lobehub/lobe-chat
```

**Шаг 3: Убедитесь, что он запущен**

```bash
docker ps
docker logs lobechat --tail 20
```

**Шаг 4: Доступ к интерфейсу**

Откройте браузер и перейдите по адресу:

```
http://<ip-вашего-clore-сервера>:3210
```

> ⚠️ **Примечание по безопасности:** Серверы Clore.ai общедоступны. Рассмотрите возможность установки `ACCESS_CODE` чтобы защитить ваш инстанс паролем (см. раздел Конфигурация ниже).

***

### Вариант B: Автономный с несколькими провайдерами

Передайте несколько API-ключей, чтобы поддерживать разных провайдеров одновременно:

```bash
docker run -d \
  --name lobechat \
  --restart unless-stopped \
  -p 3210:3210 \
  -e OPENAI_API_KEY=sk-your-openai-key \
  -e ANTHROPIC_API_KEY=sk-ant-your-anthropic-key \
  -e GOOGLE_API_KEY=your-google-gemini-key \
  -e MISTRAL_API_KEY=your-mistral-key \
  -e ACCESS_CODE=your-secret-password \
  lobehub/lobe-chat
```

***

### Вариант C: С локальным бэкендом Ollama

Если у вас запущен Ollama на том же сервере Clore.ai (см. [Руководство по Ollama](/guides/guides_v2-ru/yazykovye-modeli/ollama.md)):

```bash
# Сначала запустите Ollama
docker run -d \
  --name ollama \
  --restart unless-stopped \
  --gpus all \
  -p 11434:11434 \
  -v ollama:/root/.ollama \
  ollama/ollama

# Загрузить модель
docker exec ollama ollama pull llama3.2

# Запустить LobeChat, указывая на Ollama
docker run -d \
  --name lobechat \
  --restart unless-stopped \
  -p 3210:3210 \
  -e OLLAMA_PROXY_URL=http://host-gateway:11434 \
  --add-host=host-gateway:host-gateway \
  lobehub/lobe-chat
```

> В Linux замените `host-gateway` на фактический IP Docker bridge, обычно `172.17.0.1`:
>
> ```bash
> -e OLLAMA_PROXY_URL=http://172.17.0.1:11434
> ```

***

### Вариант D: Режим базы данных (Docker Compose)

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

**Шаг 1: Создайте каталог проекта**

```bash
mkdir -p ~/lobechat && cd ~/lobechat
```

**Шаг 2: Создайте `docker-compose.yml`**

```bash
cat > docker-compose.yml << 'EOF'
version: '3.8'

services:
  postgresql:
    image: pgvector/pgvector:pg16
    container_name: lobe-postgres
    restart: unless-stopped
    environment:
      POSTGRES_DB: lobechat
      POSTGRES_USER: lobechat
      POSTGRES_PASSWORD: changeme_strong_password
    volumes:
      - postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U lobechat -d lobechat"]
      interval: 10s
      timeout: 5s
      retries: 5

  minio:
    image: minio/minio
    container_name: lobe-minio
    restart: unless-stopped
    environment:
      MINIO_ROOT_USER: minioadmin
      MINIO_ROOT_PASSWORD: changeme_minio_password
    command: server /data --console-address ":9001"
    volumes:
      - minio_data:/data
    ports:
      - "9000:9000"
      - "9001:9001"

  lobechat:
    image: lobehub/lobe-chat-database
    container_name: lobe-chat
    restart: unless-stopped
    depends_on:
      postgresql:
        condition: service_healthy
    ports:
      - "3210:3210"
    environment:
      # Database
      DATABASE_URL: postgresql://lobechat:changeme_strong_password@postgresql:5432/lobechat
      # S3 Storage (MinIO)
      S3_ENDPOINT: http://minio:9000
      S3_BUCKET: lobechat
      S3_ACCESS_KEY_ID: minioadmin
      S3_SECRET_ACCESS_KEY: changeme_minio_password
      S3_PUBLIC_DOMAIN: http://<ip-вашего-сервера>:9000
      # Auth (NextAuth)
      NEXTAUTH_SECRET: your-random-32-char-secret-here
      NEXTAUTH_URL: http://<ip-вашего-сервера>:3210
      # LLM Providers
      OPENAI_API_KEY: sk-your-openai-key
      ANTHROPIC_API_KEY: sk-ant-your-key
      # App
      APP_URL: http://<ip-вашего-сервера>:3210

volumes:
  postgres_data:
  minio_data:
EOF
```

**Шаг 3: Запустите стек**

```bash
docker compose up -d
docker compose logs -f lobechat
```

**Шаг 4: Создайте бакет MinIO**

```bash
# Установите клиент MinIO
docker exec lobe-minio mc alias set local http://localhost:9000 minioadmin changeme_minio_password
docker exec lobe-minio mc mb local/lobechat
docker exec lobe-minio mc anonymous set download local/lobechat
```

***

## Конфигурация

### Справочник переменных окружения

| Переменная             | Описание                                               | По умолчанию                |
| ---------------------- | ------------------------------------------------------ | --------------------------- |
| `OPENAI_API_KEY`       | Ключ OpenAI API                                        | —                           |
| `OPENAI_PROXY_URL`     | Пользовательский endpoint, совместимый с OpenAI        | `https://api.openai.com/v1` |
| `ANTHROPIC_API_KEY`    | Ключ API Anthropic Claude                              | —                           |
| `GOOGLE_API_KEY`       | Ключ API Google Gemini                                 | —                           |
| `MISTRAL_API_KEY`      | Ключ API Mistral AI                                    | —                           |
| `OLLAMA_PROXY_URL`     | URL локального инстанса Ollama                         | —                           |
| `ACCESS_CODE`          | Пароль для защиты интерфейса                           | —                           |
| `DEFAULT_AGENT_CONFIG` | JSON-конфигурация для поведения помощника по умолчанию | —                           |
| `FEATURE_FLAGS`        | Включение/отключение определённых функций              | —                           |

### Включение конкретных функций

**Включить плагин веб-поиска:**

```bash
-e BING_API_KEY=your-bing-search-key
```

**Включить преобразование текста в речь:**

```bash
-e AZURE_TTS_API_KEY=your-azure-key \
-e AZURE_TTS_REGION=eastus
```

**Задать пользовательский системный промпт для агента по умолчанию:**

```bash
-e DEFAULT_AGENT_CONFIG='{"systemRole":"You are a helpful assistant."}'
```

### Обновление LobeChat

```bash
# Загрузить последнюю версию образа
docker pull lobehub/lobe-chat

# Остановить и удалить старый контейнер
docker stop lobechat && docker rm lobechat

# Запустить новый контейнер с теми же параметрами
docker run -d \
  --name lobechat \
  --restart unless-stopped \
  -p 3210:3210 \
  -e OPENAI_API_KEY=sk-your-key \
  lobehub/lobe-chat
```

Для Docker Compose:

```bash
docker compose pull
docker compose up -d
```

***

## Ускорение с помощью GPU

Сам LobeChat **не** не требует GPU. Однако при сопряжении с бэкендом, ускоренным на GPU на Clore.ai, вы получаете локальную, приватную инференцию LLM:

### Сопряжение с vLLM (высокопроизводительная инференция)

См.  [Руководство по vLLM](/guides/guides_v2-ru/yazykovye-modeli/vllm.md) для полной настройки. Быстрая интеграция:

```bash
# Запустите vLLM сервер (на том же хосте)
docker run -d \
  --name vllm \
  --gpus all \
  --restart unless-stopped \
  -p 8000:8000 \
  -v ~/.cache/huggingface:/root/.cache/huggingface \
  vllm/vllm-openai:latest \
  --model meta-llama/Llama-3.1-8B-Instruct \
  --served-model-name llama3.1-8b

# Запустить LobeChat, указывая на vLLM (API, совместимый с OpenAI)
docker run -d \
  --name lobechat \
  --restart unless-stopped \
  -p 3210:3210 \
  -e OPENAI_API_KEY=not-needed \
  -e OPENAI_PROXY_URL=http://172.17.0.1:8000/v1 \
  lobehub/lobe-chat
```

### Использование ресурсов

| Бэкенд                | Используемая VRAM GPU | Приблизительная пропускная способность |
| --------------------- | --------------------- | -------------------------------------- |
| Ollama (Llama 3.2 3B) | \~2 ГБ                | 50–80 токенов/сек на 3090              |
| Ollama (Llama 3.1 8B) | \~6 ГБ                | 40–60 токенов/сек на 3090              |
| vLLM (Llama 3.1 8B)   | \~16 ГБ               | 80–150 токенов/сек на 3090             |
| vLLM (Llama 3.1 70B)  | \~80 ГБ               | 20–40 токенов/сек на A100 80GB         |

***

## Подсказки и лучшие практики

### Оптимизация затрат

* **Останавливайте сервер, когда он простаивает.** Clore.ai оплачивается поминутно/почасово — используйте панель управления, чтобы приостанавливать инстансы, которыми вы не пользуетесь активно.
* **Автономный режим для личного использования.** Если вам не нужна поддержка нескольких пользователей или постоянная серверная история, автономный режим избегает накладных расходов PostgreSQL и MinIO.
* **Используйте провайдеров API для крупных моделей.** Маршрутизация запросов к Claude или GPT-4 через внешние API дешевле, чем аренда H100 для эпизодических запросов.

### Безопасность

```bash
# Всегда установите код доступа на публичных IP Clore.ai
-e ACCESS_CODE=your-strong-password-here

# Ограничить до конкретного источника (опционно)
-e NEXT_PUBLIC_SERVICE_MODE=server
```

* Никогда не выставляйте LobeChat на публичный IP без `ACCESS_CODE` на публичном IP.
* Рассмотрите использование обратного прокси Nginx с HTTPS при долгосрочном запуске.
* Меняйте API-ключи, если подозреваете их утечку.

### Производительность

```bash
# Увеличьте кучу Node.js при запуске в режиме базы данных с большим числом пользователей
-e NODE_OPTIONS="--max-old-space-size=4096"
```

* Для режима базы данных с 10+ одновременных пользователей убедитесь, что на хосте не менее 8 ГБ ОЗУ.
* MinIO работает лучше на накопителях с SSD (инстансы Clore.ai NVMe).

### Сохранность между сессиями Clore.ai

Поскольку серверы Clore.ai могут быть завершены/удалены:

```bash
# Создайте Docker-volume для экспорта автономных разговоров
docker run -d \
  --name lobechat \
  -p 3210:3210 \
  -v lobechat_data:/app/data \
  lobehub/lobe-chat
```

Регулярно экспортируйте разговоры через Настройки → Экспорт данных в интерфейсе.

***

## Устранение неполадок

### Контейнер не запускается

```bash
# Проверьте логи
docker logs lobechat --tail 50

# Убедитесь, что порт не занят
ss -tlnp | grep 3210

# Проверьте, что демон Docker запущен
systemctl status docker
```

### Не удаётся подключиться к Ollama из LobeChat

```bash
# Протестируйте соединение из контейнера LobeChat
docker exec lobechat curl -s http://172.17.0.1:11434/api/tags

# Если это не работает, проверьте, что Ollama слушает на всех интерфейсах
docker exec ollama ollama serve --host 0.0.0.0
```

### Ошибки подключения к базе данных (режим базы данных)

```bash
# Проверьте состояние PostgreSQL
docker exec lobe-postgres pg_isready -U lobechat

# Проверьте формат DATABASE_URL
# postgresql://user:password@host:port/dbname

# При необходимости выполните миграции вручную
docker exec lobe-chat npx prisma migrate deploy
```

### Изображения/файлы не загружаются (режим базы данных)

```bash
# Проверьте доступность MinIO
curl -s http://localhost:9000/minio/health/live

# Убедитесь, что бакет существует
docker exec lobe-minio mc ls local/

# Проверьте, что S3_PUBLIC_DOMAIN установлен на корректный IP сервера
```

### Ошибки из-за нехватки памяти

```bash
# Проверьте текущую загрузку памяти
docker stats lobechat

# Увеличьте лимит памяти контейнера
docker run -d \
  --name lobechat \
  --memory=2g \
  -p 3210:3210 \
  lobehub/lobe-chat
```

***

## Дополнительное чтение

* [Документация LobeChat](https://lobehub.com/docs) — официальная документация, разработка плагинов, руководства по развертыванию
* [LobeChat на GitHub](https://github.com/lobehub/lobe-chat) — исходный код, issues, обсуждения
* [Запуск Ollama на Clore.ai](/guides/guides_v2-ru/yazykovye-modeli/ollama.md) — локальный LLM-бэкенд для LobeChat
* [Запуск vLLM на Clore.ai](/guides/guides_v2-ru/yazykovye-modeli/vllm.md) — высокопроизводительная инференция, совместимая с OpenAI
* [Руководство по сравнению GPU](/guides/guides_v2-ru/nachalo-raboty/gpu-comparison.md) — выбор подходящего GPU Clore.ai
* [LobeChat на Docker Hub](https://hub.docker.com/r/lobehub/lobe-chat) — теги образов и версии
* [Переменные окружения LobeChat](https://lobehub.com/docs/self-hosting/environment-variables) — полный справочник переменных


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.clore.ai/guides/guides_v2-ru/ai-platformy-i-agenty/lobechat.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
