v1.7.0: refactor max_bot to flat structure, add VCF+UserModel+NLP history context, portal pages and proxy fixes

- Refactored max_bot from nested packages to flat module structure
- Q2: Extended BotUser model (patronymic, email, org, address, vcf_raw, contact_hash, phone_verified, email_verified, last_interaction, total_conversations, total_tickets)
- Q2: VCF parser (FN, N, TEL, EMAIL, ORG, ADR), upsert on re-contact, NLP history context (_get_user_history_context -> YandexGPT)
- Q1: Broadcast preview modal with 10s confirmation timer
- Q3: CSS var(--white)->var(--bg-card), var(--text)->var(--text-primary)
- Q4: bot_settings showNotification(), editable max_bot_id
- Q5: Webhook secret passthrough via X-Max-Bot-Api-Secret
- Masking sensitive keys, dialog_cleared handler, migrate via _add_column_if_not_exists()
- Rate limit (asyncio.sleep 0.5 per 10), dead code removed, conv.intent context in contact.py
- Portal pages: bot_consent, bot_kb (edit), bot_settings, bot_test, bot_tickets, portal_settings
- Tests: 21/21 passing, added test_yandex_gpt.py, test_email_sender.py
- Deploy: deploy_full.sh, schema.sql, seed_knowledge_base.sql
This commit is contained in:
2026-05-29 02:30:30 +03:00
parent 493e0b37a1
commit 72b6879f4b
234 changed files with 26768 additions and 6240 deletions
@@ -0,0 +1,157 @@
# Формулы и расчёты AegisOne
## 1. Risk Score (Оценка риска объекта)
**Формула:** Сумма весов выявленных нарушений
| Нарушение | Коэффициент (по умолч.) |
|-----------|------------------------|
| Нет архива видеонаблюдения | 25 |
| Нет резервного питания | 20 |
| Нет регламента обслуживания | 15 |
| Частые сбои систем | 20 |
| Нет документации | 10 |
**Максимум:** 100 баллов
**Интерпретация:**
- 020: Низкий
- 2150: Средний
- 5175: Высокий
- 76–100: Критический
---
## 2. Complexity Index (Сложность обслуживания)
**Формула:** Сумма баллов по компонентам
| Компонент | Значение | Коэффициент |
|-----------|----------|-------------|
| Камеры | до 20 | 10 |
| Камеры | 20100 | 20 |
| Камеры | 100+ | 35 |
| Точки СКУД | до 5 | 10 |
| Точки СКУД | 5–20 | 20 |
| Точки СКУД | 20+ | 30 |
| Пожарная | Простая | 15 |
| Пожарная | Средняя | 25 |
| Пожарная | Сложная (>5000 м²) | 40 |
| IT-инфраструктура | Есть | 10 |
**Интерпретация:**
- до 30: Простой
- 3170: Средний
- 71120: Сложный
- 120+: Enterprise
---
## 3. Infrastructure Load (Нагрузка на инфраструктуру)
| Параметр | Состояние | Коэффициент |
|----------|-----------|-------------|
| Сервер | Нет | 15 |
| Сервер | Слабый | 10 |
| Сеть | Нестабильная | 20 |
| Сеть | Частично | 10 |
| UPS | Нет | 20 |
| UPS | Слабый | 10 |
---
## 4. Service History (История обслуживания)
| Состояние | Коэффициент |
|-----------|-------------|
| Не обслуживается | 30 |
| Нерегулярно | 20 |
| Формальный подрядчик | 10 |
| Есть SLA | 0 |
---
## 5. Object Index (Итоговый индекс объекта)
**Формула:**
```
Object Index = Risk × 0.4 + Complexity × 0.3 + Infra × 0.2 + History × 0.1
```
**Классы:**
- A (до 30): Лёгкий SLA
- B (3160): Стандарт SLA
- C (6190): Сложный SLA
- D (90+): Enterprise / Высокий риск
---
## 6. SLA Price (Стоимость SLA)
**Формула:**
```
SLA Price = Base Cost × Object Index × Region Factor × Risk Multiplier
```
| Параметр | Значение |
|----------|----------|
| Base Cost | 15 000 ₽ |
| Region Factor | Краснодар 1.0 / Край 1.1 / РФ 1.3 / Удалённые 1.6 / Москва 1.8 |
**Risk Multiplier:**
- Низкий риск: 1.0
- Средний: 1.3
- Высокий: 1.6
- Критический: 2.0
---
## 7. Engineer Score (ES)
**Формула:** Взвешенная сумма компонентов
| Компонент | Вес |
|-----------|-----|
| SLA Compliance | 0.25 |
| Response Time Score | 0.20 |
| Resolution Time Score | 0.20 |
| Diagnosis Accuracy | 0.15 |
| Reopen Rate Score | 0.10 |
| Risk Coverage Score | 0.10 |
**Грейды:**
- 90+: Senior
- 8089: Strong
- 7079: Middle
- <70: Junior
---
## 8. SHS (System Health Score)
**Формула:**
```
SHS = SLA Stability × 0.22 + Revenue Stability × 0.18 + Retention × 0.18
+ Engineer Performance × 0.15 + Incident Stability × 0.12
+ Sales Flow × 0.10 + Operational Efficiency × 0.05
```
**Статусы:**
- 85+: Growth
- 7084: Stable
- 5069: Risk
- <50: Crisis
---
## Автоматические правила
| Условие | Действие |
|---------|----------|
| SHS < 70 | Снизить продажи, запустить аудит, пересмотреть назначения |
| SLA Compliance < 90% | Заморозить неприоритетные проекты, увеличить частоту проверок |
| Retention < 90% | Обязательный аудит клиентов, пересмотр назначений |
---
Все коэффициенты можно изменить в разделе **Коэффициенты** админ-панели. Изменения применяются к новым расчётам.