This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Установка
Требования, способы запуска и настройка окружения для СТАНКИН Анти-Спам.
Требования
| Компонент | Версия | Назначение |
|---|---|---|
| Python | 3.14+ | Backend, бот, ML |
| PostgreSQL | 14+ | Хранение данных |
| Node.js | 22+ | Сборка фронтенда (только для разработки) |
| Docker | 24+ | Контейнерный запуск (рекомендуется) |
Способ 1: Docker Compose (рекомендуется)
1. Подготовка
git clone https://scm.overklassniy.space/nyashki/STANKIN_AntiSpam.git
cd STANKIN_AntiSpam
cp .env.example .env
2. Настройка переменных окружения
Отредактируйте .env, обязательно заполните:
BOT_TOKEN— токен бота от @BotFatherDATABASE_URL— строка подключения к PostgreSQLSECRET_KEY— секретный ключ для сессийNOTIFICATION_CHAT_ID— ID чата управления
Полный список переменных — в configuration.md.
3. Запуск
docker compose up -d
Образ собирается локально из Dockerfile при первом запуске. Веб-панель доступна по адресу http://localhost:12523.
4. Получение доступа к панели
Отправьте боту в личные сообщения команду:
/start get_password
или
/get_password
Бот проверит, что вы администратор хотя бы в одной группе, и отправит учётные данные для входа.
Способ 2: Локальный запуск
1. Установка Python-зависимостей
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip install -r requirements-ml-onnx.txt
2. Сборка фронтенда
npm ci
npm run build
3. Настройка окружения
cp .env.example .env
# Отредактируйте .env
4. Подготовка базы данных
Убедитесь, что PostgreSQL запущен и база данных, указанная в DATABASE_URL, существует. Таблицы создаются автоматически при первом запуске.
5. Запуск
python run.py
Режимы запуска:
python run.py # Бот и панель (по умолчанию)
python run.py --bot # Только бот
python run.py --panel # Только панель
ML-модели
BERT-модель должна находиться в директории models/. По умолчанию используется finetuned_rubert_tiny2_raw. Модель выбирается через настройку BERT_MODEL в базе данных (веб-панель, страница «Настройки»).
Поддерживаемые форматы моделей:
- ONNX — файлы
model.onnxилиmodel_quantized.onnxв директории модели - PyTorch / safetensors — стандартный формат transformers
Сжатые модели размещаются в models/compressed/ и выбираются с префиксом compressed/ в веб-панели.
Выпуски моделей
Готовые обученные модели публикуются в виде выпусков (releases) репозитория с тегами models-v*. Актуальный выпуск — models-v3.
Каждый выпуск содержит архивы:
stankin-antispam-transformers-v*.tar.gz— дообученные трансформеры в формате Hugging Face;stankin-antispam-compressed-fp16-v*.tar.gz— сжатые модели float16;stankin-antispam-compressed-onnx-v*.tar.gz— модели ONNX fp32;stankin-antispam-compressed-int8-v*.tar.gz— модели ONNX int8 (dynamic quantization);stankin-antispam-classic-v*.tar.gz— классические sklearn-модели и TF-IDF векторизаторы;SHA256SUMS.txt— контрольные суммы для проверки целостности.
Архивы распаковываются в директорию models/:
cd STANKIN_AntiSpam
tar -xzf stankin-antispam-transformers-v3.tar.gz -C models/
sha256sum -c SHA256SUMS.txt
Для работы бота достаточно сжатых моделей (compressed-* архивы). Полные трансформеры нужны для дообучения и экспериментов.
Проверка установки
После запуска проверьте:
- Бот отвечает на команду
/startв личных сообщениях - Веб-панель доступна по адресу
http://localhost:12523 - В логах нет ошибок подключения к базе данных
- Команда
/get_passwordвозвращает учётные данные