The desktop app already has a bundled sd.cpp engine for local generation. This
adds a second, complementary engine: an HTTP client that talks to a user-run
Wan2GP Gradio server (https://github.com/deepbeepmeep/Wan2GP). Useful when
sd.cpp can't run a target model — Wan2GP brings video models (Wan 2.2,
Hunyuan, LTX) and large image models (Flux, Qwen-Image) without bundling
Python or weights into the app.
Architecture
- Each model in the unified catalog now carries a `provider` field
(`'sdcpp' | 'wan2gp'`). The renderer's `localAI.generate()` routes to the
right backend based on that flag.
- sd.cpp keeps its existing IPC channels (`local-ai:*`) untouched. Wan2GP
gets its own channel namespace (`wan2gp:*`) and lives in its own
`electron/lib/wan2gpProvider.js`.
- Wan2GP server URL is persisted in `userData/local-ai/wan2gp.json`.
`Settings → Local Models` exposes a config bar to test/save the URL.
- Generation streams Gradio v4 SSE protocol; both engines emit progress on
the shared `local-ai:progress` channel.
ImageStudio
- Local-model dropdown now filters out video models (`type === 'video'`)
since the studio is image-only. SD 1.5 / SDXL / Z-Image (sd.cpp) and Flux /
Qwen-Image (Wan2GP) still surface; Wan/Hunyuan/LTX are hidden until the
Video Studio is wired up to the same surface.
- Progress event handler updated to tolerate both engines' shapes.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Add electron:build:linux script and AppImage + .deb targets in package.json
- Fix Electron main.js: ESM → CommonJS, remove macOS-only titleBarStyle on Linux
- Fix createInlineInstructions undefined error in ImageStudio.js
- Fix Cinema Studio asset paths (absolute → relative) for Electron file:// protocol
- Add AppArmor profile for Ubuntu 24.04+ user namespace sandbox fix
- Add Ubuntu install docs and sandbox workaround to README
Update all references across source files, config, and docs — including
page titles, app name, package name, Electron window title, and release
asset URLs.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add electron/main.js as the Electron main process
- Configure electron-builder for macOS (x64 + arm64 DMG) and Windows (x64 + arm64 NSIS installer)
- Add build scripts: electron:build (mac), electron:build:win (windows)
- Set vite base to './' for file:// protocol compatibility in Electron