System Design Space

    Глава 181

    Обновлено: 15 февраля 2026 г. в 23:45

    Dyad: архитектура локального AI app builder

    Прогресс части0/16

    Разбор архитектуры Dyad: multi-process Electron, agent+tool orchestration, template-driven разработка и local-first подход с checkpoint-моделью.

    Источник

    Dyad repository

    Открытый репозиторий локального AI app builder с архитектурными заметками и документацией.

    Открыть репозиторий

    Dyad - локальный AI app builder в формате desktop-приложения. С архитектурной точки зрения он интересен сочетанием local-first подхода, агентной оркестрации и шаблонного проектирования: разработчик управляет intent, а платформа берет на себя системное выполнение изменений и проверок.

    Эта глава собрана по публичным материалам и архитектурным заметкам команды, с фокусом на инженерные паттерны, которые полезно переносить в другие AI-assisted платформы.

    Архитектурные паттерны Dyad

    Electron multi-process

    Main process управляет ОС-функциями, файлами и интеграциями; renderer process отвечает за UI на React.

    • Изоляция ответственности между системным слоем и интерфейсом.
    • IPC-события как шина взаимодействия между процессами.

    Agent + Tool orchestration

    LLM генерирует не только код, но и структурированные tool-вызовы, которые Dyad интерпретирует и применяет.

    • Паттерн ReAct: reasoning + action в одном цикле.
    • Контролируемое выполнение действий модели через ограниченный набор инструментов.

    Local-first execution

    Код и рабочие артефакты остаются на машине пользователя, что снижает latency и упрощает приватность.

    • Нет обязательного cloud-runtime для ядра продукта.
    • Легче встроить в существующий workflow разработчика и IDE.

    Template + Rules

    Шаблоны проекта и AI_RULES.md задают рамки генерации кода и технологические ограничения.

    • Быстрый старт через scaffold, а не с пустого листа.
    • Политики генерации задаются декларативно на уровне шаблона.

    Versioned checkpoints

    Изменения в коде и БД можно откатывать через checkpoint-подход (в том числе через branching для Postgres).

    • Undo/redo становится инфраструктурной возможностью, а не ручной процедурой.
    • Эксперименты с AI-изменениями становятся безопаснее.

    Визуализация архитектуры приложения

    Local-first execution pathintentvalidated IPCtool commandspatch + checksprovider callsresponsesRenderer UIReact + chat + previewPreload + IPC Bridgesecure message boundaryMain Process Orchestratorworkflow coordinationTool Executorpatch/apply/checkpointWorkspace + Git Statefiles, templates, rulesLLM / Data Integrationsproviders + external APIs

    Смысл слоя

    UI-слой принимает intent пользователя, показывает diff и результат изменений без прямого доступа к системным API.

    Операционный фокус

    Держать отклик интерфейса быстрым и не блокировать UI долгими операциями.

    Типичная ошибка

    Смешивать UI-логику с файловыми операциями и сетевыми вызовами провайдеров.

    Ключевые модули репозитория

    Core app

    src + worker + preload: UI, main-process и фоновые задачи (например, тяжёлые проверки/сборка).

    Reusable packages

    packages/@dyad-sh: переиспользуемые SDK/утилиты для AI-провайдеров, общих типов и интеграций.

    Scaffold and templates

    scaffold + templates: стартовые структуры приложений с правилами генерации (AI_RULES.md).

    Quality and delivery

    testing + e2e-tests + scripts: unit/integration/e2e проверки, сборка через Electron Forge, CI-автоматизация.

    Как проходит изменение в Dyad

    Flow изменений в Dyad

    От пользовательского intent до checkpoint и контролируемого отката
    Intent
    Planning
    Execution
    Safety
    01

    Prompt и intent

    Пользователь формулирует изменение: новая фича, правка UI или обновление логики.

    02

    Сбор контекста

    Dyad подбирает релевантные файлы проекта, шаблон и правила генерации.

    03

    Agent plan + tool calls

    LLM строит план и возвращает структурированные tool-вызовы для платформы.

    04

    Применение изменений

    Main-process исполняет действия: патчи, проверки, обновление preview.

    05

    Checkpoint и rollback

    Состояние фиксируется как checkpoint, чтобы можно было безопасно откатить регрессию.

    Нажмите «Запуск», чтобы пройти весь цикл изменения в Dyad пошагово.

    Инженерные сильные стороны

    • Local-first execution с минимальным vendor lock-in по данным проекта.
    • Явные tool boundaries уменьшают хаотичное исполнение действий моделью.
    • Template-driven подход ускоряет старт и повышает повторяемость генерации.

    Сборка, тесты и качество

    • Electron Forge + Vite для локальной разработки и упаковки desktop-сборок.
    • Playwright для e2e, Vitest для unit/integration тестов.
    • Husky и lint-staged для pre-commit проверок стиля и качества.
    • Разделение OSS и Pro-модулей снижает риски смешивания лицензий.

    Практический чеклист

    • Фиксируйте boundaries между UI, оркестрацией агента и FS-операциями до добавления новых инструментов.
    • Сначала проектируйте rollback/checkpoint, и только потом расширяйте автоматизацию действий агента.
    • Держите шаблоны и AI_RULES в одном lifecycle с продуктом: версия шаблона = версия ожиданий от генерации.
    • Покрывайте e2e-сценариями весь путь prompt -> patch -> preview для критичных пользовательских сценариев.
    • Для Pro/OSS модулей поддерживайте строгий контракт интеграции, чтобы не ломать open-source ядро.

    Материалы и связанные главы

    Из соседних глав: Lovable, ML-платформа в Т-Банке и AI Engineering.