Índice
Código Abierto10 de octubre de 2026

PDK — DevKit de IA para Ignition Perspective

IgnitionPerspectiveSCADAAgentes de IAMCPPythonJava

Descripción General

PDK (Perspective DevKit) es un conjunto de herramientas de código abierto (licencia Apache 2.0) para que un agente de IA, como Claude Code o cualquier cliente MCP, construya y corrija pantallas de Ignition Perspective (view.json).

La diferencia con generar JSON a ciegas es que PDK cierra el ciclo completo: generar → validar → desplegar → inspeccionar → corregir. El agente no entrega una pantalla “que debería andar”, sino una que fue verificada corriendo en el gateway.


Qué Hace

  • Validación offline: revisa las views contra los esquemas exactos de la versión de Perspective instalada (props, bindings, eventos, expresiones y scripts). Cada diagnóstico trae un código estable, un JSON pointer al lugar del error y una sugerencia de corrección.
  • Despliegue seguro: sube las views a un proyecto sandbox del gateway de desarrollo con escrituras firmadas. Si alguien editó la view desde el Designer, la escritura se rechaza (HTTP 409 con el diff) en lugar de pisar el cambio.
  • Inspección en ejecución: abre la view en un Chromium headless y cruza el DOM con el árbol evaluado por el gateway. Así detecta texto recortado, contenedores colapsados, tags con calidad mala, scripts que fallan y errores del navegador, y los asocia al componente exacto.
  • Verificación de comportamiento: los requisitos de layout e interacción se comprueban en vez de revisarse a ojo, por ejemplo --expect "root/Body below root/Header" o --act "click root/Save", incluso escribiendo tags simulados y verificando el resultado en pantalla.

Arquitectura

  1. Paquete Python: validador, catálogo de componentes, sincronización con el gateway, el motor de inspección (Playwright) y un servidor MCP para conectarlo a cualquier agente. También expone todo como CLI (pdk validate, pdk deploy, pdk inspect…).
  2. Módulo de gateway en Java 17: una API REST mínima para recursos, sesiones, logs y tags, que se compila contra los jars de la instalación de Ignition.
  3. Integración con Claude Code: una skill con snippets de referencia, subagentes especializados y un hook que valida cada view al escribirla.

Seguridad por Diseño

Como le da a un agente acceso de escritura a un gateway, la seguridad fue un requisito desde el inicio:

  • El módulo solo responde conexiones de loopback y exige un token que cambia en cada arranque.
  • Solo escribe en el proyecto sandbox (y en tags bajo [default]PDK/), y únicamente si el gateway arrancó con esa configuración explícita.
  • Está pensado exclusivamente para gateways de desarrollo, nunca de producción.

Validación del Propio PDK

  • Suite de tests con pytest, incluyendo views reales guardadas por el Designer y tests en vivo contra el gateway.
  • Benchmark de siete pedidos de pantallas típicas (dashboard, formulario, panel de equipo, tabla, tendencia, alarmas y navegación). Un subagente construye cada pantalla y otro la evalúa contra criterios de aceptación sin ver el reporte del primero.
  • Mutation testing del validador: rompe views de referencia de formas conocidas y verifica que cada error se detecte con su ubicación y sugerencia.