Карта кода

Каждая папка src/ и что в ней. Как части работают вместе: Устройство приложения.

src/main: главный процесс

Папка или файлЧто там
index.tsЗапуск: один экземпляр, папка профиля, журнал, база, окно, ключи Chromium.
ipc.ts, ipc/Обработчики IPC по группам: engineIpc, agentIpc, knowledgeIpc, diagnosticsIpc, aboutIpc; guard.ts проверяет каждого отправителя.
commands/Движок команд: commit.ts (применение, ходы, проекция), graphOps.ts, innerEdits.ts (правки внутри субграфа), placement.ts, history.ts (прореживание).
agent/Один ход помощника (turn.ts), его запрос, инструменты чтения (tools.ts), инструменты сборки (buildTools.ts), поиск и чтение страниц (web.ts), история разговора.
llmService.ts, llm/Вызовы модели через AI SDK; свои серверы: списки моделей, поиск серверов, окно контекста загруженной модели.
mcp/Клиент MCP, синхронизация (sync.ts), проверка «только чтение» (readOnly.ts), вход OAuth, файл токена.
comfy/Чтение /object_info и /system_stats прямо из ComfyUI.
catalog/, knowledge/Каталог в базе; объяснения, проверка графа, метаданные моделей, поиск моделей в интернете, превью.
proposals/Черновики помощника (серые ноды и связи) и их устаревание.
settings/Миграции, страховочные копии базы, ключи (keyFile.ts, проверки шифрования), выбор хранилища паролей, «забыть всё».
trace/Журнал общения с моделью.
files/Атомарная запись файлов.
log.ts, crash.ts, diagnostics.tsЖурнал со скрытием секретов, обработка ошибок, диагностика для копирования.
identity.tsИмена приложения, адрес проекта и user agent.
cli.ts--version и --help.

src/preload

index.ts: объект window.electronAPI и его тип ElectronAPI. В нём своя копия имён каналов: preload в песочнице не может импортировать другие файлы.

src/renderer: окно

ПапкаЧто там
components/graph/Холст: ноды, порты, связи, слои (описания, сборка, экскурсия), контекстное меню, поиск нод, свойства.
components/chat/Панель помощника и её карточка сборки.
components/library/Библиотека нод, моделей и субграфов, карточки нод и моделей.
components/lessons/Панель уроков.
components/explain/, components/check/Вкладки объяснения и проверки.
components/settings/Окно настроек, по файлу на раздел.
components/shell/Строка меню, панель инструментов, строка состояния, диалоги, «О программе», окно справки.
components/sync/, components/log/, components/fields/Индикатор синхронизации, окно журнала общения, элементы полей.
commands/Реестр команд (appCommands.ts), сочетания клавиш, действия.
services/Разговор с main: команды и проекция, чат, справка, диагностика.
state/Хранилища Zustand: граф, чат, интерфейс, настройки, уроки, предложения, отмена.
ui/Дизайн-система: кнопки, диалоги, поля, уведомления (см. src/renderer/ui/README.md).
theme/, motion/Цветовые токены, таблица контраста, политика анимации.

src/shared: общее

ПапкаЧто там
commands/Схемы команд и их содержимого, описания инструментов, общие с renderer.
workflow/codec.tsЧтение и запись workflow ComfyUI без потерь.
graph/Порты, типы связей, совместимость, раскладка, субграфы.
catalog/Разбор object_info, описания полей, какой загрузчик читает какую папку моделей.
knowledge/Встроенные знания (coreKnowledge.*.ts), семейства и виды моделей, поиск.
lessons/Уроки и их тексты.
agent/Что видит помощник: сводки графа, последние действия, лимиты, скрытие секретов, виды ошибок.
config/Схемы настроек, правила для ключей, выбор хранилища паролей.
contracts/Типы вызовов IPC, общие для main, preload и renderer.
i18n/Каталог текстов на английском и русском.
help/Идентификаторы контекстной справки.
ipc-channels.tsИмена каналов.

Вокруг src

ПутьЧто там
tests/unit, tests/integration, tests/e2e, tests/corpusТесты: Тесты.
scripts/Сборка ресурсов, список изменений, проверки пакета, значки, снимки экрана, публичная копия.
resources/Значки и шаблон ярлыка.
docs/wiki/Эта вики; входит в «Справку» приложения.
docs/releases/Заметки к выпускам, по файлу на версию и язык.
forge.config.jsУпаковка: сборщик .deb и предохранители Electron.

См. также

Страница перенесена из wiki репозитория приложения (docs/wiki/dev/Code-Map.ru.md, ревизия b8e3f71). То же руководство встроено в приложение: «Справка ▸ Руководство».

Чтобы обновить её, выполните npm run import, а затем npm run build в папке сайта.