Локальный запуск¶
Локальный запуск — персональный сценарий: одна команда synth serve поднимает
core и UI, агент получает прямой доступ к файлам проекта. Бэкенд, Keycloak и
Kubernetes не нужны.
Когда подходит¶
- Один разработчик на личной машине: быстрый старт без инфраструктуры.
- Нужен прямой доступ к файловой системе и shell в рабочем каталоге проекта.
- Нужны локальные модели (Ollama) или собственные ключи провайдеров.
Если нужна командная работа
Общая история, роли, OIDC и централизованный аудит появляются в Kubernetes / Helm. Если хочется оставить файлы локально, а ключи и аудит — на сервере, используйте гибридный режим.
Что поднимается¶
Core и UI работают в одном процессе: synth serve отдаёт и HTTP API, и
статику интерфейса. Такой инстанс самодостаточен — вся логика движка, сессии и
файлы остаются на вашей машине.
Что понадобится¶
- Node.js >= 22 — для установки через npm и запуска из исходников.
- pnpm >= 11 — только при установке из исходников.
- Ollama — если планируете локальные модели (или любой OpenAI/Anthropic-совместимый API).
Установка и запуск¶
Откройте http://localhost:4300 и введите API-ключ.
Ключ можно не задавать
Если --api-key не указан, synth serve сгенерирует устойчивый локальный
ключ, сохранит его в каталоге данных и напечатает при старте. Именно этот
ключ нужно ввести в UI.
Адрес и порты¶
| Что | По умолчанию | Как изменить |
|---|---|---|
| Адрес UI и API (core) | http://127.0.0.1:4300 |
--port / SYNTH_CORE_PORT, --host / SYNTH_HOST |
| Хост прослушивания | 127.0.0.1 |
--host / SYNTH_HOST |
UI отдаётся вместе с пакетом @itphx/synth-ui и резолвится автоматически —
отдельный веб-сервер поднимать не нужно.
Где хранятся данные¶
Каталог данных задаётся флагом --data-dir или переменной SYNTH_DATA_DIR.
Внутри лежат сессии, проекты, провайдеры, модели, агенты и секреты — ничего не
уходит наружу.
Для локального инстанса удобно использовать локальный home — отдельный
базовый каталог с предсказуемой раскладкой. Он задаётся флагом --home или
переменной SYNTH_HOME:
<home>/
├── config.yaml # настройки инстанса
├── data/ # сессии, проекты, провайдеры, модели
├── profiles.json # реестр известных серверов (для гибрида)
└── credentials.json # сохранённые учётные данные серверов
Независимые инстансы
Разные home-каталоги — это полностью независимые инстансы. Можно держать рядом локальный и гибридный запуски, не смешивая их данные.
Локальные провайдеры¶
Провайдер добавляется через CLI и сохраняется как JSON в каталоге данных:
# Ollama — локальные бесплатные модели
synth config provider add \
--name ollama --type ollama \
--url http://localhost:11434/v1 \
--model qwen3:14b
# Любой OpenAI-совместимый API
synth config provider add \
--name my-openai --type openai \
--url https://api.openai.com/v1 \
--model gpt-4o \
--api-key sk-xxx
Обязательны --name и --type (openai, anthropic, ollama). Посмотреть
список: synth config provider list, удалить: synth config provider delete <name>.
Тот же результат дают переменные окружения вида SYNTH_PROVIDER_<NAME>_*:
export SYNTH_PROVIDER_OLLAMA_URL=http://localhost:11434/v1
export SYNTH_PROVIDER_OLLAMA_MODEL=qwen3:14b
export SYNTH_PROVIDER_OLLAMA_TYPE=ollama
Подробнее — Провайдеры и модели.
Доступ к файлам и shell¶
Рабочий каталог задаётся у проекта. Относительные пути агент разрешает только внутри него, а файловые, shell- и git-инструменты работают напрямую с вашей машиной.
Локальный инстанс доверяет своему пользователю
API-ключ даёт полный доступ к инструментам. По умолчанию сервер слушает
только 127.0.0.1 — не выставляйте его в сеть без необходимости и не
публикуйте ключ.
Что дальше¶
- Docker / Docker Compose — то же самое без Node.js.
- Провайдеры и модели — подключить модели.
- Первый вход — войти и осмотреться.
- CLI — чат и провайдеры из терминала.