- matrix-gateway: POST /internal/matrix/presence/online endpoint - usePresenceHeartbeat hook with activity tracking - Auto away after 5 min inactivity - Offline on page close/visibility change - Integrated in MatrixChatRoom component
3.8 KiB
3.8 KiB
✅ Виправлення Monitor Agent - Повідомлення про зміни на НОДА1 та НОДА2
Дата: 2025-11-23
Статус: ✅ Виправлено
🔍 Проблема
Monitor Agent не писав повідомлення про зміни на НОДА1 та НОДА2 у діалогове вікно.
🔧 Виправлення
1. Видалено дублювання повідомлень
Файл: src/pages/DagiMonitorPage.tsx
- ❌ Видалено код, який додавав події безпосередньо в чат
- ✅ Тепер тільки повідомлення від Monitor Agent додаються в чат
- ✅ Всі події з нод конвертуються в
ProjectChangeі генерують повідомлення через Monitor Agent
2. Покращено логування
Файли:
src/pages/DagiMonitorPage.tsxsrc/services/projectChangeTracker.ts
Додано:
- ✅ Детальне логування конвертації подій
- ✅ Логування генерації повідомлень через Monitor Agent
- ✅ Логування додавання повідомлень в чат
3. Покращено обробку помилок
Файл: src/services/projectChangeTracker.ts
- ✅ Детальна обробка помилок при генерації повідомлень
- ✅ Fallback на базове повідомлення, якщо Monitor Agent API недоступний
- ✅ Логування всіх кроків процесу
🔄 Як працює система
1. Події з нод (WebSocket)
Зміна на НОДА1/НОДА2
↓
WebSocket подія (useMonitorEvents)
↓
Конвертація в ProjectChange
↓
Генерація повідомлення через Monitor Agent (Mistral на НОДА2)
↓
CustomEvent 'project-change'
↓
Додавання в чат
2. Ланцюжок обробки
- Подія з ноди →
useMonitorEventsотримує через WebSocket - Конвертація → Подія конвертується в
ProjectChange - Генерація → Monitor Agent (Mistral) генерує повідомлення
- CustomEvent →
emitChangeEventвідправляє подію - Чат →
handleProjectChangeдодає повідомлення в чат
📋 Перевірка
1. Консоль браузера (F12)
Має бути логування:
📊 New monitor event received: {type: 'node', ...}
🔄 Converting monitor event to ProjectChange for Monitor Agent: ...
✅ Event converted to ProjectChange, Monitor Agent will generate message
🤖 Generating Monitor Agent message for change: ...
📡 Sending to Monitor Agent API: ...
✅ Monitor Agent message generated: ...
📢 Dispatching CustomEvent project-change
✅ CustomEvent dispatched successfully
📝 Project change event received from Monitor Agent: ...
✅ Adding Monitor Agent message to chat: ...
2. WebSocket підключення
- Індикатор у header чату має бути зеленим
- Консоль:
Monitor WebSocket connected
3. Monitor Agent Service
- Перевірте, чи працює на
http://localhost:9500 - Health check:
GET http://localhost:9500/health
✅ Результат
- ✅ Події з нод автоматично генерують повідомлення від Monitor Agent
- ✅ Повідомлення додаються в чат через CustomEvent
- ✅ Повідомлення залишаються в чаті
- ✅ Детальне логування для діагностики
Готово до використання! 🚀