Last translated: 14 Jun 2025

Translation Not Available Yet

This repository's README hasn't been translated yet. Once translated, it will be easier to read and understand in your native language (中文).

After translating, add the links to README so others can view it directly.

Chatbot UI

Открытое чат-приложение с искусственным интеллектом для всех.

Chatbot UI

Демо

Посмотрите последнюю демонстрацию здесь.

Обновления

Всем привет! Я услышал ваши отзывы и усердно работаю над крупным обновлением.

Упрощённое развертывание, лучшая совместимость с бэкендом и улучшенные мобильные макеты уже в пути.

Скоро вернусь.

-- Mckay

Официальная хостинговая версия

Используйте Chatbot UI без необходимости самостоятельного хостинга!

Официальная хостинговая версия Chatbot UI доступна здесь.

Спонсорство

Если Chatbot UI оказался полезным, рассмотрите возможность спонсирования моей работы над открытым исходным кодом :)

Проблемы

Мы ограничиваем раздел "Issues" только реальными проблемами, связанными с кодом.

Мы получаем чрезмерное количество вопросов, связанных с запросами функций, проблемами облачных провайдеров и т.д.

Если у вас возникли трудности с настройкой, обратитесь к разделу "Help" во вкладке "Discussions" выше.

Вопросы, не связанные с кодом, будут закрыты немедленно.

Обсуждения

Мы настоятельно рекомендуем участвовать во вкладке "Discussions" выше!

Обсуждения — отличное место для вопросов, идей и получения помощи.

Скорее всего, если у вас есть вопрос, у кого-то ещё он тоже есть.

Устаревший код

Chatbot UI недавно обновился до версии 2.0.

Код для версии 1.0 можно найти в ветке legacy.

Обновление

В терминале в корневой папке вашего локального репозитория Chatbot UI выполните:

npm run update

Если у вас размещённый экземпляр, также выполните:

npm run db-push

чтобы применить последние миграции к вашей рабочей базе данных.

Быстрый старт (локально)

Выполните следующие шаги, чтобы запустить собственный экземпляр Chatbot UI локально.

Полное видео-руководство можно посмотреть здесь.

1. Клонирование репозитория

git clone https://github.com/mckaywrigley/chatbot-ui.git

2. Установка зависимостей

Откройте терминал в корневой папке вашего локального репозитория Chatbot UI и выполните:

npm install

3. Установка Supabase и локальный запуск

Почему Supabase?

Ранее мы использовали локальное хранилище браузера для данных. Однако это было не лучшим решением по нескольким причинам:

  • Проблемы безопасности
  • Ограниченное хранилище
  • Ограничения для многомодальных сценариев

Теперь мы используем Supabase, потому что это просто, с открытым исходным кодом, работает на Postgres и имеет бесплатный тариф для хостинга.

В будущем мы добавим поддержку других провайдеров для большего выбора.

1. Установка Docker

Для локального запуска Supabase потребуется Docker. Бесплатную версию можно скачать здесь.

2. Установка Supabase CLI

MacOS/Linux

brew install supabase/tap/supabase

Windows

scoop bucket add supabase https://github.com/supabase/scoop-bucket.git
scoop install supabase

3. Запуск Supabase

В терминале в корневой папке вашего локального репозитория Chatbot UI выполните:

supabase start

4. Заполнение секретов

1. Переменные окружения

В терминале в корневой папке вашего локального репозитория Chatbot UI выполните:

cp .env.local.example .env.local

Получите необходимые значения, выполнив:

supabase status

Примечание: Используйте API URL из supabase status для NEXT_PUBLIC_SUPABASE_URL

Теперь откройте файл .env.local и заполните значения.

Если переменная окружения установлена, она отключит соответствующий ввод в настройках пользователя.

2. Настройка SQL

В первом файле миграции supabase/migrations/20240108234540_setup.sql замените 2 значения полученными выше:

  • project_url (строка 53): http://supabase_kong_chatbotui:8000 (по умолчанию) можно оставить, если не меняли project_id в файле config.toml
  • service_role_key (строка 54): Это значение получено из supabase status

Это предотвращает проблемы с некорректным удалением файлов хранилища.

5. Установка Ollama (опционально для локальных моделей)

Следуйте инструкциям здесь.

6. Локальный запуск приложения

В терминале в корневой папке вашего локального репозитория Chatbot UI выполните:

npm run chat

Ваш локальный экземпляр Chatbot UI теперь должен быть доступен по адресу http://localhost:3000. Убедитесь, что используете совместимую версию node (например, v18).

Интерфейс бэкенда доступен по адресу http://localhost:54323/project/default/editor.

Быстрый старт (хостинг)

Выполните следующие шаги, чтобы запустить собственный экземпляр Chatbot UI в облаке.

Видео-руководство скоро появится.

1. Повторите шаги локального быстрого старта

Повторите шаги 1-4 из раздела "Быстрый старт (локально)" выше.

Рекомендуется использовать отдельные репозитории для локального и хостингового экземпляров.

Создайте новый репозиторий на GitHub для хостингового экземпляра Chatbot UI и загрузите туда код.

2. Настройка бэкенда с Supabase

1. Создание нового проекта

Перейдите на Supabase и создайте новый проект.

2. Получение значений проекта

В панели управления проекта нажмите на иконку "Project Settings" в нижнем левом углу.

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

  • Project Ref: В разделе "General settings" как "Reference ID"

  • Project ID: В URL панели управления (например: https://supabase.com/dashboard/project/<YOUR_PROJECT_ID>/settings/general)

В разделе "Settings" перейдите на вкладку "API".

Здесь вы найдёте значения для:

  • Project URL: В разделе "API Settings" как "Project URL"

  • Anon key: В разделе "Project API keys" как "anon public"

  • Service role key: В разделе "Project API keys" как "service_role" (Важно: обращайтесь с этим как с паролем!)

3. Настройка аутентификации

Перейдите на вкладку "Authentication" слева.

На вкладке "Providers" убедитесь, что "Email" включён.

Для личного использования рекомендуется отключить "Confirm email".

4. Подключение к хостинговой БД

Откройте репозиторий вашего хостингового экземпляра Chatbot UI.

В первом файле миграции supabase/migrations/20240108234540_setup.sql замените 2 значения:

  • project_url (строка 53): Используйте Project URL из предыдущего шага
  • service_role_key (строка 54): Используйте Service role key из предыдущего шага

Теперь в терминале в корневой папке выполните:

supabase login

Затем свяжите проект, выполнив команду с "Project ID":

supabase link --project-ref <project-id>

Теперь проект должен быть связан.

Наконец, загрузите базу данных на Supabase:

supabase db push

Хостинговая база данных теперь настроена!

3. Настройка фронтенда с Vercel

Перейдите на Vercel и создайте новый проект.

На странице настройки импортируйте репозиторий GitHub для хостингового экземпляра Chatbot UI. В настройках проекта в разделе "Build & Development Settings" выберите "Next.js" в качестве пресета.

Добавьте следующие переменные окружения:

  • NEXT_PUBLIC_SUPABASE_URL
  • NEXT_PUBLIC_SUPABASE_ANON_KEY
  • SUPABASE_SERVICE_ROLE_KEY
  • NEXT_PUBLIC_OLLAMA_URL (только для локальных моделей Ollama; по умолчанию: http://localhost:11434)

Также можно добавить ключи API:

  • OPENAI_API_KEY
  • AZURE_OPENAI_API_KEY
  • AZURE_OPENAI_ENDPOINT
  • AZURE_GPT_45_VISION_NAME

Полный список переменных смотрите в файле '.env.local.example'. Если переменные для ключей API установлены, соответствующие поля в настройках пользователя будут отключены.

Нажмите "Deploy" и дождитесь завершения.

После развертывания ваш хостинговый экземпляр Chatbot UI будет доступен по URL от Vercel.

Вклад в проект

Мы работаем над руководством по внесению вклада.

Контакты

Свяжитесь с Mckay в Twitter/X