这个项目能做什么

Shader Agent 是一个本地优先的软件工具包,专为需要可复现、离线能力且用于生成、评审、验证和导出 Shader 的创作者及维护者设计。它结合了 Python CLI、本地 Web UI、支持 FTS5 的 SQLite 参考检索、许可证感知过滤、渲染验证门禁,以及针对 Shadertoy、WebGL、LÖVE 2D 和离线视频制作等平台定制的导出助手。 该工具支持确定性的 GLSL 草稿生成,默认无需外部 API 密钥。可通过环境变量或仅限会话的 UI 输入启用可选的 AI 生成,支持 OpenAI 兼容接口、OpenAI、Anthropic、Gemini 和 Ollama 提供商。用户可以通过环境变量配置 AI 设置(如模型、基础 URL、重试次数、缓存和并发),切勿提交真实密钥。 核心功能包括:从 JSONL 摄取 Shader 元数据/代码;基于渲染反馈的多候选迭代生成;针对语法、mainImage 形状、许可证合规性和冒烟测试的预检;以及与 Shadertoy 和 LÖVE 2D 兼容的导出包。Web UI 提供实时 WebGL 预览、可编辑代码、用于非破坏性迭代的节点图,以及可配置 FPS、分辨率和混流的帧或视频导出控制。 它包含具有项目化输出的 CLI 聊天模式、参考审计以及 /search、/export 和 /repair-ai 等命令。架构采用模块化设计:cli.py 作为命令行入口,webapp.py 作为本地服务器,agent.py 负责编排,store.py 负责存储/搜索,llm.py 负责提供商路由,quality.py 负责验证门禁,targets/ 包含平台特定适配器。 该项目已被用于制作在 Bilibili 和 YouTube 上发布的 22 集基于 Shader 的 VFX 视频,证明了其在孤立实验之外的长期实际用途。测试涵盖了单元测试、验收脚本和浏览器 UI 验证。ufbx 等第三方组件在 MIT 许可证下捆绑提供。 安全指南强调,API 密钥、私有提示词、生成的媒体和数据库不得出现在公开的 Issue 或 PR 中。路线图包括发布公开仓库、添加 CI 徽章、托管截图/GIF、改进渲染验证,以及将重量级测试与快速 PR 检查分离。本项目基于 MIT 许可证发布。