Skip to main content

deploy-windows

Use this skill when installing, deploying, launching, serving, or troubleshooting mesh-llm on a Windows machine — PowerShell install via install.ps1, flavor selection (CUDA/ROCm/Vulkan/CPU), source builds, the contrib helper scripts, and verifying it serves.

소스 정보

저장소
Mesh-LLM/mesh-llm
최근 소스 활동
2026년 10월 9일 03:51
감지된 SKILL.md 언어
영어
스타
3,506
포크
441

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
deploy-windows
description
Use this skill when installing, deploying, launching, serving, or troubleshooting mesh-llm on a Windows machine — PowerShell install via install.ps1, flavor selection (CUDA/ROCm/Vulkan/CPU), source builds, the contrib helper scripts, and verifying it serves.
metadata
{"short-description":"Deploy mesh-llm on a Windows node"}
# deploy-windows Use this when standing up mesh-llm on Windows. Counterpart to `deploy-macos` and `deploy-linux-gpu`. Same single-binary embedded-runtime architecture; the binary is `mesh-llm.exe` and release archives are `.zip` (`mesh-llm-x86_64-pc-windows-msvc[-<flavor>].zip`). Related skills/docs: - `mesh-join` — creating/joining meshes (tokens, NAT, multi-node) - `connect-agents` — pointing Goose/Claude Code/OpenCode/Pi at a running mesh - `mesh/docs/USAGE.md` — install details; `mesh/docs/CLI.md` — full command reference - `mesh/deploy/windows/README.md` — local PowerShell helper scripts ## The one rule that matters most **mesh-llm resolves and downloads the model itself.** Pass `--model <ref>` and it fetches the GGUF on first use. Do NOT pre-download with `hf` CLI tools. (Only `--gguf` takes a local file path you manage yourself.) ## Install (PowerShell) ```powershell irm https://raw.githubusercontent.com/Mesh-LLM/mesh-llm/main/install.ps1 | iex ``` Force a flavor non-interactively: ```powershell $env:MESH_LLM_INSTALL_FLAVOR = "vulkan" irm https://raw.githubusercontent.com/Mesh-LLM/mesh-llm/main/install.ps1 | iex ``` Facts: - Flavors: `cuda-blackwell`, `cuda`, `rocm`, `vulkan`, `cpu`. **No Metal on Windows.** The installer probes `nvidia-smi` (incl. compute capability for Blackwell), ROCm tooling, and `vulkaninfo`, then recommends; when input/output is redirected (scripted/SSH) it takes the recommendation without prompting. - Installs to `%LOCALAPPDATA%\mesh-llm\bin` (override: `-InstallDir` / `MESH_LLM_INSTALL_DIR`) and prepends it to the **user** `Path` unless `-NoPathUpdate`. Open a new shell, or use the full path, after install. - CUDA bundles ship their CUDA DLLs alongside `mesh-llm.exe` — no system CUDA toolkit install is required to run. - Other knobs: `-PreRelease` / `MESH_LLM_INSTALL_PRERELEASE=1`, `MESH_LLM_REQUIRE_CHECKSUM=1` (makes a missing `.sha256` sidecar fatal; default is warn-and-continue). ### `irm | iex` gotchas (learned the hard way — PR #828) - A missing checksum sidecar on older releases **warns and continues**; that is expected, not a failure. - On Windows PowerShell 5.1, network errors during sidecar download can surface as vague response-less `WebException`s rather than clean 404s. The installer handles this; if you're debugging a fork/older script, know that `iex` also breaks `[ValidateSet]` params (param init to `""` fails validation before the script body runs). When `irm | iex` misbehaves, fall back to downloading the script and running it as a file: `irm <url> -OutFile install.ps1; .\install.ps1 -Flavor vulkan`. ## Build from source (dev) From a repo checkout (needs Rust, CMake + MSVC, Node, `just`): ```powershell just build # auto-detects cuda / rocm / vulkan / cpu just build backend=vulkan # override backend ``` Output: `target\release\mesh-llm.exe` (for `just release-build`) or `target\debug\` for `just build`. Windows release archives use the dedicated `release-build-*-windows` / `release-bundle-*-windows` recipes. On native Windows, `just check-release` skips the Bash-only parity checks. ## Launch ```powershell mesh-llm serve --model unsloth/Qwen3.6-27B-GGUF:UD-Q4_K_XL --auto ``` - Same surface as other platforms: `--auto` joins the public mesh; bare `serve --model` creates a private mesh and prints an invite token (see `mesh-join`). API on `:9337`, console on `:3131`. - Pin a specific GPU with `--device` (e.g. `--device Vulkan1`, `--device cuda:0`); list devices with `mesh-llm gpus`. - There is **no service install on Windows** (no launchd/systemd equivalent in `install.ps1`). Run it in a terminal, or wrap it yourself (Task Scheduler / NSSM) — startup models go in `%USERPROFILE%\.mesh-llm\config.toml` and bare `mesh-llm serve` reads them. ### Repo helper scripts (dev checkouts) `contrib\windows\` wraps a local build (falls back to `mesh-llm` on `Path`): ```powershell .\contrib\windows\StartMeshServer.ps1 -Model Qwen2.5-3B-Instruct-Q4_K_M -Device Vulkan1 .\contrib\windows\StartChat.ps1 -Model Qwen2.5-3B-Instruct-Q4_K_M .\contrib\windows\CollectSplitDiagnostics.ps1 -Model <ref> -ConsoleUrls http://127.0.0.1:3131 -ApiUrls http://127.0.0.1:9337/v1 ``` The diagnostics collector attaches to running nodes and zips redacted API payloads, GPU/process facts, and `skippy-native.log` tails — useful when filing split/runtime issues from a Windows box. ## Verify ```powershell mesh-llm --version curl.exe -s http://localhost:9337/v1/models curl.exe -s http://localhost:3131/api/status curl.exe -s http://localhost:9337/v1/chat/completions -H "Content-Type: application/json" -d '{"model":"auto","messages":[{"role":"user","content":"hi"}],"max_tokens":16}' ``` Use `curl.exe` explicitly — bare `curl` in PowerShell aliases to `Invoke-WebRequest` with different argument semantics. Model load takes time; poll `/v1/models` before concluding failure. ## Logs, state, stop - Runtime/instance state: `%USERPROFILE%\.mesh-llm\runtime\<pid>\` — embedded native logs at `logs\skippy-native.log`. - Config: `%USERPROFILE%\.mesh-llm\config.toml`; identity: `.mesh-llm\key`. - Stop: `mesh-llm stop` (preferred). Emergency: use the PID for the specific instance being validated: `Stop-Process -Id <mesh-llm-pid> -Force`. ## Troubleshooting | Symptom | Cause | Fix | |---|---|---| | `irm \| iex` dies before any output | Old script / `[ValidateSet]`-style param bug | Update; or download script to a file and run it | | "could not download checksum sidecar" hard failure | Old installer + release without `.sha256` | Update installer; missing sidecar should warn-and-continue | | `mesh-llm` not found after install | New `Path` not in current shell | Open a new terminal or use `%LOCALAPPDATA%\mesh-llm\bin\mesh-llm.exe` | | CUDA flavor won't start on new GPUs | Blackwell (SM 100/120) is only in the CUDA 13 runtime | Use the `-cuda-13.zip` bundle / `cuda13` runtime, with a driver that supports CUDA 13 | | GPU not used | Wrong flavor or device | `mesh-llm gpus`; reinstall correct flavor; `--device <id>` | | curl JSON errors in PowerShell | `curl` is an IWR alias | Use `curl.exe`, or `Invoke-RestMethod` | | Empty `/v1/models` | Model still downloading/loading | Wait; check `skippy-native.log` |
GitHub에서 보기