- 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
8.6 KiB
8.6 KiB
✅ Swapper Service інтегровано в кабінети нод
Дата: 2025-11-23
Статус: ✅ Готово до використання
🎉 Що зроблено
✅ 1. Видалено окрему сторінку Swapper
Зміни:
- ✅ Видалено маршрути
/swapperта/admin/swapperзsrc/App.tsx - ✅ Видалено імпорт
SwapperPage - ✅ Сторінка
SwapperPageбільше не використовується
Результат:
- ❌
http://localhost:8899/swapper- більше не доступна - ✅ Інформація про Swapper Service тепер в кабінетах нод
✅ 2. Інтегровано Swapper Service в кабінети нод
Файл: src/pages/NodeCabinetPage.tsx
Зміни:
- ✅ Додано імпорт
SwapperStatusCardтаSwapperMetricsSummary - ✅ Додано окрему секцію "Swapper Service" в вкладці "Сервіси"
- ✅ Відображення детальної інформації про Swapper Service для кожної ноди окремо
- ✅ Автоматичне визначення URL Swapper Service в залежності від ноди:
- НОДА1:
http://144.76.224.179:8890 - НОДА2:
http://192.168.1.244:8890
- НОДА1:
Структура:
Вкладка "Сервіси"
├── 🔄 Swapper Service (детальна інформація)
│ ├── SwapperStatusCard (статус, активна модель, список моделей)
│ └── SwapperMetricsSummary (метрики, статистика)
└── Інші сервіси ноди
├── Node Registry
├── NATS JetStream
└── NodeAgent (тільки НОДА2)
✅ 3. Оновлено SwapperComponents для підтримки нод
Файл: src/components/swapper/SwapperComponents.tsx
Зміни:
- ✅ Додано функцію
getSwapperUrl(nodeId)для визначення URL по ноді - ✅
SwapperStatusCardтепер приймаєnodeIdяк prop - ✅
SwapperMetricsSummaryтепер приймаєnodeIdяк prop - ✅ Автоматичне визначення правильного URL для кожної ноди
Environment Variables:
VITE_SWAPPER_NODE1_URL=http://144.76.224.179:8890
VITE_SWAPPER_NODE2_URL=http://192.168.1.244:8890
VITE_SWAPPER_URL=http://localhost:8890 # fallback
📊 Структура кабінету ноди
Вкладка "Сервіси"
┌─────────────────────────────────────────────────┐
│ 🔄 Swapper Service │
│ Динамічне завантаження та управління AI моделями │
├─────────────────────────────────────────────────┤
│ ┌─────────────────────┬──────────────────────┐ │
│ │ SwapperStatusCard │ SwapperMetricsSummary │ │
│ │ (2/3 ширини) │ (1/3 ширини) │ │
│ │ │ │ │
│ │ - Статус сервісу │ - Всього моделей │ │
│ │ - Активна модель │ - Активних │ │
│ │ - Список моделей │ - Доступних │ │
│ │ - Кнопки управління │ - Uptime │ │
│ │ │ - Запитів │ │
│ └─────────────────────┴──────────────────────┘ │
└─────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────┐
│ Інші сервіси ноди │
│ Сервіси та координатори НОДА1/НОДА2 │
├─────────────────────────────────────────────────┤
│ • Node Registry (порт 9205) │
│ • NATS JetStream (порт 4222) │
│ • NodeAgent (порт 9600) - тільки НОДА2 │
│ • RAG Router (порт 9401) - тільки НОДА2 │
└─────────────────────────────────────────────────┘
🚀 Як використати
1. Відкрити кабінет ноди
# НОДА1
http://localhost:8899/nodes/node-1-hetzner-gex44
# НОДА2
http://localhost:8899/nodes/node-2
2. Перейти на вкладку "Сервіси"
- Відкрити кабінет ноди
- Натиснути на вкладку "Сервіси"
- Побачити детальну інформацію про Swapper Service
3. Переглянути інформацію про Swapper Service
- Статус сервісу - healthy/degraded/unhealthy
- Активна модель - яка модель зараз завантажена
- Список моделей - всі доступні моделі з їх статусами
- Метрики - статистика використання
- Кнопки управління - завантажити/вивантажити модель
🔧 Налаштування
Environment Variables
Додати до .env:
# Swapper Service URLs для кожної ноди
VITE_SWAPPER_NODE1_URL=http://144.76.224.179:8890
VITE_SWAPPER_NODE2_URL=http://192.168.1.244:8890
VITE_SWAPPER_URL=http://localhost:8890 # fallback
✅ Переваги нової структури
-
Відокремленість по НОДАХ
- Кожна нода має свою інформацію про Swapper Service
- Не плутаються дані з різних нод
- Чітке розділення метрик та сервісів
-
Централізована інформація
- Вся інформація про ноду в одному місці
- Swapper Service, інші сервіси, агенти, метрики - все в кабінеті ноди
-
Зручність
- Не потрібно переходити на окрему сторінку
- Вся інформація доступна в контексті ноди
📝 Наступні кроки (опціонально)
-
Додати реальні метрики з Prometheus
- Підключити до Prometheus для отримання реальних метрик
- Відображати графіки використання моделей
-
Додати історію завантаження моделей
- Показувати коли та які моделі завантажувалися
- Статистика використання кожної моделі
-
Додати автоматичне завантаження моделей
- Налаштування правил автоматичного завантаження
- Тригери для завантаження моделей
✅ Статус
Готово:
- ✅ Видалено окрему сторінку
/swapper - ✅ Інтегровано Swapper Service в кабінети нод
- ✅ Відокремлена інформація по НОДАХ
- ✅ Детальна інформація про Swapper Service для кожної ноди
- ✅ Автоматичне визначення URL по ноді
Результат:
- ✅ Інформація по НОДАХ відокремлена
- ✅ Swapper Service відображається в кабінетах нод
- ✅ Зручна навігація та структура
Swapper Service повністю інтегровано в кабінети нод! 🎉
Доступ:
- НОДА1:
http://localhost:8899/nodes/node-1-hetzner-gex44→ Вкладка "Сервіси" - НОДА2:
http://localhost:8899/nodes/node-2→ Вкладка "Сервіси"