- 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
134 lines
5.0 KiB
Markdown
134 lines
5.0 KiB
Markdown
# 📊 Monitor Agent - Архітектура пам'яті
|
||
|
||
## 🎯 Структура пам'яті
|
||
|
||
### 1. Загальна пам'ять (Global Memory)
|
||
|
||
**Agent ID:** `monitor`
|
||
|
||
**Призначення:**
|
||
- Агрегація подій з усіх НОД та мікроДАО
|
||
- Системні події всього DAARION
|
||
- Загальна статистика та метрики
|
||
|
||
**Використання:**
|
||
- Загальний Monitor Agent (DAARION кабінет)
|
||
- Всі Monitor Agent мають доступ до загальної пам'яті
|
||
|
||
### 2. Пам'ять для НОДИ (Node-Specific Memory)
|
||
|
||
**Agent ID:** `monitor-node-{node_id}`
|
||
|
||
**Приклади:**
|
||
- `monitor-node-1` - пам'ять Monitor Agent для НОДА1
|
||
- `monitor-node-2` - пам'ять Monitor Agent для НОДА2
|
||
- `monitor-node-3` - пам'ять Monitor Agent для НОДА3
|
||
|
||
**Призначення:**
|
||
- Події конкретної НОДИ
|
||
- Метрики та статуси ноди
|
||
- Агенти та сервіси ноди
|
||
|
||
**Використання:**
|
||
- Monitor Agent конкретної НОДИ (NodeMonitorChat)
|
||
- Має доступ до загальної пам'яті + пам'яті своєї ноди
|
||
|
||
### 3. Пам'ять для мікроДАО (MicroDAO-Specific Memory)
|
||
|
||
**Agent ID:** `monitor-microdao-{microdao_id}`
|
||
|
||
**Приклади:**
|
||
- `monitor-microdao-daarion-dao` - пам'ять Monitor Agent для DAARION
|
||
- `monitor-microdao-greenfood` - пам'ять Monitor Agent для GREENFOOD
|
||
- `monitor-microdao-energy-union` - пам'ять Monitor Agent для ENERGY UNION
|
||
|
||
**Призначення:**
|
||
- Події конкретного мікроДАО
|
||
- Агенти та канали мікроДАО
|
||
- Проєкти та задачі мікроДАО
|
||
|
||
**Використання:**
|
||
- Monitor Agent конкретного мікроДАО (MicroDaoMonitorChat)
|
||
- Має доступ до загальної пам'яті + пам'яті свого мікроДАО
|
||
|
||
## 🔄 Як працює пам'ять
|
||
|
||
### Збереження подій
|
||
|
||
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}`
|
||
|
||
### Отримання контексту
|
||
|
||
1. **Monitor Agent отримує запит**
|
||
2. **Запитує пам'ять:**
|
||
- Загальна пам'ять (`monitor`) - половина контексту
|
||
- Специфічна пам'ять (`monitor-node-{node_id}` або `monitor-microdao-{microdao_id}`) - половина контексту
|
||
3. **Комбінує контекст** для формування відповіді
|
||
|
||
## 📊 Приклад роботи
|
||
|
||
### Monitor Agent для НОДА2
|
||
|
||
**Пам'ять:**
|
||
- Загальна: `monitor` (всі події системи)
|
||
- Специфічна: `monitor-node-2` (події НОДА2)
|
||
|
||
**Контекст для відповіді:**
|
||
```
|
||
Загальні події системи:
|
||
- [node_event] НОДА1 оновлено статус
|
||
- [agent_event] Агент Solarius задеплоєно
|
||
- [system_event] Оновлено конфігурацію
|
||
|
||
Події НОДА2:
|
||
- [agent_event] Агент Sofia активний
|
||
- [node_event] НОДА2 CPU: 45%
|
||
- [system_event] Swapper Service працює
|
||
```
|
||
|
||
### Monitor Agent для DAARION мікроДАО
|
||
|
||
**Пам'ять:**
|
||
- Загальна: `monitor` (всі події системи)
|
||
- Специфічна: `monitor-microdao-daarion-dao` (події DAARION)
|
||
|
||
**Контекст для відповіді:**
|
||
```
|
||
Загальні події системи:
|
||
- [node_event] НОДА1 оновлено статус
|
||
- [agent_event] Агент Solarius задеплоєно
|
||
|
||
Події МікроДАО daarion-dao:
|
||
- [agent_event] DAARION Core команда активна
|
||
- [project_event] Створено новий проєкт
|
||
- [channel_event] Новий канал створено
|
||
```
|
||
|
||
## ✅ Переваги
|
||
|
||
1. **Загальна пам'ять:**
|
||
- Агрегація даних з усієї системи
|
||
- Загальна статистика
|
||
- Системні події
|
||
|
||
2. **Специфічна пам'ять:**
|
||
- Детальна інформація про конкретну НОДУ/мікроДАО
|
||
- Швидкий доступ до релевантних подій
|
||
- Оптимізація контексту
|
||
|
||
3. **Комбінований доступ:**
|
||
- Monitor Agent має доступ до обох типів пам'яті
|
||
- Більш інформативні відповіді
|
||
- Контекстна релевантність
|
||
|
||
---
|
||
|
||
**Last Updated:** 2025-01-27
|
||
**Status:** ✅ Архітектура пам'яті реалізована
|
||
|