- 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
5.8 KiB
5.8 KiB
✅ Monitor Agent - Реальна інтеграція завершена
🎯 Що зроблено
1. Створено Monitor Agent Service Backend
Файл: services/monitor-agent-service/app/main.py
Функціональність:
- ✅ Підключення до Ollama Mistral (
mistral-nemo:12b) - ✅ Отримання контексту з Memory Service
- ✅ System prompt для Monitor Agent
- ✅ Підтримка різних нод (monitor-node-1, monitor-node-2)
- ✅ Загальний Monitor Agent для всіх НОД
Endpoints:
POST /api/agent/monitor/chat- загальний Monitor AgentPOST /api/agent/monitor-node-{node_id}/chat- Monitor Agent конкретної ноди
2. Оновлено Frontend для використання реального API
Файли:
src/components/monitor/MonitorChat.tsx- оновлено для використання Monitor Agent Servicesrc/pages/DagiMonitorPage.tsx- оновлено для використання реального API
Зміни:
- ✅ Додано
MONITOR_SERVICE_URLдля підключення до Monitor Agent Service - ✅ Пріоритет на Monitor Agent Service (реальний Ollama Mistral)
- ✅ Fallback на основний API та mock відповіді
3. Нумерація Monitor Agent згідно нод
Оновлено:
src/api/node2Agents.ts- Monitor Agent теперagent-monitor-node2з моделлюmistral-nemo:12bsrc/api/node1Agents.ts- Monitor Agent теперagent-monitor-node1
Структура:
monitor-node-1- Monitor Agent для НОДА1monitor-node-2- Monitor Agent для НОДА2monitor- Загальний Monitor Agent для всіх НОД (DAARION кабінет)
4. Додано Monitor Agent в кабінет НОДА2
Файл: src/pages/NodeCabinetPage.tsx
Monitor Agent відображається в списку агентів НОДА2 з:
- ID:
agent-monitor-node2 - Назва:
Monitor Agent (НОДА2) - Модель:
mistral-nemo:12b - Backend:
ollama - Статус:
active
5. Створено загальний Monitor Agent для DAARION кабінета
Файл: src/components/monitor/DaarionMonitorChat.tsx
Функціональність:
- ✅ Загальний Monitor Agent для всіх НОД
- ✅ Агрегація подій з усіх нод
- ✅ Чат з Monitor Agent через реальний API
- ✅ Інтеграція в DAARION кабінет
Інтеграція:
src/pages/DaarionCabinetPage.tsx- доданоDaarionMonitorChatкомпонент
📊 Архітектура
┌─────────────────────────────────────────────────┐
│ Frontend (MonitorChat / DaarionMonitorChat) │
└─────────────────┬───────────────────────────────┘
│
↓
┌─────────────────────────────────────────────────┐
│ Monitor Agent Service (port 9500) │
│ - POST /api/agent/monitor/chat │
│ - POST /api/agent/monitor-node-{node_id}/chat │
└─────────────────┬───────────────────────────────┘
│
┌─────────┴─────────┐
↓ ↓
┌───────────────┐ ┌───────────────┐
│ Ollama │ │ Memory Service│
│ (port 11434) │ │ (port 8000) │
│ │ │ │
│ Mistral Model │ │ PostgreSQL │
└───────────────┘ └───────────────┘
🚀 Запуск
1. Запустити Monitor Agent Service
cd services/monitor-agent-service
python -m uvicorn app.main:app --host 0.0.0.0 --port 9500 --reload
2. Перевірити Ollama
curl http://localhost:11434/api/tags
# Має бути mistral-nemo:12b або mistral:latest
3. Перевірити Monitor Agent Service
curl http://localhost:9500/health
# Має повернути {"status": "ok", "service": "monitor-agent-service"}
4. Тест чату
curl -X POST http://localhost:9500/api/agent/monitor/chat \
-H "Content-Type: application/json" \
-d '{
"agent_id": "monitor",
"message": "Привіт! Який статус системи?",
"node_id": null
}'
✅ Статус
| Компонент | Статус | Деталі |
|---|---|---|
| Monitor Agent Service | ✅ Готово | Backend з підключенням до Ollama Mistral |
| Frontend Integration | ✅ Готово | Оновлено для використання реального API |
| Нумерація нод | ✅ Готово | monitor-node-1, monitor-node-2, monitor |
| Кабінет НОДА2 | ✅ Готово | Monitor Agent відображається в списку |
| DAARION кабінет | ✅ Готово | Загальний Monitor Agent інтегровано |
🎯 Наступні кроки
- Запустити Monitor Agent Service
- Перевірити підключення до Ollama
- Протестувати чат з Monitor Agent
- Перевірити збереження подій в Memory Service
Last Updated: 2025-01-27
Status: ✅ Готово до використання