Commit Graph

4 Commits

Author SHA1 Message Date
Marker689
4ae893a025 feat: фаза 3 (часть 1) — disclaimer, очередь, initiator + IP
3.6 UI: убрать stat-minibar и heatmap с дашборда
3.2 AI disclaimer под каждым LLM-вердиктом
3.4 LLM_MAX_CONCURRENT_ANALYSES + Semaphore в llm.py
3.1 Scan.initiator + source_ip, webhook захватывает, UI показывает
2026-05-10 07:32:14 +03:00
Marker689
d23abe8b4b feat: лимит конкурентных сканов через asyncio.Semaphore
- config.py: MAX_CONCURRENT_SCANS (default=4)
- harvester.py: глобальный _scan_semaphore оборачивает scan_package()
  — при N одновременных сканах, (N+1)-й будет ждать освобождения слота
  — download и SHA256 не лимитируются, только guarddog subprocess
- docker-compose.yml, .env.example: переменная добавлена
2026-05-10 05:52:23 +03:00
Marker689
cff15a5284 docs: добавить LLM-переменные в .env.example и docker-compose.yml
- .env.example: LLM_ENABLED, LLM_API_BASE, LLM_API_KEY, LLM_MODEL, LLM_TIMEOUT_SECONDS
- docker-compose.yml: прокидывает LLM-переменные в контейнер guarddog-nexus
2026-05-10 04:39:23 +03:00
Marker689
bdcc82807d init: guarddog-nexus project skeleton 2026-05-09 04:32:48 +03:00