| AIGC |
|
|---|
本地 AI 生图工作台 —— C++ 后端 + 单文件 HTML 前端,零外部运行时依赖。
面向 8GB 显存的消费级 GPU(RTX 5070 Laptop 8GB 为基准开发环境),核心目标是让最新的 DiT 架构生图模型在显存受限的显卡上跑得又快又稳。
- 多架构支持:Krea2(FLUX 系 DiT)、Z-Image、SDXL、AuraFlow、Phantom 等 diffusion-model-only 与完整 checkpoint
- Krea2 参考图:VLM 视觉塔编码(Qwen3-VL)+ DiT ref latent 双通路,最多 4 张参考图、每图独立强度滑条(0~1,0 = 整体排除,VLM 与 DiT 保持一致)
- 两阶段生成:Text Encoder 每次生成时独立加载 → 编码落盘 → 释放,主上下文只驻留 DiT + VAE,峰值显存 ≈ DiT + VAE
- GGUF 智能量化:检测模型预量化格式,"降档放行、升档拦截"——手动选更小量化可继续压缩显存,选更大量化会被拦截(防止 Q3_K_S 被 override 成 Q6_K 后显存翻倍)
- fp8_scaled safetensors 支持:修复了上游 per-tensor scale 读取问题(详见 CreatorCpp-sd.cpp)
- 自动化模型配对:TE / VAE / 视觉塔(mmproj)按架构自动搜索匹配,也支持手动指定
- 安全审查:NSFW 分级过滤(8+/16+/18+),基于 ONNX Runtime 检测模型
- 聊天会话管理、提示词压缩、草稿模型推测解码(可选)
- 通过 llama-server / llama.dll 集成,详见 CreatorCpp-llm.cpp
- CUDA 全量计算,CPU 仅作权重暂存
- pinned memory host-offload:
cudaMemAdvise(SetPreferredLocation=CPU + SetAccessedBy=GPU)让权重页驻留内存、GPU 经 PCIe 零拷贝读取(见 CreatorCpp-ggml) - auto-fit 显存预算:模型放得下就 100% resident,放不下自动降级 time-share 分片
- VAE tiling、LoRA 热加载、ControlNet、高清修复、缓存加速(Taylorseer / EasyCache / DBCache)
单文件 HTML(src/index.html),无构建步骤、无框架、无外部 CDN 依赖,由 C++ 后端直接伺服(wwwroot/)。多彩渐变 + 流光边框 + 轻量 CSS 动画。
| 仓库 | 说明 |
|---|---|
| CreatorCpp-sd.cpp | 定制版 stable-diffusion.cpp(fp8 scale 修复、Krea2 参考图 v3 API、F8 缓冲修复、显存管理) |
| CreatorCpp-ggml | 定制版 ggml(CUDA_PinnedOffload、cudaMemAdvise 零拷贝优化) |
| CreatorCpp-llm.cpp | llama.cpp 构建源码快照(llama-server / llama.dll) |
# 依赖: Visual Studio 2022 BuildTools (C++ 桌面开发 + MSVC v143)、CMake
cmake -B build -G "Visual Studio 17 2022" -A x64
msbuild build\Creator.vcxproj /p:Configuration=Release /p:Platform=x64运行时需要 stable-diffusion.dll(来自 CreatorCpp-sd.cpp 构建)与 llama.dll(来自 CreatorCpp-llm.cpp 构建)置于程序目录。
启动后自动打开浏览器(默认 http://127.0.0.1:14456/)。将模型放入 model/checkpoint、model/text_encoders、model/vae 目录即可被自动扫描,或自行配置 ComfyUI models 目录复用已有模型。
本项目代码采用 MIT 许可。依赖的上游项目各有其许可证(stable-diffusion.cpp / llama.cpp / ggml 均为 MIT)。