Nova Studio is a Windows desktop workbench for running local LLMs through WSL2.
It is built for the workflow of:
add a model -> create/start an instance -> expose a local API gateway -> connect Trae or other OpenAI-compatible clients -> inspect logs and runtime behavior
This project is not just a thin GUI over one backend. It combines:
- a native desktop shell
- multi-engine instance management
- a local OpenAI / Anthropic compatible gateway
- WSL process orchestration that survives Node.js restarts
- observability and debugging tools for day-to-day local model usage
Windows portable (no install): nova-studio-v0.2.0-windows-portable.zip (~32 MB — unzip and run)
v0.2.0 — Nova Studio rebrand + port & cold-start hardening
First public release: v0.1.0-alpha
What is already working well:
- managing local
vLLM,SGLang, andllama.cppinstances - connecting Trae through the local gateway
- using the local model for real coding sessions
- checking logs, health, model lists, and basic runtime metrics
What is still evolving:
- installation smoothness across different Windows / WSL / driver setups
- public release polish
- some advanced features such as system proxy hijacking, embedded finetune tooling, assistant tools, and MCP management
Most local LLM tools stop at "the model is running".
This project tries to solve the next layer of problems:
- keeping multiple model instances manageable from one desktop UI
- making local models easy to plug into coding tools
- reducing friction when switching between engines
- giving you one place to inspect logs, routing, and request behavior
- handling long IDE-style contexts more deliberately than a bare command line setup
- Add a model preset or restore a discovered local model.
- Create an instance card or launch a new instance directly.
- Use the built-in gateway as the stable external endpoint.
- Generate Trae connection settings from a running instance.
- Watch logs, health, models, and runtime status from the desktop app.
The preset templates shown on first launch are starter configurations, not bundled or already-running models.
In a fresh setup, users should see the same preset template list after the app initializes successfully. Actual inference still depends on their own WSL environment, engine installation, model files, and GPU setup.
The main workspace combines service cards, instance state, and deployment controls in one desktop view.
Logs are available as a first-class workflow instead of an afterthought, which makes it easier to inspect startup issues and runtime behavior.
The app also exposes a dedicated runtime view for quick health and throughput inspection.
New models can be added and turned into reusable presets or instance cards from the same workflow.
Settings bring together integration-related options, including the workflow used to connect external coding tools.
A compact floating view keeps quick status and controls visible while you work in other apps.
- multi-engine management for
vLLM,SGLang, andllama.cpp - instance cards for start / stop / restart / inspect flows
- local API gateway with OpenAI-compatible and Anthropic-compatible entry points
- Trae integration helper with copyable connection fields
- request logs, health checks, model listing, and runtime metrics
- disk model discovery and preset import / export
- system proxy hijacking for redirecting editor traffic to the local gateway
- embedded Unsloth Studio workflow
- built-in assistant panel with tool use
- local skills and MCP server management
- request recording and deeper analytics
nova-studio.exe (Go / Wails)
├── React frontend in a native window
├── Node.js API service on 127.0.0.1:3001
├── Go WSL manager on 127.0.0.1:3002
└── model engines running inside WSL2
├── vLLM
├── SGLang
└── llama.cpp
The Go side manages WSL-backed processes directly so model instances do not depend on the Node.js API process staying alive.
vllm_5090D/
├── vllm-launcher/ # Go/Wails desktop shell + frontend
├── launcher/ # Node.js API, gateway, orchestration, routes
├── finetune/ # finetune helpers and data factory scripts
├── BUG_ANALYSIS.md
└── SECURITY_AUDIT.md
- Windows 10/11
- WSL2
- NVIDIA GPU for practical local inference
- Node.js 20+
- Go 1.25+
- Wails CLI for source builds
Engine-specific runtime dependencies are not bundled. You are expected to prepare your chosen WSL environment for vLLM, SGLang, or llama.cpp.
For first-time Windows users, especially on machines that do not already have WSL2 installed, follow the step-by-step guide here:
If you want a fast machine check before opening the app:
powershell -ExecutionPolicy Bypass -File .\scripts\windows-preflight.ps1If your machine is already ready and you now need the WSL-side engine setup:
If you only want to distribute a prebuilt package so users can quickly verify that the app opens correctly on their machine, see the portable release notes:
Install dependencies:
cd launcher
npm install
cd ../vllm-launcher/frontend
npm installRun in development:
# Terminal A
cd launcher
npm run server:dev
# Terminal B
cd vllm-launcher/frontend
npm run dev
# Terminal C
cd vllm-launcher
wails devcd vllm-launcher
.\build-release.ps1This assembles a local release folder containing:
nova-studio.exeserver.cjslauncher-data/
The project currently targets a Windows desktop release flow, not a cross-platform package.
To produce a shareable portable .zip for GitHub Releases:
powershell -ExecutionPolicy Bypass -File .\scripts\package-portable-release.ps1That script builds a versioned folder and a matching zip such as:
release-artifacts/nova-studio-vX.Y.Z-windows-portable/release-artifacts/nova-studio-vX.Y.Z-windows-portable.zip
For the intended user-facing behavior and limits of that package, see Portable Release Quick Start.
- runtime data lives under
launcher-data/ - local logs, recordings, proxy certificates, and keys should never be committed
- review SECURITY_AUDIT.md before public redistribution
If you plan to publish binaries, double-check:
- API key handling
- request recording defaults
- proxy / CA certificate behavior
- WSL command execution paths
- Windows + WSL2 is the primary target environment
- the project is still being cleaned up for first public release
- some tooling under
finetune/is experimental and less polished than the main app
This is the first public release of the project. Issues and real-world setup feedback are especially helpful right now.





