Open Generative AI 桌面应用如何首次跑通 sd.cpp 本地推理:从安装引擎到第一次生图?
2026/9/13 19:08:48 网站建设 项目流程

Open Generative AI 桌面应用如何首次跑通 sd.cpp 本地推理:从安装引擎到第一次生图?

【免费下载链接】Open-Generative-AIUnrestricted Open-source alternative to AI video platforms — Free AI image & video generation studio with 600+ models (Flux, Midjourney, Kling, Sora, Veo). No content filters. Self-hosted, MIT licensed.项目地址: https://gitcode.com/GitHub_Trending/ch/Open-Generative-AI

Open Generative AI 的桌面应用内置了一个 sd.cpp 本地推理引擎(来自 stable-diffusion.cpp 的 C++ 引擎),可以不依赖云端 API、不配置任何 API key,在本机直接跑 SD 1.5 / SDXL / Z-Image 文生图。本文按 README.md 中 "Local Model Inference" 一节的说明,给出从安装桌面应用、安装引擎、下载模型到在 Image Studio 完成第一次本地生图的完整路径,以及一条绕过 UI 直接用sd-cli验证引擎是否装对的命令链。

适用前提(均来自 README):

  • macOS 仅支持 Apple Silicon(M1/M2/M3/M4),走 Metal GPU 加速;Intel Mac 不在上游 stable-diffusion.cpp 的支持范围内,应用会直接报Local inference on macOS only supports Apple Silicon
  • Linux/Windows 支持 CUDA/Vulkan/ROCm;所有平台都支持 CPU 回退。
  • 内存不足会卡死:README 明确说明 Z-Image 在基础 8 GB M 系列 Mac 上已知会 hang 住整个系统,8 GB 机器请改用 SD 1.5 模型;Z-Image 建议 16 GB 内存(约 7.4 GB 权重 + 2.4 GB 计算缓冲)。
  • 本地推理只在桌面应用可用,托管的 Web 版本始终走云端 API。

第一步:安装桌面应用

在 README.md 的 "Download Desktop App" 表格中下载对应平台的 1.0.9 预构建安装包(macOS arm64 / Intel DMG、Windows x64 exe、Ubuntu AppImage/.deb),无需 Node.js 或终端即可完成安装。各平台首次启动的坑:

macOS:应用未经 Apple 公证,Gatekeeper 会拦截。挂载 DMG 把应用拖进/Applications后,在 Terminal 执行:

xattr -cr "/Applications/Open Generative AI.app"

然后右键应用 →Open→ 对话框中再次点击Open。只需做一次。不走终端的替代路径是:尝试打开被拦截后,到System Settings → Privacy & Security,找到 "Open Generative AI was blocked",点Open AnywayOpen

Windows:SmartScreen 因安装包未代码签名可能告警,点More infoRun anyway即可,应用会静默安装到%LocalAppData%并创建开始菜单快捷方式。

Ubuntu / Linux:优先安装.deb(安装时自带 AppArmor profile);AppImage 直接加执行权限运行。Ubuntu 24.04+ 因apparmor_restrict_unprivileged_userns内核策略可能让应用静默启动失败或立即崩溃——.deb用户无感;AppImage 用户需要临时执行sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0(重启失效),或按 README 写入/etc/sysctl.d/99-userns.conf持久化。旧系统上 AppImage 起不来时安装libfuse2

第二步:安装 sd.cpp 引擎与下载模型

应用首次启动时会提示输入 Muapi API key——如果只用本地模型,直接跳过即可。

进入Settings → Local Models,按 README.md 的 "Engine 1 — sd.cpp" 说明操作:

  1. 点击安装sd.cpp inference engine(一键,自动下载并解压到应用数据目录,不向系统安装任何东西);
  2. 下载选定的模型权重。README 给出的模型清单:
模型类型大小备注(README 原文)
Z-Image TurboDiffusion Transformer2.5 GB + 2.7 GB 辅助文件8-step turbo,吃内存
Z-Image BaseDiffusion Transformer3.5 GB + 2.7 GB 辅助文件50-step 高质量,吃内存
Dreamshaper 8SD 1.52.1 GB20-step 通用;Mac 上实测最轻
Realistic Vision v5.1SD 1.52.1 GB25-step 写实
Anything v5SD 1.52.1 GB20-step 动漫/插画
SDXL Base 1.0SDXL6.9 GB30-step 高分辨率

选型的判断依据只有 README 中这两条:8 GB 内存的 Mac 上 Z-Image 已知会挂死系统,应选 SD 1.5;16 GB 内存才推荐 Z-Image。若选 Z-Image,还需下载两个共享辅助文件(一次下载、两个 Z-Image 模型共用):Qwen3-4B Text Encoder(2.4 GB)和FLUX VAE(335 MB)——缺任一个,生成会报错 "Text encoder (Qwen3-4B) not downloaded" 或 "VAE (ae.safetensors) not downloaded"(错误文案见 electron/lib/localInference.js)。

所有下载都发生在应用内部。引擎、模型权重和临时文件默认存放在 Electron 应用数据目录下的local-ai/中,常见路径:

  • macOS:~/Library/Application Support/open-generative-ai/local-ai
  • Windows:%APPDATA%\open-generative-ai\local-ai
  • Linux:~/.config/open-generative-ai/local-ai

目录内会自动创建bin/models/tmp/三个子目录(见 electron/lib/localInferencePaths.js)。要把多 GB 的权重放到其他盘,在启动桌面应用之前设置环境变量OPEN_GENERATIVE_AI_LOCAL_AI_DIR指向目标目录,Settings → Local Models会显示解析后的模型文件夹。

第三步:在 Image Studio 完成第一次本地生图

  1. 打开Image Studio,在模型选择器旁边点击⚡ Local开关;
  2. 选择刚下载的本地模型;
  3. 输入提示词,直接生成——本地路径不需要 API key。

生成过程中界面会显示启动加载("Loading local model (Xs)...")和逐步进度;模型默认步数、采样器由内置模型目录决定,例如 Dreamshaper 8 为 20 步、euler_a、512×512,Z-Image Turbo 为 8 步、euler(见 electron/lib/modelCatalog.js)。

用 sd-cli 做最快的安装验证(可选)

README 提供了一条绕过 UI、直接驱动sd-cli的完整性测试路径——sd-cli就是应用内部使用的同一个二进制。以下代码块来自 README "Verifying the SD 1.5 path" 一节,默认按 macOS 路径书写APP_DATA一行兼容了OPEN_GENERATIVE_AI_LOCAL_AI_DIR覆盖,未设置环境变量时回退到 macOS 默认目录,其他平台读者把回退路径替换成对应平台的默认目录即可:

# 1. App data layout (created on first app launch) APP_DATA="${OPEN_GENERATIVE_AI_LOCAL_AI_DIR:-$HOME/Library/Application Support/open-generative-ai/local-ai}" ls "$APP_DATA/bin" # sd-cli, libstable-diffusion.dylib ls "$APP_DATA/models" # whatever you've downloaded # 2. Grab a small SD 1.5 model directly (Dreamshaper 8, ~2 GB) curl -L --fail --progress-bar \ -o "$APP_DATA/models/DreamShaper_8_pruned.safetensors" \ "https://huggingface.co/Lykon/DreamShaper/resolve/main/DreamShaper_8_pruned.safetensors" # 3. Run a single 512x512 / 12-step inference DYLD_LIBRARY_PATH="$APP_DATA/bin" "$APP_DATA/bin/sd-cli" \ -m "$APP_DATA/models/DreamShaper_8_pruned.safetensors" \ -p "a serene mountain lake at sunrise, oil painting" \ -o /tmp/sd15-test.png \ --steps 12 -H 512 -W 512 --cfg-scale 7.5 --seed 42 \ --sampling-method euler_a

README 给出的判断标准(文档示例,非固定数值要求):在 Apple Silicon 上,健康的 Metal 加速运行会打印total params memory size = 1969.78MB (VRAM 1969.78MB, RAM 0.00MB)并产出一张连贯的 512×512 PNG。如果VRAM显示为0.00MB,说明 dylib 落在 CPU-only——用otool -L "$APP_DATA/bin/libstable-diffusion.dylib" | grep -i metal检查是否链接了 Metal,缺失的话回Settings → Local Models重新安装引擎。

排查与边界

  • 日志:本地引擎的输出和下载错误都写到应用进程控制台。需要排障时从 Terminal(macOS)或 PowerShell(Windows)启动应用,才能看到[sd-cli]的完整命令和输出。
  • 生成进程被杀sd-cli非零退出且无错误码时,通常是 Z-Image/SDXL 场景下 OOM(内存不足)——应用给出的提示是换更小的 SD 1.5 模型或关掉其他应用。
  • Mac 上速度异常:SD 1.5 在 M2 上启用 Metal dylib 时预期约 1–2 s/step;如果看到约 10 s/step,可能是二进制回退到了 CPU,按上面的otool检查并重装引擎。
  • 下载源:应用下载引擎二进制时,macOS arm64 使用项目自建 release 中的 Metal 版二进制,其他平台回退到上游 stable-diffusion.cpp 最近的 release 并自动挑选匹配平台的 zip(逻辑见 electron/lib/localInference.js);模型权重均从 Hugging Face 公开仓库下载,无需鉴权。

完成第一次生图后,同一Settings → Local Models入口还配置着第二个本地引擎 Wan2GP(自托管 Gradio 服务器,面向视频与 Flux/Qwen-Image 等大模型)——这是独立于 sd.cpp 的另一条路径,本文不展开。

【免费下载链接】Open-Generative-AIUnrestricted Open-source alternative to AI video platforms — Free AI image & video generation studio with 600+ models (Flux, Midjourney, Kling, Sora, Veo). No content filters. Self-hosted, MIT licensed.项目地址: https://gitcode.com/GitHub_Trending/ch/Open-Generative-AI

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询