# Conol Self-Healing Auto-Repair Daemon `eni_repair_daemon.py` — непрерывный мониторинг и авто-ремонт пула аккаунтов. ## Запуск ```bash cd C:\Users\User\Desktop\conol_autoreg python eni_repair_daemon.py # непрерывный демон (каждые 5 мин) python eni_repair_daemon.py --once # разовый чек + ремонт ``` Из `start.bat`: пункты **7** (демон) и **8** (разовый). ## Фазы цикла ### Phase 1: Health Check Проверяет `POST /api/sessions` на всех аккаунтах параллельно (5 конкурентов), timeout 15s. ### Phase 2: Server-Down Detection Если >80% не-cookie ошибок = HTTP 500 → **пропускает весь ремонт**. Это conol.ai серверная проблема, не наши куки. Логируется `server_down`. Когда сервер оживает — `server_up`. **Отличие от per-account ошибок:** - 1-2 аккаунта 500 = индивидуальный сбой → repair - 80%+ аккаунтов 500 = сервер мёртв → ждать ### Phase 3: Individual Repair Аккаунт провалил `MAX_FAIL_STREAK=3` проверок подряд: | Ошибка | Стратегия | Инструмент | |--------|-----------|------------| | HTTP 401 / "unauthorized" / "cookie" | Re-login через CDP | `relogin_account()` | | "no_cookies" (статус 0) | Re-register | `eni_conol.py reg 1` | ### Phase 4: Credit Monitoring Баланс < 100 cr → авто-фарм квестов на этом аккаунте. ### Phase 5: Gateway Health Если гейтвей не отвечает → `taskkill` старого + запуск `gateway.py`. До 3 попыток с паузой 30s. После успешного перезапуска — `POST /pool/reload` для подхвата изменений. ## Логи и состояние - `eni_repair_log.jsonl` — все события (health_ok, health_fail, repair_login, repair_farm, server_down, gateway_restart, ...) - `eni_repair_state.json` — состояние между циклами (fail-счётчики, consecutive_server_downs, время последнего цикла) ## Пороги | Параметр | Значение | ENV override | |----------|----------|-------------| | Интервал проверки | 300s (5 мин) | `ENI_REPAIR_INTERVAL` | | Низкий баланс | < 100 cr | `CREDIT_LOW_THRESHOLD` | | Мёртвый баланс | 0 cr | `CREDIT_DEAD_THRESHOLD` | | Попыток до ремонта | 3 | `MAX_FAIL_STREAK` | | Попыток перезапуска GW | 3 | `GATEWAY_RESTART_ATTEMPTS` |