OpenGenerativeUI - Framework open source d’UI générative basée sur l’IA
(github.com/CopilotKit)- Reproduit tel quel la fonctionnalité de génération de contenus visuels interactifs lancée par Claude
- Une Generative UI qui génère automatiquement des éléments comme des graphiques, des diagrammes et des visualisations, au lieu de simples réponses textuelles
- Visualisation d’algorithmes : recherche binaire, BFS/DFS, tri, etc.
- Animations 3D : scènes interactives basées sur WebGL/CSS3D
- Graphiques et diagrammes : diagrammes circulaires, histogrammes, diagrammes de réseau, etc.
- Widgets et simulations : formulaires, graphes mathématiques, outils interactifs, etc.
- Tous les éléments visuels sont rendus dans une iframe sandboxée, garantissant sécurité et isolation
- Prise en charge des thèmes clair/sombre automatiques, des animations progressives et du redimensionnement responsive
- Génère en temps réel des contenus visuels conversationnels sur la base de CopilotKit et LangGraph
- Organisé en monorepo basé sur Turborepo
apps/app: frontend basé sur Next.js 16, React 19 et Tailwind 4apps/agent: agent Python utilisant LangGraph et le middleware CopilotKit
- Mode de fonctionnement
- L’utilisateur saisit un prompt via l’interface de chat CopilotKit
- L’agent détermine la forme de réponse la plus adaptée : texte, appel d’outil ou composant visuel
- Le hook
widgetRendererdu frontend reçoit le HTML et l’affiche dans une iframe - Après un chargement skeleton, un fondu d’apparition fluide est appliqué avec ajustement automatique de la hauteur
- Fournit une matrice de décision de visualisation
- Selon le type de requête, sélection automatique de la technologie la plus adaptée parmi SVG, HTML, Chart.js, Three.js, D3.js, etc.
- Exemple : pour expliquer un processus, utilisation d’un flowchart ; pour comparer des données, d’un bar chart ; pour une représentation 3D, de Three.js
- Licence MIT
3 commentaires
Donc, cela fonctionne en rendant le HTML généré à l’intérieur d’un iframe.
Claude a à peine lancé cette fonctionnalité qu’elle a déjà été implémentée en open source.
C’est assez amusant de voir Claude parmi les contributeurs haha. Claude aide à reproduire telle quelle la fonctionnalité qu’il a lui-même lancée..
Il paraît que si on fait un commit avec Claude Code, on est automatiquement ajouté aux contributeurs par défaut.