Sobre el proyecto

Design Oracle es una herramienta con licencia MIT para analizar un sitio web y extraer su sistema de diseño completo. Combina un frontend de Next.js, un backend de FastAPI, un trabajador de ARQ, Redis, SQLite y un pipeline de análisis de Playwright/Chromium. Sus capacidades principales incluyen la captura de página completa con Playwright, clasificación de ADN de diseño con puntuación visual y heurística, detección de componentes para elementos como hero, pricing, nav y FAQ con cuadros delimitadores, progreso en vivo vía SSE más pub/sub de Redis, y exportaciones como configuración de Tailwind v4, componentes React JSX, tokens de diseño JSON y un reporte Markdown DESIGN.md. También expone herramientas de análisis a través de MCP para flujos de trabajo de IA. Para la configuración, se recomienda Docker Compose: el repositorio describe copiar .env.example a .env y ejecutar docker compose up --build -d, abriendo luego http://localhost:3000. Una opción de inicio local mediante start.sh requiere Python 3.12+, Node.js 20+ y Redis 7+, e inicia el entorno virtual, Playwright Chromium, Redis, el trabajador de ARQ, Next.js en el puerto 3000 y FastAPI en el puerto 5000. La API incluye endpoints de salud, análisis, estado, resultado, eventos SSE, captura de pantalla, eliminación, lista de diseños y exportación para Tailwind, componentes, design.md y tokens. Cada análisis se escribe en analyses/{id}/ con screenshot.png, screenshot-overlay.png, result.json, DESIGN.md, tailwind.config.js, components.jsx y design-tokens.json. El servidor MCP está disponible a través de HTTP SSE en http://localhost:5000/mcp o de forma independiente en modo stdio. Una CLI ligera de uvx, design-oracle-mcp, llama al backend vía HTTP sin requerir Playwright/Chromium. Los fragmentos de herramientas están documentados para opencode, Cursor y Claude Code. Un script de Cloudflare Tunnel, start-public.sh, puede exponer la aplicación mediante una URL HTTPS pública temporal. Limitaciones conocidas: el análisis utiliza actualmente un único viewport de 1440x900; los sitios protegidos contra bots pueden bloquear Playwright, con un STEALTH_MODE opcional para protecciones básicas e intermedias, aunque las protecciones empresariales pueden requerir CAPTCHA o proxies de pago; la detección de componentes es heurística en lugar de basarse en ML/visión; y el almacenamiento en SQLite es adecuado para uso local o de un solo usuario, no para despliegues multi-tenant.