Содержание
Проект представляет собой веб-приложение, которое позволяет пользователям создавать собственных чат-ботов и общаться с уже готовыми ботами.
Особенности приложения:
- Создание собственных чат-ботов с настраиваемым поведением
- Каталог готовых ботов для общения
- Удобный интерфейс ведения диалогов и истории переписки
(Вверх)
(Вверх)
Для сборки проекта и его последующего автоматического запуска на сервере необходимо активировать workflow "Deploy to production" в GitHub Actions. Предварительно необходимо добавить следующие GitHub Actions secrets, если они отсутвуют:
- SERVER_HOST
- SERVER_USER
- SSH_PRIVATE_KEY
- DOCKERHUB_USERNAME
- DOCKERHUB_TOKEN
- DJANGO_SECRET_KEY
- JWT_SIGNING_KEY
- OLLAMA_API_KEY
- OPENROUTER_KEY
На сервере должен быть установлен Docker и получен HTTPS сертификат.
Алгоритм запуска представлен для машины с ОС Windows 11
-
Установить git, docker, npm 11 и uv.
-
Склонировать репозиторий.
git clone https://github.com/Flynotfly/nuwa.git
- Перейти в директорию проекта.
cd nuwa
- Перейти в директорию Django проекта.
cd nuwa
- Создать виртуальное окружение python.
uv venv --python 3.14
- Установить зависимости.
uv sync
- Создать файл .env со следующими переменными окружения
- DJANGO_SECRET_KEY
- JWT_SIGNING_KEY
- OLLAMA_API_KEY
- OPENROUTER_KEY
- Запустить базу данных.
docker-compose -f local_docker/docker-compose.yml --env-file .env up -d
- Мигрировать.
uv run manage.py migrate --settings nuwa.settings.local_test
- Запустить проект.
uv run manage.py runserver --settings nuwa.settings.local_test
- Для запуска фронтенда необходимо перейти в директорию "frontend", установить npm и запустить проект в режиме разработчика.
cd ..
cd frontend
npm install
npm run dev
(Вверх)
- Добавить создание собственных ботов
- Добавить каталог готовых ботов
- Добавить генерацию изображений с помощью ComfyUI
- Добавить потоковую передачу сообщений
- Добавить голосовое общение с ботами
- Добавить поддержку загрузки файлов в диалоги
- Добавить возможность переключения языка
(Вверх)
tg: @flynotfly
Ссылка на проект: https://github.com/Flynotfly/nuwa
(Вверх)
