À propos du projet
Shader Agent est une boîte à outils logicielle locale conçue pour les créateurs et les mainteneurs ayant besoin de flux de travail reproductibles et capables de fonctionner hors ligne pour générer, réviser, valider et exporter des shaders. Il combine une CLI Python, une interface Web locale, la récupération de références via SQLite avec support FTS5, un filtrage respectueux des licences, des portes de validation de rendu et des aides à l'exportation adaptées à des plateformes telles que Shadertoy, WebGL, LÖVE 2D et la production vidéo hors ligne.
L'outil supporte la génération déterministe de brouillons GLSL sans nécessiter de clés API externes par défaut. La génération par IA optionnelle peut être activée via des variables d'environnement ou une saisie UI limitée à la session, supportant les fournisseurs compatibles OpenAI, OpenAI, Anthropic, Gemini et Ollama. Les utilisateurs peuvent configurer les paramètres de l'IA tels que le modèle, l'URL de base, les tentatives, le cache et la concurrence via des variables d'environnement — ne jamais commiter de clés réelles.
Les fonctionnalités clés incluent l'ingestion de métadonnées/code de shader depuis JSONL, la génération itérative multi-candidats avec retour de rendu, des vérifications préliminaires pour la syntaxe, la forme de mainImage, la conformité des licences et des tests de fumée, ainsi que des packages d'exportation compatibles avec Shadertoy et LÖVE 2D. L'interface Web fournit des aperçus WebGL en direct, du code éditable, des graphes de nœuds pour l'itération non destructive et des commandes pour exporter des images ou des vidéos avec FPS, résolution et muxage configurables.
Il comprend un mode chat CLI avec des sorties projetisées, des audits de référence et des commandes telles que /search, /export et /repair-ai. L'architecture est modulaire : cli.py pour l'entrée en ligne de commande, webapp.py pour le serveur local, agent.py pour l'orchestration, store.py pour le stockage/recherche, llm.py pour le routage des fournisseurs, quality.py pour les portes de validation et targets/ pour les adaptateurs spécifiques aux plateformes.
Le projet a été utilisé pour produire 22 épisodes de vidéos VFX basées sur des shaders publiées sur Bilibili et YouTube, démontrant une utilisation pratique à long terme au-delà d'expériences isolées. Les tests incluent des tests unitaires, des scripts d'acceptation et des validations d'interface navigateur. Les composants tiers comme ufbx sont regroupés sous licence MIT.
Les conseils de sécurité insistent sur le fait de garder les clés API, les prompts privés, les médias générés et les bases de données hors des tickets publics ou des PR. La feuille de route prévoit la publication d'un dépôt public, l'ajout de badges CI, l'hébergement de captures d'écran/GIFs, l'amélioration de la validation du rendu et la séparation des tests lourds des vérifications rapides de PR. Publié sous licence MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.