HyperPlatform — Руководство пользователя
Версия 1.0.01. Основные термины и сокращения
| Термин | Расшифровка |
|---|---|
| ПО | Программное обеспечение |
| ОС | Операционная система |
| БД | База данных |
| API | Application Programming Interface — программный интерфейс |
| HTTP | HyperText Transfer Protocol — протокол передачи данных |
| HTTPS | HTTP Secure — защищённый протокол передачи данных |
| PIN | Personal Identification Number — код подтверждения |
| JWT | JSON Web Token — токен авторизации |
| WebSocket | Протокол двусторонней связи в реальном времени |
| SSR | Server-Side Rendering — рендеринг страницы на сервере |
| IP | Internet Protocol — сетевой адрес |
| Docker | Платформа контейнеризации приложений |
| Чат | Диалог между пользователем и ботом |
| Бот | Программа, автоматически обрабатывающая сообщения |
| BotBrother | Главный бот платформы для управления |
| Callback | Данные, отправляемые при нажатии на интерактивную кнопку |
| Форма | Структурированный набор полей для ввода данных пользователем |
2. Назначение документа
Настоящий документ предназначен для пользователей, администраторов и операторов программного обеспечения «HyperPlatform». Документ содержит подробные инструкции по установке, настройке и использованию ПО, описание интерфейса, описание действий для каждой роли пользователя, а также способы решения типовых проблем.
Предполагается, что пользователи обладают базовыми навыками работы с персональным компьютером и веб-браузером.
3. Назначение ПО
3.1. Функциональное назначение ПО
Программное обеспечение «HyperPlatform» предназначено для:
- Обмена текстовыми сообщениями между пользователями и ботами в реальном времени;
- Отправки и получения файлов (изображения, видео, аудио, документы);
- Использования интерактивных форм для сбора структурированных данных;
- Использования кнопок быстрого действия (inline-клавиатура) для callback-взаимодействия;
- Управления пользователями, ботами и чатами через API;
- Автоматизации бизнес-процессов с помощью ботов.
3.2. Эксплуатационное назначение ПО
ПО может эксплуатироваться в организациях любого профиля для:
- Внутренней корпоративной коммуникации;
- Автоматизации процессов обработки заявок и уведомлений;
- Создания и управления корпоративными чат-ботами;
- Централизованного управления пользователями и доступом.
4. Условия функционирования ПО
4.1. Требования к аппаратному обеспечению (сервер)
| Компонент | Минимальное | Рекомендуемое |
|---|---|---|
| CPU | 2 ядра | 4 ядра |
| ОЗУ | 4 GB | 8 GB |
| Дисковое пространство | 20 GB | 50 GB (SSD) |
| Сетевой интерфейс | 100 Мбит/с | 1 Гбит/с |
4.2. Требования к программному обеспечению (сервер)
| Компонент | Версия |
|---|---|
| Операционная система | Linux (Ubuntu 20.04+, Debian 11+, CentOS 8+) |
| Docker | 24.0+ |
| Docker Compose | 2.0+ |
4.3. Требования к персоналу
К работе с ПО допускаются:
- Конечные пользователи — сотрудники организации, прошедшие инструктаж по работе с системой;
- Администраторы — специалисты, обладающие навыками работы с Linux, Docker и REST API;
- Операторы — сотрудники, прошедшие обучение по управлению ботами и чатами.
5. Установка ПО
Установка ПО осуществляется согласно отдельному документу «HyperPlatform — Инструкция по установке». Краткий порядок установки:
- Убедиться, что сервер соответствует требованиям (раздел 4);
- Проверить наличие Docker и Docker Compose;
- Скопировать архив с ПО на сервер;
- Распаковать архив командой:
tar -xzf HyperPlatform-1.0.0.tar.gz; - Перейти в папку:
cd HyperPlatform-1.0.0; - Отредактировать файл
.env.example; - Отредактировать файл
.env.frontend.example— указать IP-адрес или домен сервера; - Запустить скрипт установки:
./install.sh; - При первом запуске ввести email администратора (первого пользователя платформы);
- Сохранить токены доступа, отображаемые в конце установки.
6. Запуск ПО
6.1. Запуск серверной части
Запуск производится автоматически скриптом install.sh. Проверка работоспособности:
docker ps
Должны отображаться 7 контейнеров:
| Контейнер | Назначение |
|---|---|
hyperplatform_postgres | База данных |
hyperplatform_redis | Кеш |
hyperplatform_backend | API сервер |
hyperplatform_frontend | Веб-интерфейс |
hyperplatform_bot_brother | Главный бот |
hyperplatform_cleaner | Очистка данных |
hyperplatform_nginx | Веб-сервер |
6.2. Вход в систему
- Открыть браузер;
- В адресной строке ввести
http://<IP-адрес-сервера>/bot/; - Откроется экран входа в систему.
7. Интерфейс программы
7.1. Экран входа
Экран входа содержит следующие элементы:
- Заголовок с названием платформы;
- Поле «Email» — для ввода адреса электронной почты;
- Кнопка «Получить код» — отправляет PIN-код на указанную почту;
- Поле «Код подтверждения» — появляется после отправки PIN-кода;
- Кнопка «Войти» — выполняет вход в систему.
7.2. Главный экран
После успешного входа пользователь попадает на главный экран, который состоит из трёх областей:
Левая панель (список чатов)
- Отображает список доступных чатов;
- Каждый чат содержит название бота и аватар;
- Активный чат подсвечивается;
- В верхней части — поле поиска ботов и кнопка выхода.
Центральная область (окно переписки)
- Отображает историю сообщений в выбранном чате;
- Сообщения пользователя выравниваются по правому краю, бота — по левому;
- Вложения отображаются в виде превью;
- Кнопки и формы отображаются внутри сообщений.
7.3. Окно чата
В нижней части центральной области находится поле ввода сообщения и кнопки:
| Элемент | Назначение |
|---|---|
| Поле ввода текста | Ввод текста сообщения |
| Кнопка 📎 | Прикрепление файла |
| Кнопка отправки | Отправка сообщения |
| Кнопка «MENU» | Быстрый ввод команд |
| Кнопка микрофона | Отправка голосовых сообщений |
7.4. Типы сообщений
| Тип | Описание |
|---|---|
| Текст | Обычное текстовое сообщение |
| Изображение | Отправленное изображение с превью |
| Видео | Видеофайл с превью-кадром |
| Аудио | Аудиофайл |
| Документ | Файл любого другого формата |
| Кнопки | Сообщение с интерактивными кнопками |
| Форма | Сообщение с полями для заполнения |
8. Работа в ПО
8.1. Роль: Конечный пользователь
8.1.1. Авторизация
- Открыть браузер и перейти по адресу
http://<IP-адрес-сервера>/bot/; - На экране входа ввести адрес электронной почты;
- Нажать кнопку «Получить код»;
- Проверить почтовый ящик (включая папку «Спам»);
- Ввести полученный PIN-код в поле «Код подтверждения»;
- Нажать кнопку «Войти»;
- При успешном входе отобразится главный экран со списком чатов.
8.1.2. Работа с чатами
Выбор чата: щёлкнуть левой кнопкой мыши по названию чата в левой панели — в центральной области отобразится история сообщений.
Отправка текстового сообщения: выбрать чат → ввести текст в поле ввода → нажать Enter или кнопку отправки → сообщение отобразится в чате.
Отправка файла: выбрать чат → нажать кнопку 📎 → выбрать файл на компьютере → файл загрузится и отобразится с превью.
Просмотр истории: история загружается автоматически при выборе чата; при прокрутке вверх подгружаются более ранние сообщения.
Очистка чата: производится нажатием на кнопку в правом верхнем углу (история очищается, чат перезапускается).
8.1.3. Взаимодействие с кнопками
Если сообщение бота содержит кнопки: нажать на кнопку → данные кнопки (callback_data) отправляются боту → бот обрабатывает нажатие и может изменить сообщение или отправить новое.
8.1.4. Заполнение форм
Если сообщение бота содержит форму: заполнить поля (текстовые поля, выпадающие списки, радиокнопки, даты и т.д.) → нажать кнопку «Отправить» внизу формы → данные будут отправлены боту для обработки.
8.1.5. WebSocket-уведомления
При открытой странице чата устанавливается WebSocket-соединение, благодаря чему:
- Новые сообщения отображаются мгновенно без обновления страницы;
- При получении нового сообщения в неактивном чате счётчик непрочитанных увеличивается;
- Отображаются push-уведомления.
8.2. Роль: Администратор
Администратор взаимодействует с системой через REST API. Все запросы выполняются с использованием токена компании (COMPANY_TOKEN), который передаётся в заголовке Authorization: Bearer <token>. Для удобного взаимодействия со всеми элементами платформы создан главный бот BotBrother, через интерфейс которого можно управлять остальными ботами, чатами и пользователями.
8.2.1. Управление пользователями
| Действие | Метод | Путь |
|---|---|---|
| Создать пользователя | POST | /api/v1/admin/users/create |
| Список пользователей | GET | /api/v1/admin/users/list |
| Удалить пользователя | DELETE | /api/v1/admin/users/delete/{id} |
| Деавторизовать | POST | /api/v1/admin/users/deauthorize/{id} |
8.2.2. Управление ботами
| Действие | Метод | Путь |
|---|---|---|
| Создать бота | POST | /api/v1/admin/bots/create |
| Список ботов | GET | /api/v1/admin/bots/list |
| Обновить бота | PATCH | /api/v1/admin/bots/update/{id} |
| Пересоздать токен | POST | /api/v1/admin/bots/token/{id} |
| Удалить бота | DELETE | /api/v1/admin/bots/delete/{id} |
8.2.3. Управление чатами
| Действие | Метод | Путь |
|---|---|---|
| Создать чат | POST | /api/v1/admin/chats/create |
| Список чатов | GET | /api/v1/admin/chats/list |
| Удалить чат | DELETE | /api/v1/admin/chats/delete/{id} |
8.3. Роль: Оператор
Оператор взаимодействует с платформой через главного бота BotBrother, который предоставляет возможности по управлению пользователями и созданию ботов непосредственно из интерфейса чата. Возможности оператора: приглашение новых пользователей, создание новых ботов, создание чатов между пользователями и ботами.
8.3.1. Начало работы
| Шаг | Действие |
|---|---|
| 1 | Войти в систему как конечный пользователь |
| 2 | В списке чатов выбрать чат с «BotBrother» |
| 3 | Отправить команду /start |
| 4 | Бот отобразит доступные команды |
8.3.2. Приглашение пользователей
Отправить боту команду для приглашения нового пользователя. Пользователь получит уведомление и сможет войти в систему, используя свой email.
8.3.3. Создание нового бота
Отправить боту команду создания бота. Потребуется указать название бота, описание (опционально) и список команд (опционально). После создания бот получит уникальный токен доступа, который будет отображён в ответном сообщении.
8.3.4. Создание чатов
Оператор может создать чат между любым пользователем и любым ботом своей компании. Бот запросит необходимые данные и создаст чат.
9. Завершение работы ПО
9.1. Завершение сеанса пользователя
- Нажать кнопку закрытия в интерфейсе;
- Или закрыть вкладку браузера;
- Для выхода из сессии нажать кнопку в левом верхнем углу.
9.2. Остановка серверной части
cd <папка-установки>/HyperPlatform-1.0.0
# Полная остановка всех сервисов
docker compose down
# Временная остановка без удаления
docker compose stop
10. Удаление ПО
Для полного удаления ПО с сервера выполните следующие команды:
cd <папка-установки>/HyperPlatform-1.0.0
# Остановить и удалить все контейнеры, тома и сети
docker compose down --volumes
# Удалить все данные
rm -rf data/postgres data/redis Files Previews Static
# Удалить конфигурационные файлы
rm .env .env.frontend
# Перейти выше и удалить папку с ПО
cd ..
rm -rf HyperPlatform-1.0.0
rm HyperPlatform-1.0.0.tar.gz
data/postgres, data/redis, Files, Previews приведёт к безвозвратной потере всех данных: пользователей, сообщений, файлов, токенов.11. Решение типовых проблем
| Проблема | Вероятная причина | Решение |
|---|---|---|
| Письмо с PIN-кодом не приходит | Неверный email; письмо в «Спам»; не настроен SMTP-сервер | Проверить email; проверить папку «Спам»; проверить SMTP-настройки в .env |
| Не открывается страница входа | Сервер недоступен; не запущен nginx; порт 80 занят; файрвол блокирует порт | ping <IP>; systemctl status nginx; lsof -i :80; ufw allow 80 |
| Не открывается фронтенд | Неправильный ORIGIN; фронтенд не запущен | Проверить ORIGIN в .env.frontend; docker logs hyperplatform_frontend |
| Ошибка 502 Bad Gateway | Бекенд или фронтенд не запущен | docker logs hyperplatform_backend; docker logs hyperplatform_frontend |
| Контейнеры не запускаются | Нет места на диске; старые контейнеры; ошибка конфигурации | df -h; docker system prune -a -f; docker compose logs |
| Ошибка подключения к БД | Неверный пароль или схема | Проверить DB_PASS; схема должна быть "HyperPlatform" |
| Неверный PIN-код | Истёк срок действия; исчерпаны попытки | Запросить новый PIN; дождаться истечения срока |
| Новые сообщения не отображаются | Потеряно WebSocket-соединение | Обновить страницу в браузере |
| Бот не отвечает | Бот не активен; неверный токен | Проверить is_active через админ-API; проверить access_token в БД |
| Переменные не подхватываются | Запуск без source .env | Запускать с set -a; source .env; set +a |