feat: Add presence heartbeat for Matrix online status

- 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
This commit is contained in:
Apple
2025-11-27 00:19:40 -08:00
parent 5bed515852
commit 3de3c8cb36
6371 changed files with 1317450 additions and 932 deletions

View File

@@ -0,0 +1,139 @@
# ✅ GPU метрики НОДА1 - Оновлено
**Дата:** 2025-11-23
**Статус:** ✅ Готово до використання
---
## 🎉 Що виправлено
### ✅ Додано GPU метрики для НОДА1
**Проблема:** НОДА1 не показував GPU метрики, хоча має NVIDIA RTX 4000 SFF Ada
**Рішення:**
- ✅ Оновлено функцію `fetchGPUInfo()` для НОДА1
- ✅ Додано GPU інформацію до масиву `NODES`
- ✅ Створено технічну документацію НОДА1
---
## 🖥️ Технічні характеристики НОДА1
### **GPU**
- **Модель**: **NVIDIA RTX 4000 SFF Ada Generation**
- **VRAM**: **20,475 MB (20 GB GDDR6)**
- **Архітектура**: Ada Lovelace
- **Driver Version**: 535.274.02
- **CUDA Version**: 12.2
- **Статус**: ✅ Працює
**Поточне використання** (з документації):
- GPU Memory: 1922 MB / 20475 MB (9%)
- GPU Utilization: 0% (idle)
- Temperature: 46°C
- Power: 11W / 70W (max)
**Використання VRAM**:
- Ollama (qwen3:8b): ~5.6 GB
- Vision Encoder (ViT-L/14): ~1.9 GB
- **Total**: ~7.5 GB / 20 GB (37.5% usage)
### **CPU**
- **Модель**: Intel Core i5-13500 (13th Gen)
- **Ядра**: 14 cores (20 threads)
- **Частота**: 2.4-4.8 GHz
### **RAM**
- **Загальна**: 62 GB
- **Використовується**: 8.3 GB
- **Доступно**: 54 GB
### **Storage**
- **Розмір**: 1.7 TB
- **Використано**: 118 GB (8%)
- **Доступно**: 1.5 TB
---
## 📊 Відображення GPU метрик
### На сторінці нод (`/nodes`):
```
┌─────────────────────────────────────┐
НОДА1 │
│ node-1-hetzner-gex44 │
│ ● Онлайн │
├─────────────────────────────────────┤
│ IP адреса: 144.76.224.179 │
│ Роль: Production │
│ Активна модель: qwen3:8b │
│ Всього моделей: 5 │
│ │
│ ⚡ GPU метрики │
│ ┌─────────────────────────────────┐ │
│ │ NVIDIA RTX 4000 SFF Ada │ │
│ │ Використання: 0% │ │
│ │ Пам'ять: 1.9 / 20.0 GB │ │
│ │ Температура: 46°C │ │
│ │ Потужність: 11W │ │
│ └─────────────────────────────────┘ │
│ │
│ [Відкрити кабінет →] │
└─────────────────────────────────────┘
```
---
## 🔧 Налаштування
### API для отримання реальних GPU метрик (майбутнє)
**Для NVIDIA GPU (НОДА1):**
```bash
# Використати nvidia-smi
nvidia-smi --query-gpu=name,utilization.gpu,memory.used,memory.total,temperature.gpu,power.draw --format=csv,noheader,nounits
```
**Backend endpoint:**
```python
@app.get("/api/node/{node_id}/gpu")
async def get_node_gpu(node_id: str):
if node_id == 'node-1-hetzner-gex44':
# Виконати nvidia-smi через SSH або локально
result = subprocess.run(
['nvidia-smi', '--query-gpu=name,utilization.gpu,memory.used,memory.total,temperature.gpu,power.draw',
'--format=csv,noheader,nounits'],
capture_output=True,
text=True
)
# Парсити результат
return {"gpu": parse_nvidia_smi(result.stdout)}
return {"gpu": None}
```
---
## ✅ Статус
**Готово:**
- ✅ GPU метрики додано для НОДА1
- ✅ Технічна документація створена
- ✅ Відображення GPU метрик в картці ноди
- ✅ Реальні характеристики з документації
**Результат:**
-НОДА1 тепер показує GPU метрики (NVIDIA RTX 4000 SFF Ada)
-НОДА2 показує GPU метрики (Apple M4 Max GPU)
- ✅ Обидві ноди мають GPU метрики в індикаторах
---
**GPU метрики НОДА1 оновлено!** 🎉
**Доступ:**
- Сторінка нод: `http://localhost:8899/nodes`
- Обидві ноди показують GPU метрики