Files
microdao-daarion/MONITOR-NODE-AGENT-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

106 lines
3.2 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 & NodeAgent - Архітектура та Інтеграція
## 📊 Поточна ситуація
### Monitor Agent:
- **НОДА1:** ✅ Задеплоєно (`agent-monitor`)
- **НОДА2:** ❌ Не знайдено (потрібно додати)
### NodeAgent:
- **НОДА2:** ✅ Створено як сервіс (`services/node2-nodeagent/`)
- **Роль:** Координатор ноди (не агент для відображення)
- **Функції:** Управління Swoper, Memory, Health checks, Self-healing
---
## 🎯 Правильна архітектура
### 1. Monitor Agent на кожній НОДА
**Призначення:**
- Збір подій та метрик з локальної ноди
- Відправка в єдиний Memory Service
- Локальне логування для швидкого доступу
**Архітектура:**
```
НОДА1 (Monitor Agent) ──┐
НОДА2 (Monitor Agent) ──┼──► Memory Service (PostgreSQL)
│ ├──► Qdrant (Vector)
НОДА3 (Monitor Agent) ──┘ ├──► Milvus (Long-range)
└──► Neo4j (Graph)
```
### 2. NodeAgent vs Monitor Agent
**NodeAgent (Сервіс):**
- Координатор ноди (backend service)
- Управління ресурсами
- Health checks
- Self-healing
- НЕ відображається як агент в UI
**Monitor Agent (Агент):**
- Збір та аналіз подій
- Інтеграція з Memory Service
- Чат з користувачем
- Відображається в UI як агент
**Рекомендація:**
- NodeAgent залишається як backend service
- Monitor Agent відображається в кабінеті НОДИ
- Monitor Agent використовує NodeAgent для доступу до ресурсів
---
## 🔧 План інтеграції
### Крок 1: Додати Monitor Agent на НОДА2
```typescript
// src/api/node2Agents.ts
{
id: 'agent-monitor-node2',
name: 'Monitor Agent',
role: 'System Monitoring & Event Logging (Node-2)',
model: 'local_qwen3_8b',
backend: 'local',
status: 'active',
node: 'node-2',
priority: 'high',
category: 'System',
type: 'worker',
department: 'System',
}
```
### Крок 2: Створити API для автоматичного збереження
**Endpoint:** `/api/memory/monitor-events`
**Функціональність:**
- Автоматичне збереження подій з WebSocket
- Батчинг для оптимізації
- Збереження в PostgreSQL, Qdrant, Milvus, Neo4j
### Крок 3: Підключити до кабінета НОДИ
**Відображення:**
- Monitor Agent в списку агентів ноди
- NodeAgent як сервіс (не агент)
- Метрики та події від Monitor Agent
---
## 📝 Детальний план
### 1. Додати Monitor Agent на НОДА2
### 2. Створити Memory Service Integration
### 3. Оптимізувати збір метрик (батчинг)
### 4. Підключити до кабінета НОДИ