====== Локальная LLM: Qwen3.8-Flash-Next на движке Strata + Goose Desktop (Windows) ====== ===== Введение ===== Инструкция описывает, как развернуть на домашнем ПК с Windows локальную модель **Qwen3.8-Flash-Next** на движке **Strata** (OpenAI-совместимый API) и подключить её к AI-агенту **Goose Desktop**, а затем настроить русский язык и MCP-расширения для кодинга (Developer, Playwright). Всё описанное ниже было выполнено и проверено на реальной машине. Ошибки, на которые пришлось наткнуться, вынесены в раздел «Проблемы и решения». Развёртывание на отдельном сервере с доступом по сети описано на странице [[:truenas:application:strata_qwen_server|Strata + Qwen на сервере и подключение клиентов по IP]]. ===== Конфигурация, на которой проверялось ===== ^ Компонент ^ Значение ^ | ОС | Windows 11 Pro (26200), PowerShell 5.1 | | GPU | NVIDIA GeForce RTX 4080, 16 GB VRAM, драйвер 610.88 | | CPU | Intel Core i9-9900KF (AVX2) | | RAM | 64 GB | | PCIe | 3.0 x16 | | Strata Terminal / движок | 0.1.59 (''windows-x86_64-cuda-cuda13'') | | Модель | Qwen3.8-Flash-Next **IQ3_S**, 84 GB, контекст 128K | | Goose Desktop | 1.51.0 | | Node.js | 24.x (для Playwright MCP) | ===== Требования ===== * Видеокарта NVIDIA RTX 20/30/40/50 (или AMD) и актуальный драйвер. * Оперативная память: для IQ3_S — 64 GB (модель занимает ~50 GB RAM + почти всю VRAM). Для ПК поменьше см. «Шаг 2: Выбор типа квантования». * Свободное место на диске: ~85 GB под модель + ~1 GB под движок и drafter. * Установленный Goose Desktop. * Node.js (''node'', ''npx'' в PATH) — только для Playwright MCP. * Свободный TCP-порт. **Порт 8080 (по умолчанию у Strata) часто занят** (у нас его держал Docker-контейнер Jira в WSL), поэтому в инструкции используется **8081**. ===== Шаг 1: Установка Strata ===== Официальная команда установки: irm https://github.com/Niko1221/Strata/releases/latest/download/install.ps1 | iex Рекомендуется сначала скачать скрипт и прочитать его, а потом запустить локальную копию: Invoke-WebRequest -UseBasicParsing https://github.com/Niko1221/Strata/releases/latest/download/install.ps1 -OutFile install.ps1 notepad install.ps1 .\install.ps1 Что делает установщик: - скачивает архив Strata Terminal (~70 MB) и сверяет его SHA-256; - распаковывает в ''%LOCALAPPDATA%\Strata\terminal\<версия>'' (права администратора не нужны); - проверяет подпись релиза; - добавляет ''%LOCALAPPDATA%\Strata\terminal\current\bin'' в пользовательский PATH. Ожидаемый вывод: Strata Terminal installer This computer: Windows AMD64 (windows-x86_64), graphics: NVIDIA GeForce RTX 4080 Terminal 0.1.59 (70 MB) Checksum ok. Signature ok. Installed. Run: strata launch **После установки откройте новое окно терминала**, иначе команда ''strata'' не будет найдена. Если не находится — используйте полный путь: & "$env:LOCALAPPDATA\Strata\terminal\current\bin\strata.cmd" --version ===== Шаг 2: Выбор типа квантования ===== Strata сама скачивает модель нужного размера из своего каталога. Размер задаётся ключом ''--model'', семейство — ''--family''. Чем меньше бит на вес, тем меньше нужно памяти и тем быстрее модель, но ниже качество ответов. ==== Что умеет Strata: семейства и кванты ==== * ''--family qwen'' (по умолчанию) — официальные кванты Qwen3.8-Flash-Next: ''q2_0'', ''iq2_xs'', ''iq3_xxs'', ''iq3_s'', ''iq1_m''. * ''--family unsloth'' — кванты Unsloth той же модели: от ''ud-iq1_m'' до ''q8_0''. * ''--family swift'' — дообученная Swift 1.5 (на базе Qwen3.8-Flash-Next), те же размеры. * ''--family coder'' — вариант для кода. * ''--family gyro'' (''Gyro-S'', ''Gyro-M'') и ''--family nvfp4'' (''NVFP4'', ''NVFP4-NVIDIA'', ''NVFP4-QAD'') — альтернативные сжатые версии. * ''--family qwen36'' — Qwen3.6-35B-A3B: модель поменьше, умеет картинки и несколько запросов одновременно. * ''--family deepseek41'' — DeepSeek-V4.1-Flash: 1.75 / 2.00 / 2.25 bpw = 239 / 257 / 274 GB, ''UD-Q8_K_XL'' = 508 GB. Чем меньше бит на вес — тем меньше памяти и быстрее генерация, но ниже качество. Чем больше квант — тем больше байт нужно прочитать из RAM на каждый токен, поэтому на одном и том же ПК крупный квант генерирует **медленнее**. ==== Какие модели можно развернуть на моём ПК сейчас ==== Конфигурация: RTX 4080 **16 GB VRAM** + **64 GB RAM** DDR4-3600 (2×32 GB) = **80 GB** RAM+VRAM, i9-9900KF, PCIe 3.0, плата ASUS TUF Z390-PLUS GAMING (WI-FI). Оценку даёт сама Strata командой, которая только проверяет ПК и ничего не устанавливает: strata install -- --check --family unsloth Столбец «Нужно RAM+VRAM» — оценка Strata; «Скачать» — по ''strata launch --plan''. **fits** — Strata считает, что помещается; **медленнее** — Strata предупреждает «may run slower» (часть модели будет читаться с диска). ^ Модель ^ Скачать ^ Нужно RAM+VRAM ^ Сейчас (64 GB RAM, 80 GB всего) ^ После +64 GB RAM (144 GB) ^ Команда запуска ^ Комментарий ^ | qwen / ''iq1_m'' | — | ~30 GB | fits | fits | ''strata launch --family qwen --model iq1_m --vision off --port 8081 --no-tui --yes --save-preset "iq1_m 8081"'' | самый маленький, качество заметно ниже | | gyro / ''Gyro-S'' | — | ~28 GB | fits | fits | ''strata launch --family gyro --model Gyro-S --vision off --port 8081 --no-tui --yes --save-preset "Gyro-S 8081"'' | | | gyro / ''Gyro-M'' | — | ~35 GB | fits | fits | ''strata launch --family gyro --model Gyro-M --vision off --port 8081 --no-tui --yes --save-preset "Gyro-M 8081"'' | | | qwen / ''q2_0'' | 66 GB | ~38 GB | fits | fits | ''strata launch --family qwen --model q2_0 --vision off --port 8081 --no-tui --yes --save-preset "q2_0 8081"'' | самый быстрый из официальных | | unsloth / ''ud-iq1_m'' | 68 GB | ~39 GB | fits | fits | ''strata launch --family unsloth --model ud-iq1_m --vision off --port 8081 --no-tui --yes --save-preset "ud-iq1_m 8081"'' | | | unsloth / ''ud-q2_0'' | — | ~42 GB | fits | fits | ''strata launch --family unsloth --model ud-q2_0 --vision off --port 8081 --no-tui --yes --save-preset "ud-q2_0 8081"'' | | | unsloth / ''ud-iq2_xs'' | — | ~47 GB | fits | fits | ''strata launch --family unsloth --model ud-iq2_xs --vision off --port 8081 --no-tui --yes --save-preset "ud-iq2_xs 8081"'' | | | unsloth / ''ud-q2_k_xl'' | 80 GB | ~51 GB | fits | fits | ''strata launch --family unsloth --model ud-q2_k_xl --vision off --port 8081 --no-tui --yes --save-preset "ud-q2_k_xl 8081"'' | | | unsloth / ''ud-iq3_xxs'' | 84 GB | ~55 GB | fits | fits | ''strata launch --family unsloth --model ud-iq3_xxs --vision off --port 8081 --no-tui --yes --save-preset "ud-iq3_xxs 8081"'' | | | unsloth / ''ud-q3_k_xl'' | 90 GB | ~61 GB | fits | fits | ''strata launch --family unsloth --model ud-q3_k_xl --vision off --port 8081 --no-tui --yes --save-preset "ud-q3_k_xl 8081"'' | | | unsloth / ''ud-iq4_xs'' | 94 GB | ~65 GB | fits | fits | ''strata launch --family unsloth --model ud-iq4_xs --vision off --port 8081 --no-tui --yes --save-preset "ud-iq4_xs 8081"'' | 4 бита; хороший выбор по качеству на текущем ПК | | qwen / ''iq2_xs'' | 68 GB | ~68 GB | fits | fits | ''strata launch --family qwen --model iq2_xs --vision off --port 8081 --no-tui --yes --save-preset "iq2_xs 8081"'' | | | qwen / ''iq3_xxs'' | 76 GB | ~76 GB | fits | fits | ''strata launch --family qwen --model iq3_xxs --vision off --port 8081 --no-tui --yes --save-preset "iq3_xxs 8081"'' | | | nvfp4 / ''NVFP4'' | — | ~77 GB | fits (впритык) | fits | ''strata launch --family nvfp4 --model NVFP4 --vision off --port 8081 --no-tui --yes --save-preset "NVFP4 8081"'' | | | unsloth / ''ud-q4_k_xl'' | 111 GB | ~82 GB | медленнее | fits | ''strata launch --family unsloth --model ud-q4_k_xl --vision off --port 8081 --no-tui --yes --save-preset "ud-q4_k_xl 8081"'' | | | qwen / ''iq3_s'' | 84 GB | ~84 GB | медленнее | fits | ''strata launch --family qwen --model iq3_s --vision off --port 8081 --no-tui --yes --save-preset "iq3_s 8081"'' | **установлен сейчас**: на практике ~21.5 ток/с | | unsloth / ''ud-q5_k_xl'' | 158 GB | ~104 GB | нет | fits | ''strata launch --family unsloth --model ud-q5_k_xl --vision off --port 8081 --no-tui --yes --save-preset "ud-q5_k_xl 8081"'' | 5 бит, почти без потерь | | unsloth / ''ud-q6_k_xl'' | 169 GB | ~115 GB | нет | fits | ''strata launch --family unsloth --model ud-q6_k_xl --vision off --port 8081 --no-tui --yes --save-preset "ud-q6_k_xl 8081"'' | | | unsloth / ''q8_0'' | 188 GB | ~134 GB | нет | fits (впритык) | ''strata launch --family unsloth --model q8_0 --vision off --port 8081 --no-tui --yes --save-preset "q8_0 8081"'' | практически полное качество, но генерация заметно медленнее ''iq3_s'' | | deepseek41 / ''IST-DAS-1.75bpw'' | 239 GB | больше 144 GB | нет | **нет** | ''strata launch --family deepseek41 --model IST-DAS-1.75bpw --vision off --port 8081 --no-tui --yes --save-preset "IST-DAS-1.75bpw 8081"'' | модель больше, чем RAM+VRAM; нужно 256+ GB RAM | | deepseek41 / ''IST-DAS-2.25bpw'' | 274 GB | больше 144 GB | нет | **нет** | ''strata launch --family deepseek41 --model IST-DAS-2.25bpw --vision off --port 8081 --no-tui --yes --save-preset "IST-DAS-2.25bpw 8081"'' | то же | «—» в столбце «Скачать» — размер не замерялся; его покажет ''strata launch --family ... --model ... --plan''. **Итог для текущего ПК:** всё, что помечено **fits**, плюс уже работающий ''iq3_s''. Если нужна скорость — ''q2_0'' или ''ud-q2_k_xl''; если качество — ''iq3_s'' (текущий) или ''ud-iq4_xs''. **Если добавить 64 GB RAM (станет 128 GB + 16 GB VRAM = 144 GB):** * **unsloth / ''q8_0'' — да**, по оценке Strata (~134 GB) помещается, но впритык и генерирует заметно медленнее ''iq3_s'': на каждый токен из RAM читается больше данных. Разумный выбор после апгрейда по балансу качество/скорость — ''ud-q4_k_xl'' или ''ud-q5_k_xl''. * **deepseek41 / IST-DAS-1.75…2.25bpw — нет.** Модель весит 239–274 GB, это больше, чем RAM+VRAM; большая часть читалась бы с диска — слишком медленно для работы. Нужно 256+ GB RAM (новая платформа, см. ниже). **Как пользоваться командами из таблицы:** - Сначала посмотреть план без изменений — добавить к команде ''--plan''. - Остановить текущую модель (''strata launch --stop --preset "Goose IQ3_S official 8081"'' или «Остановить» в [[:truenas:application:strata_tray|Strata Tray]]) — либо добавить к команде ''--restart''. - Выполнить команду: первая установка скачивает модель, затем сохраняется пресет ''"<модель> 8081"'', дальше запуск — ''strata launch --preset "<модель> 8081" --no-tui''. - В Goose поменять имя модели у провайдера на то, что вернёт ''/v1/models''; в Strata Tray — ''Preset'' в ''settings.json''. Сменить модель — новый пресет, старый остаётся: strata launch --family unsloth --model ud-iq4_xs --context 128k --vision off --access local --port 8081 --no-tui --plan strata launch --family unsloth --model ud-iq4_xs --context 128k --vision off --access local --port 8081 --no-tui --yes --save-preset "Goose UD-IQ4_XS 8081" Если меняете пресет, поменяйте и имя модели в провайдере Goose (точное имя — из ''/v1/models'') и пресет в ''settings.json'' трей-программы (см. [[:truenas:application:strata_tray|Strata Tray]]). ==== Что можно будет развернуть после апгрейда ПК ==== Граница «fits» у Strata — примерно (RAM + VRAM) минус 3 GB. Ниже — **оценка по той же формуле**, на реальном железе не проверялась. ^ Апгрейд ^ RAM+VRAM ^ Что добавится (fits) ^ Замечания ^ | **RAM 64 → 128 GB** (докупить ещё 2×32 GB, тот же комплект Kingston FURY ''KF3600C18D4/32GX'') | 144 GB | ''iq3_s'' без предупреждения, ''ud-q4_k_xl'', ''ud-q5_k_xl'', ''ud-q6_k_xl'', ''q8_0'' — вся линейка Qwen3.8-Flash-Next | Самый дешёвый и полезный апгрейд. На плате 4 слота, свободно 2. Windows/SMBIOS сейчас показывает максимум 64 GB, но i9-9900KF поддерживает 128 GB, а модули по 32 GB плата уже принимает — **(проверить)** поддержку 128 GB в списке BIOS/QVL на сайте ASUS и обновить BIOS. С 4 модулями XMP 3600 может работать нестабильно — тогда 3200 MHz. | | **GPU 16 → 24 GB** (RTX 4090 / 3090) | 88 GB | ''ud-q4_k_xl'', ''iq3_s'' без предупреждения | Больше слоёв в VRAM — быстрее чтение промпта и генерация. Плата даёт только PCIe 3.0 — часть прироста теряется. | | **GPU 16 → 32 GB** (RTX 5090) | 96 GB | то же + запас под длинный контекст | Те же ограничения PCIe 3.0. | | **RAM 128 GB + GPU 24–32 GB** | 152–160 GB | вся линейка до ''q8_0'' с запасом | | | **Новая платформа** (AM5 / LGA1851, DDR5, 4×64 = 256 GB, PCIe 4.0/5.0) | 256+ GB | DeepSeek-V4.1-Flash 1.75–2.25 bpw; Qwen ''q8_0'' быстро | DDR5 даёт примерно вдвое большую пропускную способность памяти, чем DDR4 — генерация MoE-моделей заметно быстрее. | **Что реально ускорит работу:** генерация упирается в пропускную способность RAM (DDR4 двухканал) и PCIe 3.0. Апгрейд RAM до 128 GB открывает более качественные кванты, но **не делает модель быстрее**; ускоряют — больше VRAM и/или новая платформа с DDR5. ==== Как посмотреть план без изменений ==== Перед запуском полезно выполнить ''--plan'' — он покажет, что будет скачано, и ничего не изменит: strata launch --model iq3_s --context 128k --vision off --access local --port 8081 --no-tui --plan Plan for 'IQ3_S 128K': model Qwen3.8-Flash-Next IQ3_S, 84 GB context 128K pictures off parallel fit to your card download About 84.8 GB to download: the model (83.6 GB) and the DFlash2 drafter (1.2 GB). drafting DFlash2 (its drafter is downloaded first) tuning skip access This computer only, port 8081 Nothing was changed. Примеры для других квантов: strata launch --model q2_0 --context 128k --vision off --access local --port 8081 --no-tui --plan strata launch --model iq3_xxs --context 128k --vision off --access local --port 8081 --no-tui --plan strata launch --family unsloth --model ud-q4_k_xl --context 128k --vision off --access local --port 8081 --no-tui --plan **Важно про свои GGUF-файлы.** Strata умеет брать уже скачанные файлы (''--model-path ПАПКА''), но **не любые**. Сторонняя сборка ''RVN-Qwen3.8-Flash-Next-IQ3_S'' не запустилась (см. раздел «Проблемы и решения»). Надёжнее давать Strata скачать модель самой. ===== Шаг 3: Первый запуск модели ===== strata launch --model iq3_s --context 128k --vision off --tune skip --access local --port 8081 --no-tui --yes --save-preset "Goose IQ3_S official 8081" Ключи: * ''--model iq3_s'' — размер модели (см. таблицы выше). * ''--context 128k'' — длина контекста (32k / 64k / 128k / 256k). * ''--vision off'' — без распознавания картинок (Goose они не нужны, экономит память и 0.9 GB скачивания). * ''--access local'' — доступ только с этого компьютера (без API-ключа). * ''--port 8081'' — порт API. * ''--no-tui'' — без интерактивных экранов: запустить, вывести адрес и вернуть управление. * ''--yes'' — не задавать вопросов (согласие на скачивание). * ''--save-preset'' — сохранить все настройки под именем, чтобы потом запускать одной командой. Первый запуск: скачивается движок под вашу видеокарту (~631 MB), модель (~84 GB), drafter DFlash2 (1.2 GB), затем один раз модель подготавливается для движка. Это долго (зависит от скорости интернета). В конце: The model is loaded and answering. Ready: http://127.0.0.1:8081 Strata is serving. This computer http://127.0.0.1:8081/v1 Anthropic apps http://127.0.0.1:8081 (Claude Code: ANTHROPIC_BASE_URL, no /v1 at the end) [!] DFlash2 answers one request at a time, so Strata set this model to one request at a time. Stop: strata launch --stop --preset "Goose IQ3_S official 8081" ===== Шаг 4: Ежедневный запуск и остановка ===== **Удобнее — через значок в трее:** программа [[:truenas:application:strata_tray|Strata Tray]] показывает статус Strata и запускает/останавливает её по правому клику, стартует вместе с Windows. Ниже — то же самое командами. Запуск (загрузка модели ~1 минута): strata launch --preset "Goose IQ3_S official 8081" --no-tui Без ''--no-tui'' откроется экран мониторинга. Проверка, что сервер отвечает: curl.exe http://127.0.0.1:8081/v1/models Должна вернуться модель ''"id": "qwen3.8-flash-next-iq3_s"'' со статусом ''"loaded"''. Остановка (освобождает ~15.7 GB VRAM и ~50 GB RAM): strata launch --stop --preset "Goose IQ3_S official 8081" Полезные команды: strata launch --status # что сейчас запущено strata launch --list-presets # сохранённые пресеты strata monitor --url http://127.0.0.1:8081 # монитор: скорость, VRAM, очередь запросов strata logs --url http://127.0.0.1:8081 # журнал запросов strata doctor # проверка компонентов (только чтение) strata update # обновить движок (переключается после пробного старта) Лог движка: ''%LOCALAPPDATA%\Strata\launch\<имя-пресета>.engine.log''. ===== Шаг 5: Проверка API вручную ===== '{"model":"qwen3.8-flash-next-iq3_s","messages":[{"role":"user","content":"Привет, ответь одним словом"}],"max_tokens":200}' | Out-File -Encoding utf8 req.json curl.exe -s -H "Content-Type: application/json" --data-binary "@req.json" http://127.0.0.1:8081/v1/chat/completions Ответ содержит ''content'' (сам ответ), ''reasoning_content'' (рассуждения модели) и ''timings'' со скоростью. Streaming (''"stream": true'') поддерживается. ===== Шаг 6: Подключение Strata к Goose Desktop ===== ==== Вариант А: через интерфейс ==== Settings → Models → **Add Custom Provider**: ^ Поле ^ Значение ^ | Provider Type | **OpenAI Compatible** | | Display Name | ''Strata Qwen'' | | API URL | ''http://127.0.0.1:8081/v1/chat/completions'' | | API Key | пусто (при ''--access local'' ключ не нужен) | | Available Models | ''qwen3.8-flash-next-iq3_s'' (точное имя из ''/v1/models'') | | Streaming | включить | Сохранить и выбрать этого провайдера в чате. ==== Вариант Б: файлом (то же самое, что делает интерфейс) ==== Закройте Goose Desktop и создайте файл ''%APPDATA%\Block\goose\config\custom_providers\custom_strata_qwen.json'': { "name": "custom_strata_qwen", "engine": "openai", "display_name": "Strata Qwen", "description": "Local Strata engine: Qwen3.8-Flash-Next IQ3_S on 127.0.0.1:8081", "api_key_env": "CUSTOM_STRATA_QWEN_API_KEY", "base_url": "http://127.0.0.1:8081/v1/chat/completions", "models": [ { "name": "qwen3.8-flash-next-iq3_s", "context_limit": 131072 } ], "headers": null, "timeout_seconds": 600, "supports_streaming": true, "requires_auth": false } Чтобы сделать его провайдером по умолчанию, в ''%APPDATA%\Block\goose\config\config.yaml'' (сначала сделайте резервную копию) замените строку ''active_provider: ...'' на: active_provider: custom_strata_qwen GOOSE_PROVIDER: custom_strata_qwen GOOSE_MODEL: qwen3.8-flash-next-iq3_s ==== Проверка ==== Из терминала (CLI ''goose.exe'' лежит внутри Desktop-приложения): & "<папка Goose>\resources\bin\goose.exe" run --no-session -t "Привет, ответь одним словом" __( O)> ● new session · custom_strata_qwen qwen3.8-flash-next-iq3_s Привет Убедиться, что запрос ушёл именно в локальную модель, а не в облако: ''strata logs --url http://127.0.0.1:8081'' — в журнале появятся записи ''queued → admitted → first_token → finished'' в момент запроса из Goose. **Порядок запуска:** сначала Strata, потом Goose. Если Strata не запущена, Goose пишет ''Could not connect to 127.0.0.1:8081''. ===== Шаг 7: Русский язык ===== Модель хорошо отвечает по-русски и технически корректно — переводчик-прокси не нужен. Чтобы Goose всегда отвечал по-русски, положите в корень проекта файл ''.goosehints'': Всегда отвечай на русском языке. Код, команды, имена файлов, идентификаторы и технические термины оставляй без перевода. Комментарии в коде пиши на русском, если пользователь не попросил иначе. Рабочая ОС — Windows 11, оболочка PowerShell 5.1: используй её синтаксис для shell-команд (без &&, пути через \). ''.goosehints'' действует только для сессий, открытых в этой папке. Для всех проектов сразу — положите такой же файл в ''%APPDATA%\Block\goose\config\.goosehints''. ===== Шаг 8: MCP-расширения для кодинга ===== ==== Developer (встроенное) ==== Работа с файлами и shell. Включено по умолчанию; проверить в ''config.yaml'': developer: enabled: true type: platform ==== Playwright (браузер для проверки UI) ==== Добавьте в секцию ''extensions:'' файла ''config.yaml'': playwright: enabled: true type: stdio name: playwright description: Browser automation for UI checks (Playwright MCP, Microsoft Edge) display_name: Playwright cmd: C:\Program Files\nodejs\npx.cmd args: - -y - '@playwright/mcp@0.0.85' - --browser - msedge envs: {} env_keys: [] timeout: 300 bundled: null * **В ''cmd'' обязательно полный путь к системному ''npx.cmd''**, а не просто ''npx'' — см. раздел «Проблемы и решения». * ''--browser msedge'' — использует уже установленный Microsoft Edge, Chromium скачивать не нужно. * Проверить пакет вручную: ''npx -y @playwright/mcp@0.0.85 --help''. После правки ''config.yaml'' полностью перезапустите Goose Desktop (включая значок в трее). Проверка: задача //Через расширение playwright открой https://example.com и скажи заголовок страницы// → Goose вызывает ''browser_navigate'' и отвечает «Example Domain». ==== GitHub (по желанию) ==== Нужен ваш вход в GitHub: * удалённый MCP-сервер ''https://api.githubcopilot.com/mcp/'' (Extensions → Add, вход через браузер), или * Personal Access Token. ===== Шаг 9: Финальная проверка ===== В Goose (рабочая папка — ваш проект) дайте задачу: Создай файл hello.py, который выводит текущее время, и запусти его Ожидаемо: Goose отвечает по-русски, вызывает ''write'' (создаёт ''hello.py'') и ''shell'' (''python hello.py''), выводит время. В ''strata logs'' видны запросы. ===== Хранение моделей и перенос на другой диск ===== ==== Где лежат файлы ==== Данные Strata находятся в **папке данных**. По умолчанию это ''%LOCALAPPDATA%\Strata\Strata-data''. Путь к ней записан в ''%APPDATA%\Strata\settings.json'' (ключ ''data_dir''). ^ Папка ^ Что в ней ^ Пример (IQ3_S) ^ | ''Strata-data\models\<КВАНТ>\'' | Файлы модели (GGUF-шарды) и метки ''.done'' о завершённой загрузке | ''models\IQ3_S\'', 2 файла, 78 GB | | ''Strata-data\packs\<квант>\'' | Модель, подготовленная под движок | ''packs\iq3_s\'', 1.5 GB | | ''Strata-data\dflash2\'' | Драфтер DFlash2 (ускоряет генерацию) | 0.8 GB | | ''Strata-data\mtp\'' | Слой MTP (только у моделей с ''--drafting mtp'') | — | | ''%LOCALAPPDATA%\Strata\components'', ''install'', ''terminal'' | Движок и сама программа (не модели) | ~1.3 GB | | ''%LOCALAPPDATA%\Strata\launch'' | Пресеты и логи запусков | мегабайты | Новые модели скачиваются в ту же папку данных. Каждый квант получает свою папку в ''models'' и ''packs''. Например, после ''--model ud-iq4_xs'' добавится около 94 GB. Посмотреть, что установлено: strata models list --installed iq3_s present qwen3.8-flash-next-iq3_s ==== На какой диск класть ==== Strata подгружает экспертов модели с диска, если они не помещаются в RAM+VRAM. Поэтому скорость диска напрямую влияет на скорость ответов: чем больше модель превышает 80 GB, тем сильнее. ^ Диск на этом ПК ^ Тип ^ Для моделей ^ | C: | NVMe SSD, 954 GB | **Лучший вариант**, модели лежат здесь сейчас | | D: | SATA SSD, 3.7 TB | Можно, если на C: не хватает места. Медленнее NVMe (~550 MB/s против ~3 GB/s), заметно на моделях больше 80 GB | | E:, F:, G: | HDD | **Не использовать** для запуска, только для архива (скорость падает в разы) | **Примечание:** копия RVN IQ3_S в ''F:\projects\inst\qwen-iq3s'' (83 GB) лежит на HDD, и Strata её не использует. Её стоит оставить только для переноса на сервер (см. [[:truenas:application:llamacpp_moe_ssd|llama.cpp: MoE с NVMe + RAM на TrueNAS]]), а потом удалить. ==== Перенос моделей в другую папку ==== У Strata есть встроенный перенос, поэтому вручную копировать и делать junction не нужно. Файлы переносятся по одному: каждый копируется, сверяется по SHA-256 и только после этого удаляется со старого места. Если прервать перенос, ничего не потеряется. Перенос на тот же диск выполняется мгновенным переименованием, на другой диск — копированием. **Важно:** перед переносом остановите сервер: в трее «Остановить» или ''strata launch --stop --preset "..."''. **Способ 1 (рекомендуется): ''strata launch --data-dir ... --move-data''.** Модели переносятся, новая папка запоминается в ''settings.json'' (туда же пойдут следующие загрузки), сервер запускается. strata launch --stop --preset "Goose IQ3_S official 8081" # сначала план: сколько GB и хватит ли места (ничего не меняет) strata models move D:\StrataModels --plan # перенос + запуск strata launch --preset "Goose IQ3_S official 8081" --data-dir D:\StrataModels --move-data --no-tui --yes Вывод плана на этом ПК: 1 model(s), 85.2 GB; 2109.3 GB free in D:\StrataModels. Без ''--move-data'' старые модели останутся на месте и будут работать, а в новую папку пойдут только новые загрузки. ''--yes'' сам по себе модели **не** переносит. **Способ 2: ''strata models move''.** Переносит файлы (''models'', ''packs'', ''mtp'') и исправляет пути в конфигурациях запуска, но сервер не запускает. strata models move D:\StrataModels --plan # план strata models move D:\StrataModels # перенос (прогресс: "12.3 of 85.2 GB <файл>") **(проверить)** По исходному коду Strata 0.1.59 эта команда не меняет ''data_dir'' в ''settings.json''. Поэтому новые загрузки могут продолжать идти в старую папку. Чтобы закрепить новую папку, один раз запустите модель с ''--data-dir D:\StrataModels'' или используйте способ 1. Если перенос прервался (выключили ПК, закончилось место): strata models move --status # был ли незаконченный перенос strata models move --resume # докончить strata models move --leave # отказаться: модели остаются в старой папке, частичные копии удаляются После переноса проверьте: Get-Content $env:APPDATA\Strata\settings.json # data_dir = новая папка strata models list --installed # модель present curl.exe http://127.0.0.1:8081/v1/models # сервер отвечает **Примечание:** папка ''dflash2'' в перенос не входит и остаётся в старом месте (0.8 GB) **(проверить)**. Это не мешает работе. ==== Удаление ненужной модели ==== Отдельной команды для удаления модели в Strata 0.1.59 нет. Удалять нужно вручную при остановленном сервере: strata launch --stop --preset "Goose IQ3_S official 8081" $d = (Get-Content $env:APPDATA\Strata\settings.json | ConvertFrom-Json).data_dir Get-ChildItem "$d\models", "$d\packs" # посмотреть, что есть Remove-Item -Recurse "$d\models\UD-IQ4_XS", "$d\packs\ud-iq4_xs" # пример: имена папок берите из списка выше strata launch --delete-preset "ud-iq4_xs 8081" # если для неё сохранён пресет Модель, которая используется в рабочем пресете (сейчас ''IQ3_S''), не удаляйте. ===== Производительность (RTX 4080 16 GB + 64 GB RAM, IQ3_S) ===== ^ Показатель ^ Значение ^ | Генерация | ~21.5 токенов/с (DFlash2 принимает ~75% предсказанных токенов) | | Чтение промпта | ~30 токенов/с на коротких, ~350–400 токенов/с на длинных (12 тыс. токенов ≈ 30–35 с) | | Первый запрос Goose (системный промпт + инструменты ≈ 12 тыс. токенов) | ~30 с, дальше быстрее за счёт кэша | | «Привет, ответь одним словом» через Goose | ~18 с | | Создать и запустить hello.py | ~75 с | | Простая задача через Playwright | ~90 с | | Занято VRAM | 15.7 / 16 GB | | Параллельность | 1 запрос (из-за DFlash2); второй запрос Goose (генерация названия сессии) ждёт в очереди | ===== Проблемы и решения ===== ==== Порт 8080 занят ==== Симптом: ''curl http://127.0.0.1:8080/v1/models'' → ''Empty reply from server'' (curl exit 52). Проверка, кто держит порт: Get-NetTCPConnection -LocalPort 8080 -State Listen | Select-Object OwningProcess Get-CimInstance Win32_Process -Filter "ProcessId=" | Select-Object Name,ExecutablePath Если это ''wslrelay.exe'' — порт пробрасывается из WSL (у нас — Docker-контейнер Jira). Решение: запускать Strata на другом порту (''--port 8081''). ==== Сторонний GGUF не запускается (engine requires BF16) ==== Симптом при ''--model-path'' со сборкой ''RVN-Qwen3.8-Flash-Next-IQ3_S'': output_hc_down.weight is IQ3_S, but the engine requires BF16; use --compat-bf16 blk.0.ssm_alpha.weight is IQ3_S, but the engine requires BF16; use --compat-bf16 ... and 356 more [X] command failed (exit 1): python.exe Причина: в этой сборке в 3 бита сжаты и служебные тензоры (''hc_*'', ''ssm_alpha/beta''), а движку Strata они нужны в BF16. Кроме того, Strata по размеру ошибочно определяла эти файлы как ''UD-IQ4_XS'' (хотя в заголовке GGUF ''general.file_type = 26'' = IQ3_S) — помогло явное ''--model iq3_s''. Решение: скачать официальную сборку Strata (''strata launch --model iq3_s'' без ''--model-path''). Альтернатива — перепаковка с ''--compat-bf16'', но качество уже испорченных тензоров не вернётся. ==== Playwright не загружается в Goose ==== Симптом в логе Goose (''%APPDATA%\Block\goose\data\logs\cli\...''): Failed to load extension playwright: process quit before initialization: [Goose] Node.js not found. Downloading portable Node.js v22.14.0... ... Error: EPIPE: broken pipe, write Причина: если в ''cmd'' указано просто ''npx'', Goose подменяет его своей обёрткой (''<папка Goose>\resources\bin\npx.cmd''), которая не видит системный Node.js и пытается скачать портативный; скачивание не успевает до таймаута. Решение: ''cmd: C:\Program Files\nodejs\npx.cmd'' (полный путь). ==== Goose пишет файлы не в ту папку ==== Goose работает в рабочей папке сессии (выбирается внизу окна чата или ''Ctrl+O''). Если в тексте задачи указан другой путь («разверни в F:\...»), Goose будет использовать его до конца сессии. Для нового проекта — новый чат (''Ctrl+T'') в нужной папке, без других путей в задаче. ===== Шпаргалка ===== # запуск / остановка strata launch --preset "Goose IQ3_S official 8081" --no-tui strata launch --stop --preset "Goose IQ3_S official 8081" # проверка curl.exe http://127.0.0.1:8081/v1/models strata monitor --url http://127.0.0.1:8081 strata logs --url http://127.0.0.1:8081 # модели: список и перенос на другой диск (сервер остановлен) strata models list --installed strata models move D:\StrataModels --plan strata launch --preset "Goose IQ3_S official 8081" --data-dir D:\StrataModels --move-data --no-tui --yes ^ Что ^ Где ^ | Strata | ''%LOCALAPPDATA%\Strata'' | | Модели (папка данных) | ''%LOCALAPPDATA%\Strata\Strata-data\models'' (путь — ''data_dir'' в ''%APPDATA%\Strata\settings.json'') | | Провайдер Goose | ''%APPDATA%\Block\goose\config\custom_providers\custom_strata_qwen.json'' | | Конфиг Goose (расширения, провайдер по умолчанию) | ''%APPDATA%\Block\goose\config\config.yaml'' | | Логи Goose | ''%APPDATA%\Block\goose\data\logs'' | | Модель в Goose | ''custom_strata_qwen'' / ''qwen3.8-flash-next-iq3_s'' |