Small Windows setup for running local model servers through direct
llama.cpp/LiteRT commands, Unsloth Studio, LM Studio, or ComfyUI.
src/plain-llama: direct local model servers and downloads, backed by Python.src/unsloth: Unsloth Studio setup, model registration, serve, and cleanup.src/lmstudio: LM Studio model-link sync, local server control, and cleanup.src/comfyui: ComfyUI setup, update, serve, and cleanup.src/utils: Windows-specific utilities such as firewall and VRAM monitoring.src/win_models: the Python package used by the just recipes.
The root Justfile is only a module index. List everything from the repo root:
justUnsloth Studio API server + web UI:
just unsloth setup
just unsloth serve-debugDirect llama.cpp server:
just plain serve-google-qat12
just plain bench gemma-4-12b-qatComfyUI:
just comfy setup
just comfy serve
just comfy serve-tailscale
just comfy logsLM Studio:
just lmstudio setup # link HF-cache GGUFs into LM Studio's model layout
just lmstudio serve # start/confirm LM Studio's OpenAI-compatible server
just lmstudio statusDownload the new Gemma 26B variants into the Hugging Face cache layout used by Unsloth Studio:
just plain download-new26-cacheUtilities:
just utils status
just utils monitor
just utils firewall-allow 8080Declarative Unsloth MCP sync:
just unsloth sync-mcpPatch/rebuild Unsloth Studio web integrations, including browser microphone input for native-audio models and ASR-backed voice input for text-only models:
just unsloth patch-webSee UNSLOTH.md for Studio details, COMFYUI.md for ComfyUI details, and BENCHMARKS.md for local benchmark notes.
- llama.cpp server:
http://localhost:8080/v1 - LiteRT-LM server:
http://localhost:9379/v1 - Unsloth Studio server:
http://localhost:8888/v1 - LM Studio server:
http://localhost:1234/v1 - ComfyUI server:
http://localhost:8188
google-qat12: official Google Gemma 4 12B IT QAT Q4_0 GGUF with multimodal projector.ggml-12b-q4km: ggml-org Gemma 4 12B IT Q4_K_M GGUF with Q8_0 projector.google-26b-a4b-q4km: Google Gemma 4 26B-A4B base Q4_K_M GGUF.google-26b-a4b-q8: Google Gemma 4 26B-A4B base Q8_0 GGUF.litert-e4b: LiteRT-LM Gemma 4 E4B IT.litertlm.unsloth-26b-q3km: Unsloth Gemma 4 26B-A4B IT UD-Q3_K_M GGUF.unsloth-26b-q6kxl: Unsloth Gemma 4 26B-A4B IT UD-Q6_K_XL GGUF.unsloth-26b-q8kxl: Unsloth Gemma 4 26B-A4B IT UD-Q8_K_XL GGUF.unsloth-26b-q8: Unsloth Gemma 4 26B-A4B IT Q8_0 GGUF.
Model groups:
new-gemma-26b:unsloth-26b-q6kxl,unsloth-26b-q8kxl,unsloth-26b-q8,google-26b-a4b-q4km, andgoogle-26b-a4b-q8.
Defaults can be overridden with environment variables:
- Repo-local
.env.secretis loaded byjust serve,just stop, and thewin-models unsloth ...wrapper. It is ignored by git and uses simpleNAME=valuelines. WIN_MODELS_MODEL_ROOT, defaultE:\root\projects\modelsUNSLOTH_STUDIO_HOME, defaultE:\root\projects\unslothCOMFYUI_HOME, defaultE:\root\projects\comfyuiCOMFYUI_MODEL_ROOT, defaultWIN_MODELS_MODEL_ROOT\comfyuiCOMFYUI_PYTHON, default3.13COMFYUI_TORCH, defaultnvidia; can benvidia,cpu, orskip.COMFYUI_TORCH_INDEX_URL, defaulthttps://download.pytorch.org/whl/cu130UNSLOTH_DEFAULT_MODEL, defaultunsloth/gemma-4-26B-A4B-it-GGUF:UD-Q8_K_XLUNSLOTH_CONTEXT_LENGTH, default262144; passed asunsloth studio run --max-seq-lengthand llama-server-c.UNSLOTH_CACHE_TYPE_KV, defaultq8_0; passed as llama-server--cache-type-kand--cache-type-v.UNSLOTH_CHAT_TEMPLATE_FILE, defaultsrc\unsloth\chat-templates\gemma-4-31b-it-pr118.jinja; passed as Studiochat_template_override.UNSLOTH_HF_CACHE, defaultWIN_MODELS_MODEL_ROOT; controls where Studio/HF downloads are cached.UNSLOTH_REUSE_CLI_API_KEY, default1; reusesUNSLOTH_STUDIO_HOME\auth\cli-api-key.txtinstead of creating a newcliAPI key on each Studio startup.UNSLOTH_SOURCE_REPO, optional path to a local Unsloth checkout. When set,win-models unsloth serveprepends it toPYTHONPATHand skips the win-models Studio shim patch stack so the fork supplies the changes.UNSLOTH_SOURCE_BUILD_FRONTEND, default0; set to1to build and serveUNSLOTH_SOURCE_REPO\studio\frontend\distbefore starting Studio.WIN_MODELS_LMSTUDIO_ENABLED, default1; rootjust servesyncs LM Studio model links and starts the LM Studio server whenlmsis available.LMSTUDIO_MODEL_ROOT, default%USERPROFILE%\.lmstudio\models; GGUF files from the Hugging Face cache are linked into LM Studio'spublisher\model\file.gguflayout here.LMSTUDIO_HOST, default127.0.0.1LMSTUDIO_PORT, default1234LMSTUDIO_DEFAULT_MODEL, optionallms loadmodel key to preload during rootjust serveorjust lmstudio serve.LMSTUDIO_CONTEXT_LENGTH, defaultUNSLOTH_CONTEXT_LENGTHor131072LMSTUDIO_GPU, defaultmax; passed tolms load --gpuwhen preloading.WIN_MODELS_HF_DOWNLOAD_PYTHON, default3.13; Python runtime used for Hugging Face cache downloads.WIN_MODELS_HF_TOKEN_FILE, defaultlogs\hf-token.tmp; temporary local token file used bydownload-cachewhenHF_TOKENis unset.WIN_MODELS_HF_TOKEN_OP_REF, defaultop://clankers/huggingface-read/password; used bydownload-cachewhenHF_TOKENis unset.MCPPROXY_AGENTS_TOKEN, optional override for the 1Password MCP bearer token.CLOUDFLARE_API_TOKEN, optional override for the Caddy DNS challenge used by rootjust serve; if unset,scripts\start-edge.ps1falls back to 1Password.WIN_MODELS_HOST, default0.0.0.0WIN_MODELS_LLAMA_PORT/UNSLOTH_LLAMA_PORT, default8080; fixed port for the embedded Unsloth llama-server worker and Caddy'sllama.win.ankitson.comroute.WIN_MODELS_LITERT_PORT, default9379WIN_MODELS_STUDIO_PORT, default8888COMFYUI_HOST, default127.0.0.1COMFYUI_PORT, default8188
ComfyUI serve recipes start in the background and write process output to
logs\comfyui.out.log and logs\comfyui.err.log; use just comfy logs to
follow them and just comfy stop to stop the server. Other server recipes run
in the foreground so logs and failures are visible in the terminal.