Sobre o projeto

O Shader Agent é um toolkit de software local-first projetado para criadores e mantenedores que necessitam de fluxos de trabalho reprodutíveis e capazes de operar offline para gerar, revisar, validar e exportar shaders. Ele combina uma CLI em Python, uma Web UI local, recuperação de referências via SQLite com suporte a FTS5, filtragem consciente de licenças, portões de validação de renderização e auxiliares de exportação adaptados para plataformas como Shadertoy, WebGL, LÖVE 2D e produção de vídeo offline. A ferramenta suporta a geração determinística de rascunhos GLSL sem exigir chaves de API externas por padrão. A geração opcional por IA pode ser habilitada via variáveis de ambiente ou entrada de UI apenas por sessão, suportando provedores compatíveis com OpenAI, OpenAI, Anthropic, Gemini e Ollama. Os usuários podem configurar definições de IA, como modelo, URL base, tentativas, cache e concorrência através de variáveis de ambiente — nunca commit chaves reais. Os principais recursos incluem a ingestão de metadados/código de shader a partir de JSONL, geração iterativa de múltiplos candidatos com feedback de renderização, verificações de preflight para sintaxe, formato de mainImage, conformidade de licença e smoke testing, além de pacotes de exportação compatíveis com Shadertoy e LÖVE 2D. A Web UI fornece previews WebGL ao vivo, código editável, grafos de nós para iteração não destrutiva e controles para exportar frames ou vídeos com FPS, resolução e muxing configuráveis. Inclui um modo de chat via CLI com saídas organizadas por projeto, auditorias de referência e comandos como /search, /export e /repair-ai. A arquitetura é modular: cli.py para entrada de linha de comando, webapp.py para o servidor local, agent.py para orquestração, store.py para armazenamento/busca, llm.py para roteamento de provedores, quality.py para portões de validação e targets/ para adaptadores específicos de plataforma. O projeto foi utilizado para produzir 22 episódios de vídeos de VFX baseados em shaders publicados no Bilibili e YouTube, demonstrando uso prático de longo prazo além de experimentos isolados. Os testes incluem testes unitários, scripts de aceitação e validações de UI no navegador. Componentes de terceiros, como ufbx, estão incluídos sob a licença MIT. As orientações de segurança enfatizam a manutenção de chaves de API, prompts privados, mídias geradas e bancos de dados fora de issues públicas ou PRs. O roadmap inclui a publicação de um repositório público, adição de badges de CI, hospedagem de screenshots/GIFs, melhoria na validação de renderização e separação de testes pesados de verificações rápidas de PR. Lançado sob a Licença MIT.