Agente · dev-vision
Propósito
Desarrollo y mejora del módulo de visión artificial de CreaRack-Pro: Auto-Plan AI y Auto-Provision.
Auto-Plan AI (digitalización de planos)
Concepto
Recibe planos de infraestructura en formato bitmap (PNG, JPG, PDF) y usa IA para:
- Identificar racks y armarios de red
- Detectar dispositivos dentro de cada rack
- Inferir conexiones entre dispositivos
- Generar representación electrónica editable en el Map Editor
Proveedores IA (por orden de prioridad)
| Proveedor | Paquete | Rol |
|---|---|---|
| Gemini Flash | google-genai 1.60+ | Principal · modelo fijo: gemini-3-flash-preview |
| Claude Haiku | anthropic 0.52.0+ | Alternativo (CNS / Edge Intelligence) |
| DeepSeek | openai 2.26.0+ | Fallback via API OpenAI-compatible |
⚠ Mantener todos en tier económico. No cambiar proveedor principal sin decisión del equipo.
Pipeline de análisis
Imagen entrada (PNG/JPG/PDF)
↓
Preprocesamiento (Pillow)
· Normalización de resolución
· Segmentación si el plano es grande
↓
Gemini Flash API (gemini-3-flash-preview)
· Prompt estructurado → respuesta JSON
· Reintentos con backoff exponencial (Huey)
↓
Parser de respuesta (Pydantic)
· Validación del JSON recibido
· Mapeo a modelos Django
↓
Frontend: AutoPlansAdapter.js (Map Editor)
· Renderizado en canvas Konva.js
Gestión de prompts
- Ubicación:
blueprints/prompts/(o similar — verificar en el repo) - Siempre pedir respuesta en JSON estructurado con schema explícito en el prompt
- Versionar prompts (v1, v2…) para comparar resultados
- Separar prompt de identificación de racks del de dispositivos
Casos límite conocidos
- Planos baja resolución (<150 DPI): preprocesar con upscaling (Pillow)
- Planos muy grandes: segmentar antes de enviar
- Rack vista frontal vs planta: prompts distintos por tipo de vista
Auto-Provision (descubrimiento automático de red)
Concepto
Descubre y provisiona automáticamente dispositivos de red en subredes configuradas.
Pipeline multi-stage
1. ICMP ping (icmplib) → hosts activos
2. ARP table → MACs
3. SNMP polling (pysnmp) → sysObjectID, vendor, modelo
4. HTTP fingerprinting → interfaz web, tipo de dispositivo
Características
- Bulk subnet scan: /20 a /30
- 1.600+ vendors (IANA PEN + curated) con detección por sysObjectID
- Confidence scoring 0-100%
- Multi-device rack assignment (dropdown por dispositivo)
- Dashboard indicators: borde naranja + badge en racks con pendientes
- Stencil matching + auto-fill nombre/management_config en Rack Editor
Auto-MIB Probe
Testeo de OIDs contra dispositivos reales antes de aplicar a deep discovery:
- Upload MIB → extracción de miles de OIDs
- “Probe Device” testea cuáles responden en el dispositivo real
- Queries SNMP concurrentes via Local Agent (semáforo 20 paralelas, timeout 0.5s)
- Tabla visual: filas verdes (respondió) / grises (sin datos)
- “Select Responding” auto-selecciona solo OIDs útiles
- Warning automático si MIB >200 OIDs · máximo 200 en Apply
Ejecución via Local Agent
- El Agent (puerto 5050) ejecuta las queries de red directamente desde la red local
- Endpoints relevantes del Agent:
POST /network/snmp-discoverPOST /network/http-fingerprint
CNS · Edge Intelligence (detección de anomalías)
Concepto
El Local Agent detecta anomalías en tiempo real y las envía al SaaS. La IA (Gemini/Claude) las diagnostica y sugiere remediación.
Anomalías detectadas
- Packet loss >10%
- Latencia >200ms
- CRC errors >100/min
- Caída de clientes >30%
- Interface down
Flujo
Agent (AnomalyDetector) detecta anomalía
↓
Agent (InsightReporter) POST al SaaS
↓
SaaS: Gemini Flash / Claude Haiku diagnostica
↓
Operador: aprueba / acknowledge en Observatory
Clasificación de riesgo
- HIGH: criterios explícitos en el prompt de IA
- MEDIUM / LOW: escalado dinámico según % de pérdida
- Whitelist de comandos por vendor (Cisco IOS, NX-OS, Arista EOS, Juniper JunOS)
Métricas de calidad (objetivos)
- Precisión detección racks: >95%
- Precisión detección dispositivos: >85%
- Falsos positivos Auto-Provision: <5%
- Confidence scoring medio: >70% en subredes bien configuradas