- 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
6.9 KiB
6.9 KiB
✅ Monitor Agent - Стандартизація завершена
🎯 Стандартизація Monitor Agent
Архітектура
┌─────────────────────────────────────────────────────────┐
│ Загальний Monitor Agent (DAARION) │
│ - ID: agent-monitor │
│ - Агрегує дані з усіх НОД та мікроДАО │
│ - Розташований в кабінеті DAARION │
└─────────────────────────────────────────────────────────┘
│
┌───────────┴───────────┐
│ │
┌───────▼────────┐ ┌─────────▼──────────┐
│ Monitor Agent │ │ Monitor Agent │
│ для НОДИ │ │ для мікроДАО │
│ │ │ │
│ monitor-node-1│ │ monitor-microdao- │
│ monitor-node-2│ │ {microdao_id} │
└───────────────┘ └────────────────────┘
📋 Структура нумерації
1. Monitor Agent для НОДИ
- ID:
agent-monitor-{node_id} - Приклади:
agent-monitor-node-1- Monitor Agent для НОДА1agent-monitor-node-2- Monitor Agent для НОДА2agent-monitor-node-3- Monitor Agent для НОДА3
2. Monitor Agent для мікроДАО
- ID:
agent-monitor-microdao-{microdao_id} - Приклади:
agent-monitor-microdao-daarion-dao- Monitor Agent для DAARIONagent-monitor-microdao-greenfood- Monitor Agent для GREENFOODagent-monitor-microdao-energy-union- Monitor Agent для ENERGY UNION
3. Загальний Monitor Agent
- ID:
agent-monitor - Призначення: Агрегація даних з усіх НОД та мікроДАО
- Розташований: Кабінет мікроДАО DAARION
🔧 Реалізація
1. Monitor Agent Factory
Файл: src/utils/monitorAgentFactory.ts
Функції:
createNodeMonitorAgent(nodeId, nodeName)- Створити Monitor Agent для НОДИcreateMicroDaoMonitorAgent(microDaoId, microDaoName)- Створити Monitor Agent для мікроДАОcreateGlobalMonitorAgent()- Створити загальний Monitor AgentgetMonitorAgentChatUrl(agentId, nodeId?, microDaoId?)- Отримати URL для чатуhasNodeMonitorAgent(nodeId, agents)- Перевірити існування Monitor Agent для нодиhasMicroDaoMonitorAgent(microDaoId, agents)- Перевірити існування Monitor Agent для мікроДАО
2. Компоненти
NodeMonitorChat
Файл: src/components/monitor/NodeMonitorChat.tsx
- Monitor Agent для конкретної НОДИ
- Фільтрує події тільки для цієї ноди
- Інтегровано в
NodeCabinetPage
MicroDaoMonitorChat
Файл: src/components/monitor/MicroDaoMonitorChat.tsx
- Monitor Agent для конкретного мікроДАО
- Фільтрує події тільки для цього мікроДАО
- Інтегровано в
MicroDaoCabinetPage
DaarionMonitorChat
Файл: src/components/monitor/DaarionMonitorChat.tsx
- Загальний Monitor Agent для всіх НОД та мікроДАО
- Агрегує події з усієї системи
- Інтегровано в
DaarionCabinetPage
3. Backend Endpoints
Файл: services/monitor-agent-service/app/main.py
Endpoints:
POST /api/agent/monitor/chat- Загальний Monitor AgentPOST /api/agent/monitor-node-{node_id}/chat- Monitor Agent для НОДИPOST /api/agent/monitor-microdao-{microdao_id}/chat- Monitor Agent для мікроДАО
✅ Інтеграція
Кабінети НОД
Файл: src/pages/NodeCabinetPage.tsx
- ✅ Додано
NodeMonitorChatкомпонент - ✅ Автоматично відображається для кожної НОДИ
- ✅ Фільтрує події по
node_id
Кабінети мікроДАО
Файл: src/pages/MicroDaoCabinetPage.tsx
- ✅ Додано
MicroDaoMonitorChatкомпонент - ✅ Автоматично відображається для кожного мікроДАО
- ✅ Фільтрує події по
microdao_id
Кабінет DAARION
Файл: src/pages/DaarionCabinetPage.tsx
- ✅ Додано
DaarionMonitorChatкомпонент - ✅ Загальний Monitor Agent для всієї системи
- ✅ Агрегує події з усіх НОД та мікроДАО
🚀 Автоматичне створення
При створенні нової НОДИ
- Автоматично створюється Monitor Agent з ID
agent-monitor-{node_id} - Додається в список агентів ноди
- Інтегрується в кабінет ноди через
NodeMonitorChat
При створенні нового мікроДАО
- Автоматично створюється Monitor Agent з ID
agent-monitor-microdao-{microdao_id} - Додається в список агентів мікроДАО
- Інтегрується в кабінет мікроДАО через
MicroDaoMonitorChat
📊 Поточний стан
| Компонент | Статус | Деталі |
|---|---|---|
| Monitor Agent Factory | ✅ Готово | Утиліти для створення Monitor Agent |
| NodeMonitorChat | ✅ Готово | Monitor Agent для НОДИ |
| MicroDaoMonitorChat | ✅ Готово | Monitor Agent для мікроДАО |
| DaarionMonitorChat | ✅ Готово | Загальний Monitor Agent |
| Backend Endpoints | ✅ Готово | Підтримка всіх типів Monitor Agent |
| Інтеграція в кабінети | ✅ Готово | Всі кабінети мають свої Monitor Agent |
🎯 Наступні кроки
- ✅ Стандартизація завершена
- ⏳ Автоматичне створення при створенні нової НОДИ (потрібно додати в API)
- ⏳ Автоматичне створення при створенні нового мікроДАО (потрібно додати в API)
Last Updated: 2025-01-27
Status: ✅ Стандартизація завершена