FEAT: Capacités IA/GPU déclarées par l'agent — heartbeat étendu + entité + UI Admin #73
Labels
No labels
bug
chore
design
dx:ci
dx:database
dx:dotnet
dx:infra
dx:security
dx:tests
dx:ui
etape-1
etape-2
etape-3
etape-4
etape-5
etape-6
etape-7
feature
priority-high
priority-low
priority-medium
security
spec
tech-debt
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
nonobis/Heimdall#73
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
🎯 Contexte
Le central doit savoir qui peut exécuter quoi pour router les jobs d'analyse (cf. broker). Aujourd'hui le heartbeat transporte les métriques live (CPU %, RAM, disque, uptime — migration
AddAgentLiveMetrics) mais aucune capacité IA/GPU : impossible de savoir quel agent a un GPU, lequel a chargé le modèle YOLO, et quelle est sa charge.🔍 État actuel (vérifié dans le code)
Agententity : CpuUsagePercent, MemoryUsageBytes, DiskUsagePercent, UptimeSeconds, IsOffline (migration AddAgentLiveMetrics). Heartbeat POST/api/agents/{id}/heartbeat. Pas de champ GPU. Pas de détection matérielle côté agent.🧩 À faire
nvidia-smi), AMD ROCm (/dev/kfd+/dev/dri), Intel/iGPU VAAPI (/dev/dri, vainfo), fallback CPUAgent(migration EFAddAgentGpuCapabilities)🧪 Critères d'acceptation
GpuVendor=Nvidia+ VRAM + modèle chargé dans l'UIHasGpu=false/InferenceBackend=Cpumake testvert📁 Fichiers concernés
src/Heimdall.Agent/Services/SystemMetricsProvider.cs, src/Heimdall.Agent/Services/AgentRegistrationService.cs, src/Heimdall.Domain/Entities/Agent.cs, src/Heimdall.Infrastructure/Data/Migrations/, src/Heimdall.Web/Pages/Agents/AgentDetail.razor, src/Heimdall.Web/Pages/AllAgents.razor, tests/Heimdall.Agent.Tests/, tests/Heimdall.Web.Tests/
⚠️ Impact
Migration EF + évolution du contrat heartbeat — rétrocompatible (champs optionnels).
📝 Notes
Prérequis de l'ordonnanceur et du choix du worker de destination. La détection GPU réutilisera la logique du ticket docker GPU.
Maquette
Description
Onglet « Capacités IA / GPU » dans la fiche agent : bloc Accélération GPU (présence GPU, modèle, VRAM, driver, CUDA, température, utilisation), bloc Backends d'inférence (C
Maquette
Maquette the-designer intégrée (14/08/2026) :