Закрытый контур / Offline¶
Synth можно установить в контур без доступа в интернет: поставляются portable-архивы для Linux, macOS и Windows, offline-образы контейнеров и Helm-чарт. Установка не требует пакетных менеджеров, npm-реестра или обращения к внешним сервисам.
Статус и плейсхолдеры
Точные имена архивов, версия, пути установки и метки служб уточняются по
manifest.json и странице релиза. В командах ниже используются <version> и
<bundle-dir>. Флаг SYNTH_OFFLINE пока планируется — в текущей версии
его нет.
Что поставляется¶
В portable-бандл входят:
| Компонент | Назначение |
|---|---|
| Node.js 22 | Встроенный runtime — отдельно устанавливать Node.js не нужно |
| Приложение Synth | Ядро, API и веб-интерфейс |
rg (ripgrep) |
Поиск по файлам для инструмента grep_files |
bin/synth / bin/synth.cmd |
CLI и запуск сервера |
install / uninstall |
Установка и удаление в пользовательский или системный контур |
manifest.json |
Версия, платформа, состав бандла |
SHA256SUMS |
Контрольные суммы архивов (публикуется рядом с архивом) |
LICENSES |
Лицензии Synth и сторонних компонентов |
| Офлайн-документация | Копия этого раздела в share/docs, если бандл собран с --docs-dir; иначе — ссылка на портал |
Контейнерная поставка включает образы synth, synth-backend, synth-ui
(архитектуры amd64 и arm64), архивы docker save и Helm-чарт.
Чего в поставке нет¶
- Нативных установщиков
.deb,.rpm,.msi,.pkg,.dmgнет. Установка выполняется распаковкой архива и скриптом из бандла. - Моделей LLM нет. Synth не поставляет веса моделей и не запускает их сам: подключается внешний провайдер (OpenAI-совместимый endpoint, Ollama, Anthropic). Подробнее — LLM-провайдер.
- Keycloak не входит в бандл. Если нужен OIDC, Keycloak разворачивается отдельно в том же контуре.
- Git для Windows не входит в Windows-бандл. Без него часть инструментов деградирует; ссылка на установку — в разделе Windows.
- Цифровых подписей нет. Целостность подтверждается только SHA256; как проверить — Проверка SHA256.
Сценарии¶
-
Одна рабочая машина
Linux, macOS или Windows. Локальный инстанс, данные на машине, провайдер — Ollama на том же хосте или корпоративный endpoint в локальной сети.
-
Сервер команды
Linux + systemd (system), вход через Keycloak или API-ключ, резервное копирование и журналирование. Подходит для изолированного ЦОД.
-
Kubernetes / Helm
Образы загружаются из архивов
docker saveили из внутреннего реестра, чарт устанавливается локально. Два профиля входа: Keycloak и API-ключ. -
Проверяемый контур
Перенос через USB или внутренний файловый шлюз, проверка SHA256, ограничение egress, отказ от автоматических обновлений.
Источники поставки¶
| Источник | Что даёт |
|---|---|
| GitHub Releases | Канонические ассеты: portable-архивы, SHA256SUMS, Helm-чарт |
| GitVerse | Реестр Docker/Helm и страница релиза со ссылками; загрузка ассетов — best-effort (API может отвечать 500) |
| Внутреннее зеркало | Копия ассетов для закрытого контура; хеши должны совпадать с каноническими |
Если ассет недоступен в GitVerse, используйте GitHub Releases. При переносе через внутреннее зеркало сверяйте SHA256 с эталоном.
Матрица артефактов¶
| Платформа | Архитектура | Артефакт | Запуск / автозапуск |
|---|---|---|---|
| Linux (RHEL 8/9, Ubuntu 20.04/22.04/24.04, Debian 11/12, Astra Linux 1.8.x, RED OS 8) | x64 | synth-<version>-linux-x64.tar.gz |
systemd user (локально) или system (сервер) |
| macOS 26 Tahoe | Intel (x86_64) |
synth-<version>-darwin-x64.tar.gz |
LaunchAgent (per-user) |
| macOS 26 Tahoe, macOS 27 Golden Gate | Apple Silicon (arm64) |
synth-<version>-darwin-arm64.tar.gz |
LaunchAgent (per-user) |
| Windows 10/11 | x64 | synth-<version>-win-x64.zip |
per-user, опционально Task Scheduler «At log on» |
| Контейнеры | amd64, arm64 |
synth-<version>-<arch>.tar.gz, synth-backend-<version>-<arch>.tar.gz, synth-ui-<version>-<arch>.tar.gz |
docker load / Compose |
| Kubernetes | amd64, arm64 |
synth-<version>.tgz (Helm) |
helm install |
macOS 27 и Intel
macOS 27 Golden Gate поддерживает только Apple Silicon. Для Intel
предназначен артефакт darwin-x64 и macOS 26 Tahoe; на macOS 27 он не
запускается.
Имена файлов и раскладка каталогов в архиве могут меняться между релизами —
сверяйтесь с manifest.json. Команды установки от этого не зависят.
Как устроен закрытый контур¶
Источник релиза (GitHub Releases / внутреннее зеркало)
│ перенос: USB, файловый шлюз, защищённый канал
▼
Проверка SHA256 ──► Распаковка ──► install
│ │
│ ├── Linux: systemd user/system
│ ├── macOS: LaunchAgent
│ └── Windows: per-user + Task Scheduler
▼
Synth (core + UI) ──► LLM-провайдер в локальной сети
│
└── данные: <home>/data (сессии, проекты, секреты)
Внешние запросы нужны только тем сценариям, которые их явно требуют: LLM-провайдеру, Keycloak и — при желании — корпоративным интеграциям. Проверка обновлений и обращение к npm-реестру для работы не обязательны.
Ограничения офлайна¶
synth updateне работает. Команда обращается к npm-реестру. Обновление выполняется заменой бандла, миграцией схемы и проверкой; порядок — Эксплуатация.- Автоматическая проверка обновлений не требуется. Приложение не должно
зависеть от доступности интернета при старте. Флаг
SYNTH_OFFLINEдля явного отключения внешних проверок — планируется; в текущей версии его нет. - Модели не поставляются. Без доступного LLM-провайдера интерфейс, файлы и история работают, но ответы модели — нет.
docker pullнедоступен. Образы загружаются из архивовdocker saveили из внутреннего реестра.- Веб-поиск и загрузка URL (
web_search,web_fetch) требуют сети; в закрытом контуре они могут быть недоступны или ограничены egress-политикой. - Только SHA256. Подписей нет: хеш подтверждает целостность переноса, но не авторство. Сверяйте сумму по двум независимым источникам, если это важно.
Порядок установки¶
- Выберите артефакт под платформу и архитектуру.
- Проверьте SHA256 по
SHA256SUMS— Проверка SHA256. - Распакуйте архив и запустите установщик из бандла (или разложите вручную).
- Настройте LLM-провайдера и, при необходимости, CA и прокси — LLM-провайдер.
- Выберите режим входа: Keycloak (OIDC) или API-ключ — Keycloak и API-key.
- Пройдите чек-лист и настройте резервное копирование — Эксплуатация.