La capa de topologia proporciona un mapa vivo del cluster AI-LAB mostrando todos los nodos (GPU, servicios, componentes) y sus conexiones, con estado online/offline en tiempo real.

{
"nodes": [
{
"id": "rx9070-node",
"title": "RX9070",
"subtitle": "192.168.1.50",
"mainstat": "3ms",
"secondarystat": "5 models",
"arc__online": 1,
"arc__offline": 0
},
{
"id": "gateway",
"title": "Gateway AI-LAB",
"subtitle": ":8008 | OpenAI API",
"mainstat": "OK",
"secondarystat": "1.30",
"arc__online": 1,
"arc__offline": 0
}
],
"edges": [
{
"id": "gateway-rx9070-node",
"source": "gateway",
"target": "rx9070-node",
"mainstat": "3ms",
"secondarystat": "RTT"
}
]
}
NodoDescripcionSubtitulo
gatewayGateway AI-LAB:8008 | OpenAI API
event-busEvent BusCognitivo
episodic-memoryEpisodic MemoryJSONL Store

Nodos Dinamicos (desde cluster_state.json)

Section titled “Nodos Dinamicos (desde cluster_state.json)”

Se generan automaticamente a partir del estado actual del cluster, incluyendo latencia, modelos disponibles y estado online/offline.

Renderiza la topologia como texto estructurado con colores:

AI-LAB CLUSTER TOPOLOGY
======================
● RX9070 (3ms)
○ RX7900XT (OFFLINE)
● Gateway AI-LAB (OK)
● Event Bus (OK)
● Episodic Memory (OK)
gateway -> RX9070: 3ms
gateway -> RX7900XT: OFFLINE
gateway -> event-bus: active
event-bus -> episodic-memory: recording

Cytoscape.js esta instalado en el proyecto Astro para una futura migracion a un grafo interactivo con las siguientes capacidades:

  • Nodos coloreados por estado (verde online, rojo offline)
  • Aristas con etiquetas de latencia
  • Layout breadfirst (jerarquico)
  • Tooltips con metricas al hacer hover
  • Actualizacion en tiempo real via SSE
PaginaRutaComponente
Topologia Publica/status/topologyTopologyGraph
Estado Vivo/status/liveClusterHealth + EventStream
  1. Implementar renderizado Cytoscape en TopologyGraph.tsx
  2. Conectar a SSE para actualizacion en vivo
  3. Anadir colores degradados (amarillo = degraded)
  4. Anadir tooltips con metricas al hover
  5. Pagina privada /ops/topology con detalle ampliado