Skip to content

Synth 0.12.4

Latest

Choose a tag to compare

@RamazanovDV RamazanovDV released this 28 Oct 19:01

0.12.4 (2026-10-28)

Новые возможности

  • feat(attachments): видео нативно, аудио-в-видео и выбор сообщения
  • feat(mcp): вложения MCP-результата (image/audio/resource)
  • feat(tools): медиа из инструментов — ToolResult.attachments + web_fetch
  • feat(attachments): outbound — send_attachment, stream.done.attachments, раздача по sha
  • feat(pipelines): вложения в прогоне (attachments[])
  • feat(events): вложения внешнего события (attachments[])
  • feat(attachments): тул save_attachment + fs.changed
  • feat(attachments): оригиналы в blob + staging-загрузка без сессии
  • feat(attachments): native → aux-текст → отброс + стоп после role-отказа
  • feat(ui): модели по модальностям в «Мультимодальном вводе»
  • feat(attachments): derive — обработка медиа вспомогательной моделью
  • feat(models): тул list_models — каталог с модальностями для агента
  • feat(attachments): модели обработки по модальностям — конфиг и API
  • feat(processes): detach идущего execute_shell без перезапуска
  • feat(ui): кнопка «В фон» и ctrl+b для идущего прогона
  • feat(background): detach идущего саб-агента в фон (ядро)
  • feat(attachments): тул attach_workspace_file — файл из workspace как вложение
  • feat(ui): админ-раздел «Мультимодальный ввод»
  • feat(attachments): отброшенное вложение не теряется + runtime-API настроек
  • feat(settings): runtime-настройки мультимодального ввода в слое конфигурации
  • feat(ui): «Вмешаться» — иконочный тумблер вместо трёх режимов отправки
  • feat(attachments): метрики и перенос вложений в экспорте проекта
  • feat(driver,chart): импорт core сужен до FileBlobStore, опция отдельного блоб-тома
  • feat(storage): contextFiles в SQL, порт skills подключён к домену
  • feat(pipelines): артефакты прогонов в blob-порте
  • feat(ui): вложения в отправленном сообщении
  • feat(llm): вложения доходят до провайдеров, gateway не логирует base64
  • feat(storage): skills — метаданные в SQL, содержимое в blobs, порт без путей
  • feat(attachments): сервис, HTTP-контур, blob-root, GC и ссылки
  • feat(storage): packs и legacy pipelines в PostgreSQL
  • feat(storage): blob-подложка stat/readStream, учёт ссылок blobRefs, медиа-части, модальности
  • feat(ui): вложения в композере и отправке
  • feat(ui): store и компоненты вложений композера
  • feat(ui): подготовка вложений — HEIC→JPEG, office→текст+картинки, группы
  • feat(ui): утилиты подготовки вложений (accept/mime, извлечение office, large-text-paste)
  • feat(worktree): sweep осиротевших записей при старте
  • feat(ui): worktrees — инвентарь, привязка, индикатор, скрытие в дереве
  • feat(worktree): тулы git_worktree_*, HTTP-контур и событие (этап 1.4)
  • feat(worktree): per-session cwd — привязка, резолв, containment (этап 1.4)
  • feat(worktree): WorktreeService — git-операции, lifecycle, детект secondary
  • feat(storage): порт WorktreeRepository и три backend'а (этап 1.4)
  • feat: метрики synth_executor_* (ADR-094) на обеих сторонах
  • feat: SSH-ключи доставляются исполнителю на время вызова (протокол 4), CA — конфигурация
  • feat(question): таймер обратного отсчёта в доке
  • feat(question): таймаут-опция, уведомление и сворачиваемый док с подтверждением
  • feat(ui): карточка фона в системном блоке, уведомления, компактные кнопки
  • feat(tools,background): реестр для агента, модель саб-агента, стартовые события
  • feat(execution): фоновые процессы в remote и устойчивый контракт
  • feat(steering): инъекции в дочернюю сессию саб-агента (ADR-104)
  • feat(executor): фоновые процессы и протокол v3 (ADR-077 шаг 7c)
  • feat(ui): вкладка «Процессы» в правой панели
  • feat(ui): док вопроса агента над композером
  • feat(api): HTTP-контур реестра фоновых прогонов
  • feat(processes): фоновые процессы и execute_shell background
  • feat(execution): фоновый spawn в порту и append в BlobStore
  • feat(background): фоновые саб-агенты и отчёт по лимиту шагов
  • feat(engine): вопрос пользователю посреди хода (этап 1, блок 3)
  • feat(storage): контракты и порты вопросов и реестра фонов
  • feat: тулы автоматизации (пайплайны, расписания) и управление памятью проекта
  • feat(charts): Grafana-дашборд «Synth — Память»
  • feat(ui): вкладка «Память» в правой панели
  • feat(plugin-memory): телеметрия recall и memory_search
  • feat(memory): GET /sessions/:id/memory для вкладки «Память»
  • feat(metrics): память в контексте и recall
  • feat(plugin-memory): не индексировать каталоги и файлы секретов
  • feat(ui): область индекса в разделе «Память»
  • feat(cli): --scope для индексов памяти
  • feat(memory): scope индекса в портале
  • feat(plugin-memory): общий (инстансный) индекс и слияние recall
  • feat(memory): область видимости индекса в слое хранения
  • feat(cli): synth memory — клиент портала памяти
  • feat(ui): цель pipeline в редакторе расписаний
  • feat(memory): проектная авторизация портала памяти
  • feat(scheduler): запуск прогона пайплайна по расписанию
  • feat(ui): SVG-визуализация графа памяти
  • feat(prompt): слой plugin.tools в манифесте промпта
  • feat(metrics): synth_memory_index_chunks — объём корпуса по состояниям
  • feat(pipelines): встроенный шаблон «Память: консолидация сессии» (М4b)
  • feat(ui): раздел «Граф» в админке памяти
  • feat(memory): портал — чтение графа памяти
  • feat(memory-plugin): граф сущностей без LLM
  • feat(ui): консолидация фактов в разделе «Память»
  • feat(memory): портал — консолидация фактов
  • feat(memory-plugin): консолидация фактов — дедуп по эмбеддингам
  • feat(ui): операции с индексами памяти в админ-разделе
  • feat(memory): мутации индексов в портале через админ-тул плагина
  • feat(memory-plugin): ванильный RAG — чанкер, эмбеддинги, поколения, гибридный поиск
  • feat(dev): плагин памяти ставится и активируется в dev автоматически
  • feat(memory): плагин памяти, порты хранения, сервисы фасада и портал (М0–М1)
  • feat(plugins): чтение журнала действий плагинов — API и раздел в UI (ADR-090)
  • feat(ui): раздел «Доступы» — OAuth-коннекторы, маска и переавторизация (ADR-105 Ф4)
  • feat(webhooks): ротация signing-секретов в synth secrets rotate
  • feat(ui): раздел «Полномочия» — политика Authority read-only (ADR-106 Ф5)
  • feat(oauth): ротация мастер-ключа для внешних доступов (ADR-105 Ф4)
  • feat(plugins): подтверждение установки привязано к content-hash, срок 24 ч, выдаёт ADMIN (ADR-090)
  • feat(storage-postgres): порты Authority-слоя (ADR-106 Ф5)
  • feat(oauth): append-only журнал credential-операций (ADR-105 Ф4)
  • feat(authority): активация контента provides.authority в политику инстанса (ADR-106 Ф5)
  • feat(oauth): HTTP-контур внешних доступов — createOAuthRoutes и монтирование (ADR-105 Ф4)
  • feat(authority): одобрение по существу — сводка ролей/действий/целей пакета (ADR-106 Ф5)
  • feat(authority): режим сессии как потолок — yolo не снимает ask другого участника (ADR-106 Ф4)
  • feat(authority): потолок хода считается один раз и не поднимается другим участником (ADR-106 Ф4)
  • feat(authority): участники сессии — аддитивное поле и вывод из проекта (ADR-106 Ф4)
  • feat(plugins): Ф7 — UI и документация гибридного режима плагинов (PROP-090)
  • feat(authority): принципал хода фиксируется при приёме ввода (ADR-106 Ф4)
  • feat(plugins): Ф7 — discovery политики и привязка plugin_id (сервер)
  • feat(plugins): Ф7 — серверная политика гибрида и plugin-bound токены (PROP-090)
  • feat(mcp): права на привязку внешнего доступа к коннектору (ADR-105 Ф3)
  • feat(oauth): каталог OAuth-провайдеров из конфига (ADR-105 Ф3)
  • feat(mcp): 400 на plaintext-секрет в API реестра и probe (ADR-105 Ф3)
  • feat(steering): единый контракт режима в гибриде — mode доезжает до remote, mode_applied в ack (ADR-104 этап 3)
  • feat(mcp): запрет plaintext-секретов в реестре и миграция в доступ (ADR-105 Ф3)
  • feat(core): ADR-105 Ф3 — access-токен доступа в MCP-транспорте
  • feat(steering): приоритет инъекций — interrupt раньше steer, внутри класса FIFO (ADR-104 этап 3, A)
  • feat(authority): подтверждения, привязанные к принципалу и ходу (PROP-108 Ф3)
  • feat(ui): режим interrupt и маркер прерванного хода (PROP-098)
  • feat(authority): принуждение решений в permission-слое (PROP-108 Ф2)
  • feat(steering): режим interrupt в API и очереди (PROP-098 этап 2)
  • feat(oauth): клиент PKCE/refresh/revoke через egress (PROP-107 Ф2)
  • feat(steering): прерывание генерации без завершения хода (PROP-098 этап 2)
  • feat(ui): селектор режима отправки при активном ходе (PROP-098)
  • feat(authority): метрики решений Authority-слоя (PROP-108 Ф1)
  • feat(storage-postgres): порт внешних доступов (PROP-107 Ф1)
  • feat(authority): shadow-интеграция Authority-слоя (PROP-108 Ф1)
  • feat(steering): маркер вмешательства в ленте и проброс mode в UI
  • feat(authority): резолвер решений (PROP-108 Ф1)
  • feat(steering): оркестратор вплетает инъекции на границе шага (persist metadata.steer, событие message.injected)
  • feat(steering): режим mode в POST /sessions/:id/prompt — steer в очередь инъекций, interrupt с понятной 400
  • feat(authority): контракты Authority-слоя и порт политики (PROP-108 Ф0)
  • feat(core): порт внешних доступов подключён к слою хранения (PROP-107 Ф1)
  • feat(plugins): Ф6 — UI-раздел «Плагины» в админ-панели (PROP-090)
  • feat(plugins): Ф5в — managed deploy-time и неприкосновенность management-плагинов (PROP-090)
  • feat(plugins): Ф4б-3 — точка tools по протоколу и suite на удалённой реализации (PROP-090)
  • feat(plugins): Ф4б-2 — процесс удалённого плагина, токен-файл, выбор транспорта (PROP-090)
  • feat(plugins): Ф4б-1 — wire-протокол и remote-загрузчик (PROP-090)
  • feat(plugins): Д2 — update и rollback версий плагина (PROP-090)
  • feat(plugins): Д1 — источники установки: локальный .tgz и npm (PROP-090)
  • feat(plugins): Ф5б-3 — CLI synth plugin *, byte-copy ассетов, чистка версий
  • feat(plugins): Ф5б-2 — HTTP API плагинов и RBAC-матрица (PROP-090)
  • feat(plugins): Ф5б-1 — PluginRuntime, старт-активация и общий реестр блоков (PROP-090)
  • feat(plugins): Ф5а — сервис установки плагинов (PROP-090)
  • feat(plugins): Ф4а — inline-загрузчик кода плагина (PROP-090)
  • feat(plugins): Ф3в — точка tools и контрактный suite расширений (PROP-090)
  • feat(plugins): Ф3б — точка расширения llmFilters и эмбеддинги через gateway (PROP-090)
  • feat(plugins): Ф3а — точка расширения promptBlocks (PROP-090)
  • feat(chart): привязка клиента для Service UI (ADR-077)
  • feat(plugins): Ф2 — модель доверия плагинов (PROP-090)
  • feat(chart): привязка клиента для Service пула исполнителей (ADR-077)
  • feat(plugins): Ф1 — PluginHost и журнал аудита плагинов (PROP-090)
  • feat(plugins): Ф0 — предпосылки слоя плагинов (PROP-090)
  • feat: managed-backend получает MCP-инструменты исполнителя через дескриптор порта (ADR-077)
  • feat: control plane берёт MCP-инструменты из пула исполнителей (ADR-077)
  • feat: исполнитель хостит MCP-серверы (Playwright проверен в контейнере, ADR-077)
  • feat: доступность инструментов определяется составом пула исполнителей (ADR-077)
  • feat(chart): sticky-сессии для Service control plane (несколько реплик backend)
  • feat(catalog): добавить в контракт индекса metadata.sources и путь вендоренного контента
  • feat(catalog): контракт формата индекса каталога расширений (format:1)
  • feat: пул исполнителей в Helm-чарте (PROP-077, шаг 7c)
  • feat: образы исполнителей и debian-ветка flavor'ов browser/full (PROP-082, шаг 5)
  • feat(ui): английские тексты для execution.remote_url_required и execution.remote_unavailable
  • feat(ui): атрибуция React Flow скрыта в визуальном редакторе
  • feat: подключение удалённого исполнителя в core и backend (PROP-077, шаг 7b)
  • feat: пакет @itphx/synth-executor — исполнитель и exec-API (PROP-077, шаг 7a)
  • feat: flavor-образы dev и devops с toolchain (PROP-082, шаг 4)
  • feat(ui): визуальный редактор пайплайнов на React Flow
  • feat: секция execution в конфиге — переключатель топологии исполнения (PROP-077, шаг 3)
  • feat(ui): вкладка «Пайплайны», страницы пайплайна и прогона, HITL-действия
  • feat: мультистадийный образ all-in-one с flavor core (PROP-082, шаг 2)
  • feat(storage-postgres): провенанс установки пайплайна (миграция 005)
  • feat(pipelines): HTTP-API пайплайнов, права и проектная привязка
  • feat(backend): сборка движка пайплайнов в managed-режиме
  • feat(pipelines): события, метрики и выходы пайплайнов
  • feat(pipelines): Tool-Use-цикл агентского шага, гейт ask → HITL
  • feat(pipelines): каркас агентского шага — промпт, модель, локальная история
  • feat(pipelines): permission-обёртка, исполнители tool/script/human, HITL-гейт
  • feat(pipelines): контекст шага и сужение контракта Composer
  • feat(pipelines): движок пайплайнов — планировщик, условия, журнал
  • feat(storage): порты пайплайнов, прогонов и журнала выполнения
  • feat(pipelines): контракты движка пайплайнов в shared
  • feat(ui): раздел «Аддоны» — пакеты расширений и пайплайны
  • feat(pipelines): учёт экземпляров пайплайна в funnel + payload в общем контракте
  • feat(packs): API пайплайнов и установка пакета расширения
  • feat(scope): automation:install и ссылка на шаг пайплайна в цели маршрута
  • feat(storage): порты пайплайнов и реестра установок пакетов
  • feat(agents): доставка роли агента извне — rolePrompt в теле и groups
  • feat(pack): контракты манифеста synth.pack и пайплайна в shared
  • chore: bump version to v0.11.4
  • feat(agents): встроенный агент publisher + иконка newspaper и правка ролевого промпта
  • feat(ci): событие релиза для synth-media — джоба media-event

Исправления

  • fix(executor): не терять хвост журнала при чтении сразу после закрытия процесса
  • fix(executor): stop и таймаут гасят группу процессов, а не только оболочку
  • fix(attachments): видео-транскрипт через временный файл вместо буфера
  • fix(attachments): убрать audio-as-video, транскрипт дорожки видео
  • fix(storage-postgres): getAudioAsVideoNote в PG-порте контекста
  • fix(video): allowlist video/ и извлечение кадров из MP4
  • fix(events): Telegram-сообщение без текста — маркер, не JSON
  • fix(multimodal): Ollama images и attach_workspace_file в текущем ходе
  • fix(context): отключение user-реплики выключает весь её ход
  • fix(multimodal): аудио из Telegram — media-only без JSON, aux-модель и транспортные форматы
  • fix(providers): PDF — file-блок у OpenAI-типа и pdf в модальностях Anthropic-типа
  • fix(providers): Anthropic читает модальности каталога, провайдеры не фильтруют вложения повторно
  • fix(ui,core): стрим и финал считают «Размышления» одинаково
  • fix(ui,core): части сообщения в live-событиях — миниатюра вложения без перезагрузки
  • fix(llm): модальности модели — из каталога провайдера, а не по грубому префиксу
  • fix(attachments): маркер вложения в композере и возврат вложений при повторе
  • fix(wiring): артефакты прогонов в managed, blobs в оркестратор через инъекцию
  • fix(ui): кнопка вложения идёт через подготовку файлов (HEIC/office)
  • fix(worktree): id в ответе тула, action в событии, prune-схема, гонка PATCH
  • fix(question): уточнить в схеме, что timeout — параметр верхнего уровня
  • fix(background): processId в PostgreSQL и timeoutMs=0 в spawn
  • fix(background): одно уведомление и системный блок вместо user-пузыря
  • fix(background): гейт background.enabled для shell и событие process.stopped
  • fix(question,background): свободный ответ и отказ фона без побочных эффектов
  • fix(memory): политика секретов — модуль ядра (дополнение к f869655)
  • fix(memory): фингерпринт индекса — фактическая модель эмбеддингов хоста
  • fix(memory): политика секретов — в ядре, а не в бандле плагина
  • fix(plugins): подтверждение установки учитывается при активации (ADR-090 п. 9)
  • fix(security): подавление ложных срабатываний secret-scan на dummy-фикстуры внешних доступов (ADR-105/106)
  • fix(security): подавление ложных срабатываний secret-scan на dummy-фикстурах внешних доступов (ADR-105)
  • fix(egress): секретные заголовки не уходят на redirect-хост (PROP-107 §7)
  • fix(ui): единый контракт onSend для команды и отправки (PROP-098)
  • fix(storage-postgres): переименование константы миграции 012 после слияния
  • fix(storage): конфликт импортов storage-context после слияния PROP-107/108
  • fix(steering): типизация теста HTTP-контура промпта — без lint-предупреждений (PROP-098)
  • fix(sdk): форма входа промпта — поле mode необязательное (PROP-098)
  • fix(shared): ожидание дефолтов plugins дополнено ключами Ф5в (deployDir/deployTrust/managedReadonly)
  • fix(plugins): относительный identifier не делает плагин управляемым (Ф5в)
  • fix(plugins): путь deploy-плагинов не должен задаваться ENV в образе (PROP-090, Ф5в)
  • fix(plugins): контрактный suite расширений не должен попадать в прод-бандл
  • fix(plugins): Д3 — живые бюджеты и неработавший promptBlockMaxChars
  • fix(ui): адрес backend'а в образе UI задаётся окружением, по умолчанию — свой релиз (ADR-077)
  • fix: сервер исполнителя в состоянии idle активируется, а не считается недоступным (ADR-077)
  • fix: discovery MCP и детект зависимостей восстанавливаются после гонки раскатки (ADR-077)
  • fix(docker): пакет исполнителя в образе control plane + вложенные dist вне контекста сборки
  • fix(docs): убрать дубли идентификаторов после переноса PROP в ADR
  • fix: версия пакета @itphx/synth-executor синхронизирована с остальными
  • fix(ui): переключение вкладок пайплайнов не показывает stale-состояние
  • fix(pipelines): создание пайплайна из UI — 400 «Некорректное тело пайплайна»
  • fix(ci): убран дубль ключа if-no-files-found в загрузке offline-образов
  • fix(test): устранено зависание afterEach в прокси-тестах
  • fix(chart): триггер раскатки по номеру сборки + scope установщику
  • fix(agents): реестр не видел runtime-агентов при storage.backend=postgres
  • fix(mcp): fail-open в сетевой политике — одиночный IP-правило не срабатывало
  • fix(egress): egressFetch терял заголовки ответа — HTTP-MCP не работал ни с одним сервером

Прочее

  • docs(security): учесть в записи аудита второе изменение CI (квота артефактов)
  • docs(security): запись аудита 0.12.4 — коммит аудита d400779 и прогон 1946544
  • chore: bump version to v0.12.4
  • docs(security): запись аудита 0.12.4 — коммит аудита dfc5c8c и зелёный прогон 1945567
  • chore(tasks): журнал — релиз 0.12.4 (аудит, зелёный CI, запись аудита)
  • docs(security): запись внутреннего аудита 0.12.4 вместо 0.13.0
  • chore(deps): body-parser 2.4.0 и транзитивные патчи в пределах semver
  • docs: согласовать статусы ADR/PROP и горизонт 0.12.4
  • docs(api): задокументировать 415 attachments_disabled
  • docs(adr-115): видео — только derive кадрами, не нативный путь
  • chore(ui): память и мультимодальный ввод — в группу AI
  • docs(agents): актуализация инструкций под мультимодальность, detach и MCP
  • docs(security): аудит 0.13.0 — мультимодальность целиком
  • chore(pipelines): проводка resolveModelModalities/derive в core deps
  • docs(adr): контракт перевода идущего прогона в фон (detach)
  • docs(security): дополнение записи аудита 0.13.0 — настройки вложений и workspace-fallback
  • refactor(attachments): модальности моделей — только из синхронизации каталога
  • docs: режим отправки — SteerToggle вместо SendModeSelector (ADR-104, ui/AGENTS)
  • docs(security): запись аудита 0.13.0 (approved_with_exceptions)
  • chore(deps): patched-версии по аудиту — dompurify, vite, zod 4
  • docs: ADR-115/116 — статус реализации и остатки; этап 1.1 отмечен
  • docs: вложения сообщений, артефакты прогонов, blob-хранилище и новые порты
  • docs: ADR-115/116 — blob-подложка на томе, вложения и состояние инстанса в SQL
  • docs(adr): принятые предложения — терминальный статус и отдельная секция
  • docs: roadmap — статус этапа 1 на 2026-10-27 и выпуск 0.12.3 на test
  • chore: bump version to v0.12.3
  • docs: roadmap — пункт 1.5 закрыт, остаток этапа 1 — только 1.1
  • docs: журнал задач — этап 1.4 (worktrees, per-session cwd)
  • docs: worktrees — API_V2 §5.40, UI в спеке, ADR-114 реализован
  • docs: спека worktrees синхронизирована с реализацией (1.4.2d)
  • docs: ADR-114 — git worktrees и per-session cwd (принятие PROP-049)
  • docs: журнал задач — 5.4; roadmap 1.5 закрыт
  • docs: журнал задач — 5.3 (SSH-секреты, протокол 4)
  • docs: журнал задач — этап 1 (5.1, 5.2)
  • refactor: GitService исполняет git через ExecutionPort, simple-git удалён
  • docs: ADR-077 — актуальный протокол 3, B2 реализован, решения по git/SSH/CA
  • docs: актуализация вопроса и фоновой работы
  • docs(tasks): test 0.12.2-10 — таймер вопроса и схема timeout
  • docs(tasks): test 0.12.2-6 — вопрос, таймаут, док и подтверждение
  • docs(tasks): test 0.12.2-4, remote-фоны, фиксы по e2e
  • docs(tasks): журнал — remote-фоны, steering, ADR-113, 0.12.2
  • chore: версия 0.12.2
  • docs(adr): ADR-113 фоновые процессы, PROP-097 в ADR, статусы roadmap
  • docs(en): переводы вопросов пользователю и фоновых прогонов
  • docs(tasks): журнал этапа 1 — фоны и вопрос пользователю
  • docs: API фоновых прогонов, конфиг background.*, AGENTS
  • docs(adr): ADR-111 фоновые саб-агенты и ADR-112 вопрос пользователю
  • docs: приоритеты релиза 0.13.0 — этапы ядра, доведения и UX
  • docs(tasks): контекст/recall-метрики, вкладка памяти, дашборд
  • docs(tasks): dev-проверка, модели эмбеддингов, политика секретов
  • docs(memory): scope, секреты, модели эмбеддингов и CLI
  • docs(memory): источники, egress и исключения секретов
  • docs(tasks): инстансный индекс памяти
  • docs(tasks): журнал — расписание→пайплайн, synth memory, ACL портала
  • docs(api): цель pipeline в расписаниях и ACL портала памяти
  • docs(tasks): финальный выкат 0.12.1-12 на оба инстанса
  • docs(tasks): добит остаток — М4b, plugin.tools, метрики, SVG-граф
  • docs(tasks): финальный выкат test 0.12.1-10 (М5)
  • docs(memory): М5 — граф сущностей и строка API
  • docs(tasks): деплой test 0.12.1-8 и открытая политика caution
  • refactor(memory-plugin): свой мини-валидатор вместо zod — бандл scan-safe
  • docs(ui): консолидация фактов в разделе «Память»
  • docs(memory): М4a — консолидация в портале и UI
  • docs(memory): статусы М1–М2, инструкции и журнал
  • chore(dev): эмбеддинги памяти — локальная ollama по умолчанию
  • docs(memory): решения М2 — источники, чанкер, эмбеддинги, поколения, гибрид
  • docs: журнал задач — чтение журнала плагинов (API + UI) и перепубликация страницы портала
  • docs: журнал задач — полное закрытие ADR-104/105/106 и сборка 0.12.1-5
  • docs: статусы ADR-104/105 — реализовано, ADR-106 — остаток flavor-роли (roadmap и индекс)
  • docs(oauth): Ф4 закрыта — роуты, журнал, ротация, бэкап (ADR-105)
  • docs(authority): UI «Полномочия» — as-built и ограничения (ADR-106 Ф5)
  • docs(authority): Ф5 закрыта — активация контента, trust-floor, PG-порты (ADR-106)
  • docs: журнал задач — закрыты guard-тест дефолтов и автогенерация схемы каталога
  • docs(plugins): схема записи каталога генерируется автоматически из контракта (ADR-090 п. 9)
  • docs: журнал задач — документация плагинов закрыта; дефолт plugins.deployTrust в CONFIGURATION приведён к коду
  • docs(en): зеркало руководства автора плагина — правка формулировки в тесте
  • docs(en): зеркало руководства автора плагина — правка code span и запись в каталог EN-доков
  • docs(en): зеркало руководства автора плагина — часть 5 (§12–§14, «См. также»)
  • docs(en): зеркало руководства автора плагина — часть 4 (§9–§11)
  • docs(en): зеркало руководства автора плагина — часть 3 (§5–§8)
  • docs(en): зеркало руководства автора плагина — часть 2 (§3–§4)
  • docs(en): зеркало руководства автора плагина — часть 1 (шапка, оглавление, §1–§2)
  • docs(en): зеркала разделов про плагины (API_V2, CONFIGURATION, HYBRID) + указатели в AGENTS.md
  • docs(plugins): приведение статуса и окна deprecation в авторской спеке к факту (ADR-090)
  • docs(arch): PROP-090 принято как ADR-090 — слой плагинов (Ф0–Ф7)
  • docs(oauth): Ф3 закрыта — MCP-биндинг, каталог провайдеров, права (ADR-105)
  • docs(steering): синхронный контракт режима в API_V2 (RU/EN) и статус ADR-104 — этап 3 закрыт, остаток PROP-096
  • docs: журнал задач — деплой 0.12.1-3 в test
  • docs: журнал задач — этап 2/Ф2/Ф3 и перевод PROP в ADR-104/105/106
  • docs(releases): вернуть историческое имя PROP-098 в заметках 0.10.1
  • docs: ссылки PROP-098/107/108 переведены на ADR-104/105/106, конфиг authority и OAuth-секретов
  • docs: PROP-108 переведён в ADR-106, устройство Authority-слоя — docs/AUTHORITY.md
  • docs: PROP-107 переведён в ADR-105, устройство внешних доступов — docs/EXTERNAL_ACCESS.md
  • docs: steering — детали остаются в ADR-104, отдельный spec не нужен
  • docs(authority): Ф2/Ф3 (PROP-108)
  • docs: PROP-098 переведён в ADR-104, устройство steering — docs/STEERING.md
  • docs(steering): этап 2 (PROP-098)
  • docs(oauth): статус Ф2 (PROP-107)
  • docs: статусы PROP-098/107/108 — Ф0+Ф1 реализованы
  • docs: AGENTS.md — Authority-метрики, порт внешних доступов (PROP-107/108)
  • docs: журнал задач — PROP-098/107/108 (Ф0+Ф1) и сборка 0.12.1-2
  • docs(authority): PROP-108 — история Ф0/Ф1 и остаток Ф2–Ф5 (PROP-108)
  • docs(steering): режимы промпта и ограничения этапа (PROP-098)
  • docs: PROP-107 — принятые решения Ф0 и статус этапов (PROP-107 Ф0/Ф1)
  • docs: журнал задач — CI-джоба образов падает на сети раннера (не на коде)
  • docs: PROP-108 — Authority-слой (полномочия пользователей и агентов как контент)
  • docs(plugins): руководство автора плагина + правки по найденным расхождениям
  • docs: журнал задач — деплой слоя плагинов в test и три найденных дефекта
  • docs: журнал задач — dev-проверка слоя плагинов и подготовка деплоя на test
  • chore(security): allowlist secret-scan — тестовые фикстуры токенов и имена env-переменных
  • chore: bump version to v0.12.0 (слой плагинов: Ф0–Ф5, Д1–Д3, Ф4)
  • docs: измеренные ограничения мультиреплики — auth-сессии в памяти, залипание очереди, лимит ×N (ADR-077, PROP-105)
  • docs: журнал — измерения D: cron, привязка, очередь, лимит ×N, auth-сессии в памяти (новый блокер)
  • docs: журнал — подтверждение all-in-one (inline shell + браузерные MCP-тулы), правка UI
  • docs: обновить ссылки на переименованный шаблон nginx-конфига UI
  • docs: журнал — сценарий all-in-one в test, находки по Fleet и жёсткому upstream в UI
  • docs: журнал — раскатка фикса окна первого хода, доказательство в кластере, redirect URI Keycloak
  • docs: журнал — деплой шагов A+B в test, e2e браузерных тулов, найденные дефекты
  • docs: добавлен PROP-107 «OAuth-хранилище и слой доступа к внешним сервисам»
  • docs: журнал — шаги A и B (доступность из пула, MCP в исполнителе), PROP-104/105/106, sticky, all-in-one
  • docs: журнал задач — восстановлен хронологический порядок и ротация (log.4.md)
  • docs: предложения по масштабированию control plane — транспорт событий, координация реплик, файловые порты в SQL
  • docs: журнал задач — деплой исполнителя в test (образ full, RWX-том, remote-режим)
  • docs(arch): слой плагинов (PROP-090) и приведение каталога ADR/PROP в порядок
  • docs: запись в журнал задач о шагах 5–6 и 7c
  • docs: новые скрипты образов, compose-профили и политика реестров в AGENTS.md
  • docs: запись в журнал задач о шагах 4, 7a и 7b
  • docs: восьмой пакет и режим remote в архитектуре и справочниках
  • docs(adr): email-шлюз (ADR-087/ADR-103) — решения по каналу почты и статус ядра
  • docs: ADR-101 закрыт, AGENTS.md и спека приведены в соответствие
  • docs: запись в журнал задач о шагах 1–2 (порт исполнения, flavor core)
  • refactor: порт исполнения ExecutionPort (PROP-077, шаг 1)
  • docs: журнал задач — портал расширений Synth (витрина, каталог, знак, деплой)
  • docs: запись в журнал задач о проработке PROP-077/PROP-082
  • docs: проработаны две топологии развёртывания (split-исполнители и all-in-one)
  • docs(adr): ADR-103 — ядро шлюзов Synth (@itphx/synth-gateway-core) и контракт канала
  • docs(adr): ADR-101 — пайплайн как второй движок рядом с оркестратором
  • docs(release): журнал задач — публикация 0.11.3; правка ссылки на offline-документацию
  • docs: журнал задач — пакеты расширений и пайплайны, полный цикл на test
  • docs(adr): ADR-100 — пакет расширения и пайплайн в ядре
  • refactor(agents): встроенный агент publisher убран из ядра — роль приезжает из пакета
  • docs: журнал задач — политика MCP (fail-open) и CI для synth-media
  • docs: журнал задач — Ingress synth-media (UI для approve)
  • docs: журнал задач — выкатка на test и полный цикл публикации
  • chore: bump version to v0.11.4
  • docs: журнал задач — сквозной цикл AD-089/synth-media на dev
  • docs: журнал задач — AD-089/synth-media (исследование, E, A1, A2, CI, C2)
  • docs: статус ADR-089 — ядро реализовано; PROP-090 отложен (icebox)

Installation

CLI (npm — from npmjs.org or the GitVerse Package Registry):

npm install -g @itphx/synth@0.12.4

Base Docker image from the GitHub Container Registry:

docker pull ghcr.io/itphx/synth:0.12.4
docker run -p 4300:4300 ghcr.io/itphx/synth:0.12.4

The primary image registry is gitverse.ru/itphx/synth:0.12.4;
all three base images (synth, synth-backend, synth-ui) are published to
both gitverse.ru and ghcr.io (version tag only).

Offline / air-gapped

Portable: synth-0.12.4-linux-x64.tar.gz, synth-0.12.4-darwin-x64.tar.gz, synth-0.12.4-darwin-arm64.tar.gz, synth-0.12.4-win-x64.zip.

Images: synth, synth-backend, synth-ui (amd64/arm64, docker save, .tar.gz).

Checksums: SHA256SUMS in the release assets. Documentation: https://docs.synth.itphx.ru/offline/