Pull requests / #946
#946 launcher: pick a model and its settings in one window (experimental)
closed · @pipeob0 · 0 comentarios · En GitHub
Setup & installServer & APIAMD / HIPNVIDIA / CUDAModels & quantsDocumentationWindowsLinux
Descripción
### Continued in #1092 This PR closed by itself when `main` was force-pushed during the history cleanup (its branch was built on the old history), and that branch is now deleted. The same 3 commits, cherry-picked onto the new `main` with no conflicts, are in **#1092**. The setup half is in `main` from #945. ### Experimental - please read first The launcher is **experimental**: it is a new surface over `setup.py` and `serve/server.py`, it has been run on **one** PC (Windows 11, RTX 5060 Ti 16 GB, Ryzen 7 5700X3D, 64 GB, engine 0.1.39; the branch is rebased onto 0.1.40's `main` and the suites below were run there), and it will have bugs. What has *not* been exercised: Linux (`./launcher.sh` is written and marked executable but never run on a Linux box), AMD/ROCm, several GPUs on one model, WSL, and a preset saved by an older version of the page (the presets file has no schema version yet). Nothing it does goes outside this PC, and nothing it does is impossible for `SETUP.bat` / `run-<model>.bat` to do; the only files it writes of its own are in `.strata-launcher/`. Treat it as a preview, not as a replacement for the scripts. **Also AI-developed**: written by an agent (pi) running on Strata's own local model (`qwen3.8-flash-next-iq3_s`), reviewed and tested by hand on the PC above - see the `AI-developed:` trailer on each commit. ### What it is `LAUNCHER.bat` (Linux: `./launcher.sh`) serves a page on `127.0.0.1` for the case `START-HERE.bat` is not meant for: "the Coder today with 32K, leaving 2 GB of VRAM for the game", without remembering flags. It shows the sizes setup offers and what each needs on this PC, the models this folder has and what their own `strata-<model>.json` says they run with, presets you save and reuse, and setup's `--calibrate` as a job you can watch and stop.  (The same file is in the PR at `docs/media/launcher.png`; `docs/LAUNCHER.md` shows it too.) **A front-end, not a second engine**: every answer comes from `tools/strata_mcp.py`, the controller the MCP server already uses; installing, applying and starting run `setup.py` and `serve/server.py` the way `SETUP.bat` and `run-<model>.bat` do. No second config format, no second install path, no dependency beyond the standard library, and `setup.py` / `START-HERE.bat` do not change: if you never open the launcher, nothing about your install changes. A preset is setup's own choices with a name: each field names the `setup.py` flag it writes, and a field left empty is not passed so this PC's default decides - that is what makes a preset portable to another machine. Starting a preset applies it first when the model's config differs, and that difference is compared with **what setup's rules decide, not with the words**: a preset saying `auto`, or saying what `auto` decides on this PC, is the model as it runs and never re-runs setup to change nothing. Those rules are the ones #945 put in `setup.py`, now in `main`. ### Relation to the open work - **#945 is merged for 0.1.40**, so this branch is rebased onto `main` and carries only the launcher: 3 commits, 30 files, +3443/-14. The setup half is yours, with your `kv_streaming_wanted` (the k8v4 change included) - the launcher calls it, it does not copy it. - **0.1.40 (#711) lets `--kv k8v4` stream its KV.** The page's label for k8v4 said it does not, which was true of 0.1.39 and is not true now; the label follows setup, and a test reads setup's rule for each KV precision and fails if a label claims a streaming setup does not write. - **#564** asked for a GUI for settings; it was closed with the Model settings card in the web app (0.1.39). The launcher overlaps that card on one setting only (`--vram-reserve-mib`): the web app exists once a model is running, the launcher is for choosing and installing before anything runs. - Different from **#434** (which re-implemented config editing and a manager) and from **#686** (a terminal launcher): this one reuses the MCP controller and adds no engine logic of its own. - **55 tests** without a GPU, a download or a display: `python -m unittest launcher.test_presets launcher.test_api` (25 + 30). `tools.test_setup_risk` and `tools.test_setup_golden` stay green on top of this: 44 tests. ### Docs `docs/LAUNCHER.md`, plus one line in README (and in its six translations), AGENTS.md, AI_SETUP, INSTALL, MCP_SERVER and MODELS. `.gitignore` gains `/strata-*.json.bak`, which setup's settings card leaves behind. ### Known rough edges - One model runs at a time: the page says which one and refuses to start a second. - A preset made from an older config can quietly lower a setting that config had; the plan lists the differences before anything runs, but that list is only as good as what setup reads back from a config. - The page polls (state every few seconds, the logs every 3 s): more file reads than the scripts do, on a slow disk. - The page itself is English only (the docs line is translated, the UI is not). - No uninstall step: removing it is deleting `launcher/`, `LAUNCHER.bat`, `launcher.sh` and `.strata-launcher/`.
En el sitio
Enlaces a install, modelos, releases.