- 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
9.1 KiB
✅ Monitor Agent - Повна архітектура та функціональність
🎯 Структура чатів
1. Головний Monitor Agent (на всіх сторінках)
Компонент: MonitorChat
Розташування: Всі сторінки http://localhost:8899/
Agent ID: monitor
Пам'ять: Загальна пам'ять (monitor) + всі події системи
Функціональність:
- ✅ Кругляшок на всіх сторінках (правый нижній кут)
- ✅ Відкривається діалогове вікно з головним Monitor Agent
- ✅ Відображає ВСІ події з усіх НОД та мікроДАО
- ✅ Автоматично показує зміни в проєкті в реальному часі
- ✅ Всі події записуються в пам'ять
- ✅ Може відповідати на питання про метрики та історію
2. Monitor Agent для НОДИ (в кабінетах НОД)
Компонент: NodeMonitorChat
Розташування: Кабінети НОД (/nodes/:nodeId)
Agent ID: monitor-node-{node_id}
Пам'ять: Загальна пам'ять (monitor) + пам'ять ноди (monitor-node-{node_id})
Функціональність:
- ✅ Окремий чат діалогове вікно з Monitor Agent прив'язаним до НОДИ
- ✅ Фільтрує події тільки для цієї НОДИ
- ✅ Має доступ до загальної пам'яті + пам'яті своєї НОДИ
- ✅ Може відповідати на питання про конкретну НОДУ
3. Monitor Agent для мікроДАО (в кабінетах мікроДАО)
Компонент: MicroDaoMonitorChat
Розташування: Кабінети мікроДАО (/microdao/:microDaoId)
Agent ID: monitor-microdao-{microdao_id}
Пам'ять: Загальна пам'ять (monitor) + пам'ять мікроДАО (monitor-microdao-{microdao_id})
Функціональність:
- ✅ Окремий чат діалогове вікно з Monitor Agent прив'язаним до мікроДАО
- ✅ Фільтрує події тільки для цього мікроДАО
- ✅ Має доступ до загальної пам'яті + пам'яті свого мікроДАО
- ✅ Може відповідати на питання про конкретне мікроДАО
4. Monitor Agent для DAARION (в кабінеті DAARION)
Компонент: DaarionMonitorChat
Розташування: Кабінет DAARION (/microdao/daarion)
Agent ID: monitor (загальний)
Пам'ять: Загальна пам'ять (monitor) - агрегація всіх НОД та мікроДАО
Функціональність:
- ✅ Головний чат з Monitor Agent в кабінеті DAARION
- ✅ Відображає ВСІ зміни в логах проєкту
http://localhost:8899/ - ✅ Реальні відображення змін що робляться на
http://localhost:8899/ - ✅ Агрегує події з усіх НОД та мікроДАО
- ✅ Всі події записуються в пам'ять
- ✅ Може відповідати на питання про метрики та історію розвитку проєкту
📊 Автоматичне збереження подій
Структура пам'яті
-
Загальна пам'ять:
monitor- Всі події системи
- Агрегація з усіх НОД та мікроДАО
- Доступна всім Monitor Agent
-
Пам'ять для НОДИ:
monitor-node-{node_id}- Події конкретної НОДИ
- Доступна Monitor Agent цієї ноди
-
Пам'ять для мікроДАО:
monitor-microdao-{microdao_id}- Події конкретного мікроДАО
- Доступна Monitor Agent цього мікроДАО
Як працює збереження
- WebSocket події →
useMonitorEventshook - Батчинг →
addMonitorEventToBatch(10 подій або 5 секунд) - Збереження → Memory Service
/api/memory/monitor-events/batch - Розподіл:
- Загальна пам'ять:
monitor(всі події) - Специфічна пам'ять:
monitor-node-{node_id}абоmonitor-microdao-{microdao_id}
- Загальна пам'ять:
🔄 Відображення подій
Головний Monitor Agent (MonitorChat)
- ✅ Показує ВСІ події (не фільтрує)
- ✅ Відображає події з усіх НОД та мікроДАО
- ✅ Автоматично додає нові події в чат
- ✅ Показує шлях до файлу (якщо є)
Monitor Agent для НОДИ (NodeMonitorChat)
- ✅ Фільтрує події тільки для цієї НОДИ
- ✅ Показує інформацію про НОДУ в подіях
- ✅ Має доступ до загальної пам'яті + пам'яті ноди
Monitor Agent для мікроДАО (MicroDaoMonitorChat)
- ✅ Фільтрує події тільки для цього мікроДАО
- ✅ Показує інформацію про мікроДАО в подіях
- ✅ Має доступ до загальної пам'яті + пам'яті мікроДАО
Monitor Agent для DAARION (DaarionMonitorChat)
- ✅ Показує ВСІ події (агрегує)
- ✅ Відображає події з усіх НОД та мікроДАО
- ✅ Показує інформацію про НОДУ в подіях
- ✅ Відображає реальні зміни в проєкті
💬 Відповіді на питання
Monitor Agent може відповідати на:
-
Питання про пам'ять:
- "Чи запам'ятовуєш зміни?"
- "Що зберігається в пам'яті?"
- "Скільки подій зафіксовано?"
-
Питання про статус:
- "Який статус системи?"
- "Як справи?"
- "Що відбувається?"
-
Питання про агентів:
- "Скільки агентів на НОДА2?"
- "Який статус деплою?"
- "Які агенти активні?"
-
Питання про історію/метрики:
- "Яка історія розвитку проєкту?"
- "Які зміни були зроблені?"
- "Покажи метрики"
- "Що змінилося в проєкті?"
Як працює відповідь
- Monitor Agent отримує запит
- Запитує пам'ять:
- Загальна пам'ять (
monitor) - 50% контексту - Специфічна пам'ять (якщо є) - 50% контексту
- Загальна пам'ять (
- Формує відповідь на основі контексту з пам'яті
- Використовує Mistral на НОДА2 для генерації відповіді
✅ Перевірка функціональності
На всіх сторінках http://localhost:8899/:
- ✅ Кругляшок Monitor Agent (правый нижній кут)
- ✅ Відкривається діалогове вікно
- ✅ Відображаються всі події
- ✅ Всі події записуються в пам'ять
В кабінетах НОД:
- ✅ Окремий чат з Monitor Agent ноди
- ✅ Фільтрує події по ноді
- ✅ Має доступ до пам'яті ноди
В кабінетах мікроДАО:
- ✅ Окремий чат з Monitor Agent мікроДАО
- ✅ Фільтрує події по мікроДАО
- ✅ Має доступ до пам'яті мікроДАО
В кабінеті DAARION:
- ✅ Головний чат з Monitor Agent
- ✅ Відображає всі зміни в проєкті
- ✅ Реальні відображення змін
- ✅ Всі події записуються в пам'ять
- ✅ Може відповідати на питання про метрики та історію
🎯 Результат
✅ На всіх сторінках є кругляшок з головним Monitor Agent
✅ В кабінетах НОД та мікроДАО є окремі чати з відповідними Monitor Agent
✅ В головному чаті в кабінеті DAARION відображаються всі зміни в логах проєкту
✅ Всі події записуються в пам'ять Monitor Agent
✅ Можна запитати за всі метрики та історію розвитку проєкту і Monitor Agent все відповість
Last Updated: 2025-01-27
Status: ✅ Повна функціональність реалізована