- 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
189 lines
5.2 KiB
Markdown
189 lines
5.2 KiB
Markdown
# Agent Connections Test - Complete ✅
|
||
|
||
## 📋 Summary
|
||
|
||
Створено систему перевірки зв'язку між агентами Node #1 та Node #2 з детальними тестами та візуалізацією.
|
||
|
||
---
|
||
|
||
## ✅ Що додано
|
||
|
||
### 1. API Endpoint `/api/agents/connection-test`
|
||
|
||
**Функціональність:**
|
||
- Розділяє агентів по нодах (Node #1 та Node #2)
|
||
- Тестує зв'язок через різні методи:
|
||
- DAGI Router (Node #1 ↔ Node #2)
|
||
- Node Registry (централізований сервіс)
|
||
- NATS JetStream (message broker)
|
||
- Вимірює latency та доступність
|
||
- Повертає детальні результати тестів
|
||
|
||
**Response:**
|
||
```json
|
||
{
|
||
"node1_agents": [...],
|
||
"node2_agents": [...],
|
||
"connection_tests": [
|
||
{
|
||
"method": "DAGI Router",
|
||
"type": "router",
|
||
"status": "success|partial|failed|error",
|
||
"node1_accessible": true,
|
||
"node2_accessible": true,
|
||
"cross_node_connection": true,
|
||
"latency_ms": 45.2,
|
||
"error": null
|
||
}
|
||
],
|
||
"summary": {
|
||
"node1_count": 6,
|
||
"node2_count": 25,
|
||
"total_tests": 3,
|
||
"successful_tests": 2,
|
||
"failed_tests": 1
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 2. Сторінка `/agents/connections`
|
||
|
||
**Розташування:** `http://localhost:8899/agents/connections`
|
||
|
||
**Секції:**
|
||
|
||
#### A. Summary Cards
|
||
- **Node #1 Agents** - кількість агентів на Node #1
|
||
- **Node #2 Agents** - кількість агентів на Node #2
|
||
- **Successful Tests** - успішні тести зв'язку
|
||
- **Failed Tests** - невдалі тести
|
||
|
||
#### B. Connection Tests
|
||
- Детальні результати тестів для кожного методу:
|
||
- DAGI Router
|
||
- Node Registry
|
||
- NATS JetStream
|
||
- Для кожного тесту показує:
|
||
- Статус (success/partial/failed/error)
|
||
- Node #1 доступність
|
||
- Node #2 доступність
|
||
- Cross-node connection
|
||
- Latency (ms)
|
||
- Помилки (якщо є)
|
||
|
||
#### C. Node #1 Agents
|
||
- Grid з усіма агентами Node #1
|
||
- Показує: назву, ID, категорію, модель, orchestrator статус
|
||
|
||
#### D. Node #2 Agents
|
||
- Grid з усіма агентами Node #2
|
||
- Показує: назву, ID, категорію, модель, orchestrator статус
|
||
|
||
#### E. Connection Matrix
|
||
- Опис потенційних зв'язків між агентами
|
||
- Методи комунікації:
|
||
- DAGI Router
|
||
- NATS JetStream
|
||
- Node Registry
|
||
- HTTP/HTTPS
|
||
|
||
---
|
||
|
||
## 🔧 Оновлення агентів
|
||
|
||
### Додано поле `node` для агентів Node #1:
|
||
|
||
1. **Daarwizz** - `node: "node1"`
|
||
2. **DevTools Agent** - `node: "node1"`
|
||
3. **MicroDAO Orchestrator** - `node: "node1"`
|
||
4. **Helion** - `node: "node1"`
|
||
5. **GREENFOOD Assistant** - `node: "node1"`
|
||
6. **Tokenomics Advisor** - `node: "node1"`
|
||
|
||
### Агенти Node #2 (вже мають `node: "node2"`):
|
||
|
||
- Monitor Agent
|
||
- Sofia
|
||
- PrimeSynth
|
||
- Solarius
|
||
- ProtoMind, LabForge, TestPilot, ModelScout, BreakPoint, GrowCell
|
||
- Helix, ByteForge, Vector, Pulse, Cypher, Atomis, GuardianOS, Sigma, Kinetix
|
||
- Omnimind, Qdrant Keeper, Milvus Curator, GraphMind, RAG Router
|
||
|
||
---
|
||
|
||
## 🎨 UI Features
|
||
|
||
### Індикатори статусу:
|
||
- 🟢 **Green** - success/accessible
|
||
- 🟡 **Yellow** - partial/warning
|
||
- 🔴 **Red** - failed/not accessible
|
||
|
||
### Автоматичне оновлення:
|
||
- Сторінка оновлюється кожні 30 секунд
|
||
- Кнопка "Refresh" для ручного оновлення
|
||
|
||
### Навігація:
|
||
- Додано "Agent Connections" в меню
|
||
- Іконка: `link`
|
||
- Активний клас при відкритті сторінки
|
||
|
||
---
|
||
|
||
## 📊 Тестування зв'язку
|
||
|
||
### Методи тестування:
|
||
|
||
1. **DAGI Router:**
|
||
- Node #1: `http://144.76.224.179:9102/health`
|
||
- Node #2: `http://localhost:9102/health`
|
||
- Перевіряє доступність обох роутерів
|
||
|
||
2. **Node Registry:**
|
||
- URL: `http://144.76.224.179:9205/health`
|
||
- Перевіряє централізований реєстр
|
||
|
||
3. **NATS JetStream:**
|
||
- URL: `http://144.76.224.179:8222/varz`
|
||
- Перевіряє message broker
|
||
|
||
---
|
||
|
||
## 🔄 Автоматичне оновлення
|
||
|
||
- Сторінка `/agents/connections` оновлюється кожні 30 секунд
|
||
- Використовує `setInterval(loadAgentConnections, 30000)`
|
||
|
||
---
|
||
|
||
## ✅ Перевірка
|
||
|
||
### API:
|
||
```bash
|
||
curl http://localhost:8899/api/agents/connection-test
|
||
```
|
||
|
||
### UI:
|
||
- Відкрити: `http://localhost:8899/agents/connections`
|
||
- Перевірити всі секції та тести
|
||
|
||
---
|
||
|
||
## 🎯 Результат
|
||
|
||
Тепер можна:
|
||
1. ✅ Бачити скільки агентів на кожній ноді
|
||
2. ✅ Тестувати зв'язок між нодами
|
||
3. ✅ Перевіряти доступність сервісів
|
||
4. ✅ Вимірювати latency
|
||
5. ✅ Візуалізувати зв'язки між агентами
|
||
|
||
---
|
||
|
||
**Status:** ✅ Complete
|
||
**Date:** 2025-11-22
|
||
**Version:** DAGI Monitor V5.1
|
||
|