Files
microdao-daarion/MONITOR-AGENT-COMPLETE-ARCHITECTURE.md
Apple 3de3c8cb36 feat: Add presence heartbeat for Matrix online status
- 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
2025-11-27 00:19:40 -08:00

191 lines
9.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ✅ 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/`
- ✅ Агрегує події з усіх НОД та мікроДАО
-Всі події записуються в пам'ять
- ✅ Може відповідати на питання про метрики та історію розвитку проєкту
## 📊 Автоматичне збереження подій
### Структура пам'яті
1. **Загальна пам'ять:** `monitor`
- Всі події системи
- Агрегація з усіх НОД та мікроДАО
- Доступна всім Monitor Agent
2. **Пам'ять для НОДИ:** `monitor-node-{node_id}`
- Події конкретної НОДИ
- Доступна Monitor Agent цієї ноди
3. **Пам'ять для мікроДАО:** `monitor-microdao-{microdao_id}`
- Події конкретного мікроДАО
- Доступна Monitor Agent цього мікроДАО
### Як працює збереження
1. **WebSocket події**`useMonitorEvents` hook
2. **Батчинг**`addMonitorEventToBatch` (10 подій або 5 секунд)
3. **Збереження** → Memory Service `/api/memory/monitor-events/batch`
4. **Розподіл:**
- Загальна пам'ять: `monitor` (всі події)
- Специфічна пам'ять: `monitor-node-{node_id}` або `monitor-microdao-{microdao_id}`
## 🔄 Відображення подій
### Головний Monitor Agent (MonitorChat)
- ✅ Показує ВСІ події (не фільтрує)
- ✅ Відображає події з усіх НОД та мікроДАО
- ✅ Автоматично додає нові події в чат
- ✅ Показує шлях до файлу (якщо є)
### Monitor Agent для НОДИ (NodeMonitorChat)
- ✅ Фільтрує події тільки для цієї НОДИ
- ✅ Показує інформацію про НОДУ в подіях
- ✅ Має доступ до загальної пам'яті + пам'яті ноди
### Monitor Agent для мікроДАО (MicroDaoMonitorChat)
- ✅ Фільтрує події тільки для цього мікроДАО
- ✅ Показує інформацію про мікроДАО в подіях
- ✅ Має доступ до загальної пам'яті + пам'яті мікроДАО
### Monitor Agent для DAARION (DaarionMonitorChat)
- ✅ Показує ВСІ події (агрегує)
- ✅ Відображає події з усіх НОД та мікроДАО
- ✅ Показує інформацію про НОДУ в подіях
- ✅ Відображає реальні зміни в проєкті
## 💬 Відповіді на питання
### Monitor Agent може відповідати на:
1. **Питання про пам'ять:**
- "Чи запам'ятовуєш зміни?"
- "Що зберігається в пам'яті?"
- "Скільки подій зафіксовано?"
2. **Питання про статус:**
- "Який статус системи?"
- "Як справи?"
- "Що відбувається?"
3. **Питання про агентів:**
- "Скільки агентів на НОДА2?"
- "Який статус деплою?"
- "Які агенти активні?"
4. **Питання про історію/метрики:**
- "Яка історія розвитку проєкту?"
- "Які зміни були зроблені?"
- "Покажи метрики"
- "Що змінилося в проєкті?"
### Як працює відповідь
1. **Monitor Agent отримує запит**
2. **Запитує пам'ять:**
- Загальна пам'ять (`monitor`) - 50% контексту
- Специфічна пам'ять (якщо є) - 50% контексту
3. **Формує відповідь** на основі контексту з пам'яті
4. **Використовує 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:** ✅ Повна функціональність реалізована