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
This commit is contained in:
133
MONITOR-AGENT-MEMORY-ARCHITECTURE.md
Normal file
133
MONITOR-AGENT-MEMORY-ARCHITECTURE.md
Normal file
@@ -0,0 +1,133 @@
|
||||
# 📊 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:** ✅ Архітектура пам'яті реалізована
|
||||
|
||||
Reference in New Issue
Block a user