Motor de Artefactos HTML Autónomos¶
Bruce puede crear, guardar y alojar Artefactos HTML interactivos directamente en tu servidor.
1. ¿Por Qué Usar Artefactos?¶
Las aplicaciones de mensajería como WhatsApp, Discord y Telegram están limitadas al texto simple y markdown básico: - Sin botones interactivos, formularios ni calculadoras dinámicas. - Sin gráficos interactivos, visualizaciones de datos ni tablas ordenables. - Tablas, facturas o currículos se ven comprimidos en pantallas de móviles.
Con el Motor de Artefactos, Bruce genera documentos web completos e interactivos y te envía inmediatamente un enlace privado para abrirlos en tu navegador.
2. Ciclo de Vida de Generación y Alojamiento¶
sequenceDiagram
actor User as Usuario
participant Connector as Conector de Mensajería
participant LLM as Claude / Gemini
participant Tool as Herramienta artifact_save
participant Disk as Disco Local (./data/artifacts)
participant Web as Servidor HTTP (:8080)
User->>Connector: "Crea una calculadora de presupuesto personal interactiva en HTML"
Connector->>LLM: Prompt procesado por el Bucle del Agente
LLM->>Tool: artifact_save(filename="budget.html", title="Presupuesto Personal", content="...")
Tool->>Disk: Escribe ./data/artifacts/<uuid>/budget.html
Tool-->>LLM: Éxito: /artifacts/<uuid>/budget.html
LLM-->>Connector: "¡He creado tu calculadora! [Abrir Enlace](/artifacts/<uuid>/budget.html)"
Connector-->>User: Entrega mensaje con URL directa
User->>Web: Abre http://localhost:8080/artifacts/<uuid>/budget.html
Web-->>User: Muestra la página web interactiva
3. Almacenamiento y Servidor de Archivos Estáticos¶
- Ruta en el Sistema de Archivos: Los artefactos se guardan en
./data/artifacts/<uuid>/<filename>(o./bruce_data/artifactsen Docker). - Endpoint HTTP: Servidos directamente por el servidor Go en
/artifacts/{id}/{filename}. - API REST:
GET /api/v1/artifacts— Lista todos los artefactos con metadatos (ID, título, nombre de archivo, tamaño, fecha).GET /api/v1/artifacts/{id}— Obtiene metadados de un artefacto específico.DELETE /api/v1/artifacts/{id}— Elimina el artefacto y limpia los archivos de disco.
4. Galería en el Panel Web¶
El Panel Web (http://localhost:8080) cuenta con una pestaña dedicada a Artefactos:
- Vista de Galería: Tarjetas con todos los artefactos generados, títulos, fechas y tamaños.
- Vista Previa Interactiva: Prueba cualquier artefacto directamente en un iframe integrado.
- Modos de Vista Adaptable: Comprueba el comportamiento en Escritorio, Tableta y Móvil.
- Acciones Rápidas: Abrir en nueva pestaña, copiar enlace o descargar el archivo HTML.
5. Seguridad y Aislamiento (Sandboxing)¶
- Protección contra Path Traversal: Las rutas se validan y limpian estrictamente con
filepath.Cleanrespecto al directorio raíz de artefactos. - Aislamiento en Iframe: En el panel web, los artefactos se muestran en un
iframeconsandbox="allow-scripts allow-forms allow-same-origin". - Validación de MIME Type: Content-Type configurado estrictamente como
text/html; charset=utf-8con encabezados de seguridad estándar.
6. Cómo Solicitar Artefactos a Bruce¶
Puedes pedirle a Bruce que construya artefactos utilizando lenguaje cotidiano:
- Dashboards: "Resume estas ventas trimestrales en un panel HTML interactivo con gráficos de barra usando Chart.js."
- Currículos y Portafolios: "Convierte mi experiencia de LinkedIn en un currículo web moderno y minimalista con botón de modo oscuro."
- Calculadoras y Simuladores: "Construye una calculadora de hipotecas en HTML con barras deslizantes para monto, tasa y plazo."
- Informes Visuales: "Busca las últimas novedades sobre SpaceX y genera un informe visual en HTML con tarjetas e imágenes."