- 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
3.9 KiB
3.9 KiB
✅ Monitor Agent Memory Integration - Завершено
📊 Статус Monitor Agent
НОДА1:
- ✅ Задеплоєно:
agent-monitor - Node: node-1-hetzner-gex44
- Model:
local_qwen3_8b - Status:
active
НОДА2:
- ✅ Додано:
agent-monitor-node2 - Node: node-2
- Model:
local_qwen3_8b - Status:
active
🧠 Пам'ять Monitor Agent
Архітектура:
НОДА1 (Monitor Agent) ──┐
│
НОДА2 (Monitor Agent) ──┼──► Memory Service (PostgreSQL)
│ ├──► Qdrant (Vector)
НОДА3 (Monitor Agent) ──┘ ├──► Milvus (Long-range)
└──► Neo4j (Graph)
Автоматичне збереження:
- ✅ WebSocket події автоматично зберігаються в Memory Service
- ✅ Батчинг для оптимізації (10 подій або 5 секунд)
- ✅ Збереження в PostgreSQL (структуровані дані)
- ⏳ TODO: Збереження в Qdrant, Milvus, Neo4j
🔧 Створено
1. API Endpoints для Memory Service
Endpoint: /api/memory/monitor-events/batch
- Батч збереження подій
- Оптимізовано для збору метрик з багатьох нод
Endpoint: /api/memory/monitor-events/{node_id}
- Збереження однієї події
2. Frontend Integration
Файл: src/api/monitorMemory.ts
- Батчинг подій
- Автоматичне збереження з WebSocket
Файл: src/hooks/useMonitorEvents.ts
- Інтеграція з Memory Service
- Автоматичне збереження подій
3. NodeAgent Integration
NodeAgent (Сервіс):
- Відображається в кабінеті НОДИ як сервіс
- Порт: 9600 (НОДА2)
- Роль: Координатор ноди
Monitor Agent (Агент):
- Відображається в кабінеті НОДИ як агент
- Збирає події та метрики
- Зберігає в Memory Service
📝 Як працює
1. Збір подій:
- Monitor Agent на кожній НОДА збирає події
- Події надходять через WebSocket
/ws/events
2. Батчинг:
- Події накопичуються в батч (до 10 подій)
- Автоматичне збереження кожні 5 секунд
- Оптимізація для багатьох нод
3. Збереження:
- PostgreSQL: структуровані дані
- Qdrant: векторний пошук (TODO)
- Milvus: довгострокове зберігання (TODO)
- Neo4j: графові зв'язки (TODO)
🎯 Рекомендації
NodeAgent vs Monitor Agent:
NodeAgent:
- Backend service (координатор)
- НЕ відображається як агент
- Відображається як сервіс в кабінеті НОДИ
Monitor Agent:
- AI агент (з LLM)
- Відображається як агент в кабінеті НОДИ
- Чат з користувачем
- Збір та аналіз подій
Висновок: Не об'єднувати! Це різні компоненти:
- NodeAgent = координатор (сервіс)
- Monitor Agent = аналітик (агент)
✅ Готово
- ✅ Monitor Agent на НОДА1 та НОДА2
- ✅ API endpoints для Memory Service
- ✅ Автоматичне збереження подій
- ✅ Батчинг для оптимізації
- ✅ NodeAgent відображається як сервіс
- ✅ Monitor Agent відображається як агент
Status: ✅ Complete Date: 2025-01-27