Windows¶
Portable-бандл для Windows поставляется как zip для x64. Установка —
per-user: без административных прав, без службы Windows и без записи в
системные каталоги. Автозапуск — опционально, через Task Scheduler.
Поддерживаемые системы¶
| Версия | Архитектура | Артефакт |
|---|---|---|
| Windows 10 | x64 | synth-<version>-win-x64.zip |
| Windows 11 | x64 | synth-<version>-win-x64.zip |
Поддерживаются только standalone и hybrid режимы. Managed-развёртывание (backend + UI в Kubernetes) выполняется на Linux — см. Контейнеры и Helm.
Проверка разрядности в PowerShell:
Ожидается True и AMD64.
Распаковка и проверка¶
Сверьте хеш с SHA256SUMS — подробно в
Проверке SHA256. Затем распакуйте в
пользовательский каталог:
# Распакуйте в рабочий каталог (не в Program Files): из него запускается install.ps1.
Expand-Archive -Path .\synth-<version>-win-x64.zip `
-DestinationPath "$env:LOCALAPPDATA\Programs" -Force
cd "$env:LOCALAPPDATA\Programs\synth-<version>-win-x64"
Верхнеуровневый каталог в архиве
В архиве есть каталог synth-<version>-win-x64 — это корень бандла.
Установщик копирует его в %LOCALAPPDATA%\Programs\Synth\<version>;
вручную раскладывать файлы не нужно.
Запуск после установки:
& "$env:LOCALAPPDATA\Programs\Synth\bin\synth.cmd" --version
& "$env:LOCALAPPDATA\Programs\Synth\bin\synth.cmd" serve --home "$env:LOCALAPPDATA\Synth"
Сервер слушает 127.0.0.1:4300. Если ключ не задан, он будет создан в каталоге
данных и напечатан при старте. Ключ вводится в интерфейсе.
Установка¶
В бандл входит install.ps1 — запускайте его от своего пользователя, без
«Запуска от имени администратора»:
powershell -ExecutionPolicy Bypass -File .\install.ps1
# автозапуск при входе (Scheduled Task, не служба):
powershell -ExecutionPolicy Bypass -File .\install.ps1 -Autostart
Установщик раскладывает приложение в
%LOCALAPPDATA%\Programs\Synth\<version> (+ junction current), данные — в
%LOCALAPPDATA%\Synth, launcher — в
%LOCALAPPDATA%\Programs\Synth\bin\synth.cmd. Если установщик не используется,
достаточно распаковать архив и запускать bin\synth.cmd из корня бандла —
приложение не требует регистрации в системе.
Никакой службы Windows
Synth не устанавливает службу (LocalSystem/NetworkService) и не требует
записи в Program Files, ProgramData или реестр HKLM. Всё живёт в профиле
пользователя. Это ограничивает запуск до входа пользователя в систему — для
серверного сценария используйте Linux.
Git for Windows¶
Git for Windows не входит в бандл. Скачайте офлайн-инсталлятор на машине с доступом к сети и перенесите его в контур:
Установите Git per-user (без admin), затем перезапустите Synth, чтобы git
попал в PATH:
Матрица возможностей¶
| Возможность | Без Git for Windows | С Git for Windows |
|---|---|---|
| Интерфейс, чат, сессии | Работает | Работает |
Файлы: чтение/запись, grep_files, glob |
Работает (rg входит в бандл) |
Работает |
execute_shell |
Деградирует: нет POSIX-shell | Работает через shell из Git for Windows |
Git-инструменты (git_status, git_commit, git_push, …) |
Недоступны | Работают |
| Клонирование репозиториев | Недоступно | Работает |
| LLM-провайдер | Зависит от сети/endpoint | Зависит от сети/endpoint |
Что именно деградирует
Речь не о падении приложения: Synth продолжает работать, а недоступные инструменты исключаются из вызова с пояснением. Подробнее о детекте зависимостей — в разделе Диагностика.
Автозапуск через Task Scheduler¶
Служба Windows не используется. Автозапуск — задача «At log on» в контексте текущего пользователя:
$start = "$env:LOCALAPPDATA\Programs\Synth\<version>\start-synth.ps1"
$action = New-ScheduledTaskAction -Execute "powershell.exe" `
-Argument "-NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -File `"$start`""
$trigger = New-ScheduledTaskTrigger -AtLogOn
Register-ScheduledTask -TaskName "Synth" `
-Action $action -Trigger $trigger `
-Description "Synth (per-user)" -RunLevel Limited
Задача запускается при входе пользователя и не требует административных прав. Проверка:
Удаление автозапуска:
Запуск без автозапуска
Для разового запуска достаточно ярлыка или команды synth.cmd serve.
Автозапуск — удобство, а не требование.
Пути¶
| Что | Путь (пример) | Как изменить |
|---|---|---|
| Установка | %LOCALAPPDATA%\Programs\Synth\<version> |
-Prefix при установке |
| Launcher | %LOCALAPPDATA%\Programs\Synth\bin\synth.cmd |
-Prefix |
| Home (конфиг и данные) | %LOCALAPPDATA%\Synth |
-DataDir / --home / SYNTH_HOME |
| Данные | %LOCALAPPDATA%\Synth\data |
--data-dir / SYNTH_DATA_DIR |
| Секреты | %LOCALAPPDATA%\Synth\data\secrets |
внутри каталога данных |
| Логи | %LOCALAPPDATA%\Synth\logs |
start-synth.ps1 |
Точная раскладка указана в manifest.json и install.json; пути выше —
дефолты установщика.
SmartScreen¶
Файлы не подписаны, поэтому SmartScreen может показать «Windows protected your PC». Проверьте SHA256. В управляемом парке используйте allowlist WDAC/AppLocker по хешу; локальное одобрение запуска — только если это разрешено политикой организации.
Не отключайте защиту глобально
Не отключайте SmartScreen, Defender и не добавляйте весь каталог в исключения. Подробнее — Проверка SHA256.
Обновление и удаление¶
- Обновление — остановить процесс, распаковать новую версию в новый каталог,
выполнить
synth migrate --yes, запустить.synth updateв офлайне не работает — Эксплуатация. - Удаление —
uninstall.ps1из установленного каталога (%LOCALAPPDATA%\Programs\Synth\<version>) — данные сохраняются;-Purgeудаляет данные. Либоsynth uninstall --purge --yes. Необратимо.