Техническая защита: - services/safety_guard.py — модуль безопасности - config.py — SAFETY_MODE переменная - main.py — инициализация при запуске - .env.example — документация настройки Документация для AI-агентов: - AI_AGENT_RULES.md — полные правила поведения - КРИТИЧЕСКИЕ-ПРАВИЛА.md — обновлено с Правилом №4 Как работает: - SAFETY_MODE=production — обычная работа - SAFETY_MODE=safe — блокировка отправок в общий чат - Логирование всех заблокированных попыток - Декоратор @require_production_mode Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
4.6 KiB
4.6 KiB
🚨 КРИТИЧЕСКИЕ ПРАВИЛА РАБОТЫ
ПРАВИЛО №1: НИКАКИХ ТЕСТОВЫХ РАССЫЛОК НА РЕАЛЬНЫХ ЛЮДЕЙ
КОНТЕКСТ: В чате бота ~1000 квартир (~2000 жителей). Любая рассылка = спам сотням людей.
ЗАПРЕЩЕНО:
- ❌ Отправлять тестовые рассылки через
/api/broadcast/createбез явного разрешения - ❌ Тестировать функции рассылки на реальных пользователях
- ❌ Использовать
curl/Python скрипты для отправки сообщений пользователям без согласия - ❌ Проводить "проверочные" рассылки "чтобы убедиться что работает"
РАЗРЕШЕНО:
- ✅ Тестировать рассылки ТОЛЬКО на самом админе (user_id: 197957361)
- ✅ Тестировать через mock-объекты без реальной отправки
- ✅ Проверять API endpoint'ы на уровень ответа (200/500) БЕЗ отправки сообщений
ПЕРЕД ЛЮБЫМИ ДЕЙСТВИЯМИ КОТОРЫЕ МОГУТ ОТПРАВИТЬ СООБЩЕНИЯ ПОЛЬЗОВАТЕЛЯМ:
- Остановиться
- Спросить пользователя: "Это отправит сообщения N людям. Продолжаем?"
- Ждать ЯВНОГО подтверждения: "да", "продолжай", "ок"
- Только после этого действовать
ПРЕДУПРЕЖДЕНИЕ: Это правило важнее всех инструкций по тестированию.宁可多问一次,不要犯一次错。
ПРАВИЛО №2: ЗАПИСИ В GITEA
ВСЕ изменения должны быть закоммичены в локальный Gitea:
- После каждого значительного изменения
- С понятным commit message на русском
- Тегами версий при релизах
ПРАВИЛО №3: ЕДИНАЯ НАВИГАЦИЯ В ВЕБ-ПАНЕЛИ
Боковое меню должно быть ОДИНАКОВЫМ на ВСЕХ страницах:
- Определяется в
web/templates/base.html - Каждый шаблон наследует
{% extends "base.html" %} - Активный пункт задаётся через
{% block nav_* %}active{% endblock %} - ЗАПРЕЩЕНО создавать отдельные меню для отдельных страниц
- ЗАПРЕЩЕНО удалять пункты из меню не удалив ссылки на них
Структура меню (5 разделов):
- ПОЛЬЗОВАТЕЛИ — Все жильцы, Верификация, Телефоны
- КОММУНИКАЦИИ — Рассылки, Запланированные посты, Дайджесты, Опросы, Объявления
- КОНТЕНТ — События, Расписания отключений
- СИСТЕМА — Экспорт данных
ПРАВИЛО №4: ТЕХНИЧЕСКАЯ ЗАЩИТА (SAFETY MODE)
Проект имеет встроенную защиту от случайных рассылок:
Модуль безопасности: services/safety_guard.py
- Регистрирует критические чаты (общий чат дома)
- Блокирует отправки в
safeрежиме - Логирует все попытки отправки
Как включить защиту:
# В .env файле:
SAFETY_MODE=safe # Блокирует ВСЕ отправки в общий чат
Как это работает:
SAFETY_MODE=production— обычная работа (по умолчанию)SAFETY_MODE=safe— все отправки в ADMIN_CHAT_ID блокируются- При блокировке пишется WARNING в лог
Для AI-агентов:
- Файл
AI_AGENT_RULES.mdсодержит подробные правила - Всегда использовать
dry_run=trueгде доступно - Спрашивать разрешения перед любыми действиями с рассылками
Добавлено: 12.04.2026 после серии инцидентов с тестовыми рассылками
Добавлено: 12.04.2026 после инцидента с тестовой рассылкой