- 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
6.3 KiB
6.3 KiB
✅ Monitor Agent - Автоматична інтеграція з системою
Дата: 2025-11-22
Статус: ✅ Готово до використання
🎉 Виконано
✅ 1. Event Logging System
- ✅ Автоматичне логування всіх змін в системі
- ✅ Зберігання останніх 1000 подій
- ✅ Типи подій:
node,agent,system - ✅ Дії:
created,updated,deleted,status_changed,swapper_updated
✅ 2. Real-time Updates
- ✅ WebSocket endpoint:
/ws/events - ✅ Server-Sent Events:
/api/events/stream - ✅ Автоматичне підключення Monitor Agent до подій
- ✅ Broadcast подій всім підписникам
✅ 3. Автоматичний моніторинг
- ✅ Background task для моніторингу змін
- ✅ Перевірка статусу нод кожні 30 секунд
- ✅ Перевірка Swapper Service кожні 30 секунд
- ✅ Автоматичне виявлення змін
✅ 4. Event Log на Dashboard
- ✅ Відображення останніх 20 подій
- ✅ Real-time оновлення через WebSocket
- ✅ Автоматичне оновлення кожні 10 секунд
- ✅ Візуальні індикатори для різних типів подій
🚀 Як працює
Автоматичне логування подій
-
Зміни в агентах:
- Створення/оновлення агента
- Додавання/видалення агента з команди
- Зміна system prompt
-
Зміни в нодах:
- Зміна статусу ноди (online/offline/degraded)
- Оновлення Swapper Service
- Зміна активної моделі
-
Системні події:
- Запуск/зупинка Monitor Agent
- Очищення логу
- Інші системні події
Real-time оновлення
-
WebSocket підключення:
- Автоматичне підключення при завантаженні dashboard
- Автоматичне переподключення при розриві
- Broadcast нових подій всім підписникам
-
Event Stream:
- Server-Sent Events для fallback
- Останні 20 подій при підключенні
- Нові події в реальному часі
📊 Event Log на Dashboard
Відображення
-
Секція "System Activity Log":
- Останні 20 подій
- Real-time оновлення
- Візуальні індикатори:
- 🔵 Agent events (blue)
- 🟢 Node events (green)
- 🟣 System events (purple)
-
Формат події:
- Іконка типу події
- Повідомлення
- Час події
- Деталі (якщо є)
-
Автоматичне оновлення:
- WebSocket для real-time
- Polling кожні 10 секунд (fallback)
- Анімація нових подій
🔧 API Endpoints
Events API
# Отримати останні події
GET /api/events?limit=50
# WebSocket для real-time
WS /ws/events
# Server-Sent Events
GET /api/events/stream
# Очистити лог
POST /api/events/clear
Приклад події
{
"timestamp": "2025-11-22T12:34:56.789",
"type": "agent",
"action": "sub_agent_added",
"message": "Додано агента 'Product Manager' в команду GREENFOOD Assistant",
"details": {
"agent_id": "greenfood",
"agent_name": "GREENFOOD Assistant",
"sub_agent": {
"name": "Product Manager",
"role": "Manages products"
}
}
}
🔄 Автоматичні правила
1. Моніторинг нод
- ✅ Перевірка статусу кожні 30 секунд
- ✅ Логування змін статусу
- ✅ Відстеження Swapper Service
2. Моніторинг агентів
- ✅ Логування всіх змін в агентах
- ✅ Відстеження змін в командах оркестраторів
- ✅ Логування оновлень system prompt
3. Моніторинг Swapper Service
- ✅ Перевірка кожні 30 секунд
- ✅ Відстеження змін активної моделі
- ✅ Логування оновлень
📋 Типи подій
Agent Events
created- Створено агентаupdated- Оновлено агентаsub_agent_added- Додано агента в командуsub_agent_removed- Видалено агента з команди
Node Events
status_changed- Змінено статус нодиswapper_updated- Оновлено Swapper Servicemodel_changed- Змінено активну модель
System Events
monitor_started- Запущено Monitor Agentlog_cleared- Очищено лог подій
🧪 Тестування
1. Перевірити Event Log
# Отримати останні події
curl http://localhost:8899/api/events?limit=10
2. Тестувати WebSocket
const ws = new WebSocket('ws://localhost:8899/ws/events');
ws.onmessage = (event) => {
console.log('Event:', JSON.parse(event.data));
};
3. Створити тестову подію
- Додати агента в команду оркестратора
- Змінити system prompt агента
- Перевірити відображення в Event Log
✅ Готово!
Monitor Agent автоматично інтегровано з системою! 🎉
- ✅ Автоматичне логування всіх змін
- ✅ Real-time оновлення через WebSocket
- ✅ Event Log на dashboard
- ✅ Автоматичний моніторинг нод та агентів
- ✅ Background task для відстеження змін
Можна використовувати прямо зараз!
Last Updated: 2025-11-22
Status: ✅ Готово до використання
URL: http://localhost:8899