# Использование Wizard Desktop [Бета-версия](https://docs.getdbt.tech/docs/dbt-versions/product-lifecycles "Подробнее о статусе или тарифе")

Локальная разработка

Познакомьтесь с интерфейсом Wizard Desktop и узнайте, как работать в сеансе с dbt Wizard — с наглядными визуализациями данных, сравнением данных, графом зависимостей и другими возможностями прямо в приложении. Начните с раздела [Начало работы](https://docs.getdbt.tech/docs/dbt-ai/wizard-desktop.md).

Эта страница поможет вам сориентироваться в приложении: где что находится, как устроен сеанс, что делать, когда dbt Wizard предлагает изменение, и как он творит свою магию.

## Обзор приложения

Когда вы открываете Wizard Desktop, всё необходимое находится в одном окне: слева — проекты и сеансы, посередине — чат, а справа — панели с вашим проектом, графом зависимостей, изменениями и результатами в виде диаграмм и таблиц.

[![Новый сеанс с боковой панелью, полем ввода сообщения и панелью Explorer](/img/wizard/desktop/wizard-desktop-ui.png?v=2 "Новый сеанс с боковой панелью, полем ввода сообщения и панелью Explorer")](#)Новый сеанс с боковой панелью, полем ввода сообщения и панелью Explorer

[![Тот же интерфейс во время выполнения задачи: диаграмма в чате и результаты валидации на боковой панели](/img/wizard/desktop/wizard-desktop-validation.png?v=2 "Тот же интерфейс во время выполнения задачи: диаграмма в чате и результаты валидации на боковой панели")](#)Тот же интерфейс во время выполнения задачи: диаграмма в чате и результаты валидации на боковой панели

| Элемент интерфейса              | Назначение                                                                                                                                                                                                                                                             |
| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Боковая панель (слева)          | **+ New** запускает сеанс. В разделе **Pinned** закреплённые чаты и окружения остаются наверху; их порядок можно менять. **Projects** содержит список проектов и сеансов в каждом из них, **Chats** — беседы, не привязанные к проекту, а **Settings** находится внизу |
| Заголовок сеанса                | Название сеанса, рабочая ветка и меню **Open in** для перехода к той же ветке в Finder, VS Code, Cursor, iTerm или Terminal                                                                                                                                            |
| Область чата (посередине)       | Ваша беседа. Здесь отображаются ответы, диаграммы, таблицы и различия                                                                                                                                                                                                  |
| Панель навигации Wayfinder      | Над полем ввода сообщения: проект, ветка, подключение · окружение, а также **Validation** и **Create PR**                                                                                                                                                              |
| Поле ввода сообщения            | Место для ваших запросов. Нажмите `⌘` + `L`, чтобы перейти к нему. **+** позволяет прикреплять файлы, а два списка выбора задают режим разрешений и модель ИИ                                                                                                          |
| Боковая панель (справа)         | Открытая вами панель, под которой расположен терминал. В Explorer можно редактировать текстовые файлы                                                                                                                                                                  |
| Панель значков (крайняя справа) | Переключение между панелями: Explorer, Lineage, Changes, Queries, Commands, Validation, Summary, CI checks, Metrics и Insights. Значок уведомления означает, что что-то требует внимания                                                                               |

Чтобы изменить или удалить проект, наведите указатель на его название в боковой панели и выберите меню с многоточием (**⋮**) → **Project settings** или **Remove project**.

[![Меню с многоточием в строке проекта с пунктами Project settings и Remove project](/img/wizard/desktop/wizard-desktop-project-settings.png?v=2 "Меню с многоточием в строке проекта с пунктами Project settings и Remove project")](#)Меню с многоточием в строке проекта с пунктами Project settings и Remove project

### Использование панелей

Выберите значок в правой панели значков, чтобы открыть соответствующую панель сбоку:

| Панель     | Содержимое                                                                                                                                                                                                                                                                                                                              |
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Summary    | Сводка о работе в этом чате                                                                                                                                                                                                                                                                                                             |
| Changes    | Различия, ожидающие проверки                                                                                                                                                                                                                                                                                                            |
| Validation | План валидации и его результаты: что прошло проверку, что не прошло и что требует внимания. См. раздел [Валидация](#validation)                                                                                                                                                                                                         |
| Explorer   | Просматривайте и редактируйте файлы проекта здесь или нажимая на пути к файлам в чате. Сохраняйте изменения с помощью Save или `Cmd`/`Ctrl` + `S`. Правки остаются изолированными в окружении чата, несохранённые черновики сохраняются при переходе в другое место или перезапуске, а изменения, внесённые извне, не перезаписываются. |
| Lineage    | Связи между вашими моделями dbt                                                                                                                                                                                                                                                                                                         |
| Queries    | Написание и выполнение произвольных SQL-запросов через ваше подключение. См. раздел [Исследование данных](#explore-your-data)                                                                                                                                                                                                           |
| Commands   | Запросы, которые запускаете вы, и команды, которые выполняет dbt Wizard, в рамках этого чата                                                                                                                                                                                                                                            |
| CI checks  | Проверки CI, запущенные dbt Wizard, и их результаты                                                                                                                                                                                                                                                                                     |
| Insights   | Анализ проекта и данных                                                                                                                                                                                                                                                                                                                 |
| Metrics    | Метрики вашего проекта                                                                                                                                                                                                                                                                                                                  |
| Terminal   | Выполнение команд без выхода из приложения. Расположен под открытой панелью                                                                                                                                                                                                                                                             |

[![Выберите значок в правой панели значков, чтобы открыть соответствующую панель сбоку](/img/wizard/desktop/wizard-desktop-right-pane.png?v=2 "Выберите значок в правой панели значков, чтобы открыть соответствующую панель сбоку")](#)Выберите значок в правой панели значков, чтобы открыть соответствующую панель сбоку

Предпочитаете свой редактор? Выберите **Open in**, чтобы открыть dbt Wizard и вашу ветку в Finder, VS Code, Cursor, iTerm или Terminal либо скопировать путь к файлу.

## Запуск сеанса

Задайте эти параметры в области ввода запроса перед отправкой первого сообщения. Модель ИИ и режим разрешений можно менять во время сеанса; остальные параметры задаются для всего чата.

| Параметр                 | Назначение                                                                                                                                                                                                                                        |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Project                  | Проект dbt, в котором работает dbt Wizard. Приложение находит проекты в репозиториях Git в вашей домашней папке; вы также можете добавить папку самостоятельно. Добавлять проект необязательно: dbt Wizard может работать с несколькими проектами |
| Connection · environment | Подключение к хранилищу данных и окружение для выполнения, например `default · dev`. Берётся из вашего локального файла [`profiles.yml`](https://docs.getdbt.tech/docs/local/profiles.yml.md)                                                    |
| Schema suffix            | Добавляется к target schema, чтобы результаты сборки в этом чате записывались в отдельные таблицы. См. раздел [Суффикс схемы](#schema-suffix)                                                                                                     |
| AI model                 | Модель ИИ и глубина её рассуждений. Подробнее см. в разделе [dbt управляемое подключение инференс](https://docs.getdbt.tech/docs/dbt-ai/pricing-billing/overview.md#dbt-managed-providers).                                                      |
| Permission mode          | Какие действия dbt Wizard выполняет без вашего подтверждения. См. раздел [Режимы разрешений](#permission-modes)                                                                                                                                   |

Опишите задачу, нажмите **Enter** — и работа начнётся. Каждый чат сохраняет собственный контекст, ветку и изменения.

Для начала работы необязательно выбирать проект. Пропустите этот шаг, и dbt Wizard сможет работать с несколькими вашими проектами. Это удобно, если вопрос затрагивает несколько проектов или вы ещё не знаете, в каком из них искать ответ. Беседы без привязки к проекту находятся в разделе **Chats** на боковой панели.

### Режимы разрешений

Выберите режим в списке рядом с кнопкой отправки. Переключать его можно в любой момент, даже во время выполнения.

| Режим            | Что делает dbt Wizard                                                                           |
| ---------------- | ----------------------------------------------------------------------------------------------- |
| Plan changes     | Изучает проект и описывает, что планирует сделать. Ничего не редактируется                      |
| Ask for approval | Сначала запрашивает подтверждение. Вы видите различия и принимаете решение по каждому изменению |
| Auto             | Действует самостоятельно. Изменения вносятся сразу, а вы проверяете их после                    |

Начинайте крупные задачи в режиме **Plan changes**, чтобы оценить предложенный подход, а затем переключайтесь на **Auto** для его выполнения.

### Суффикс схемы

Каждый чат выполняет сборку в собственной схеме, поэтому два чата (или вы и чат) никогда не перезаписывают таблицы друг друга. Суффикс делает эту схему уникальной: она образуется из имени вашей целевой схемы и суффикса.

## Работа в сеансе

В этом разделе описано, что можно делать во время работы в сеансе чата.

### Отправка запросов Wizard

* Введите запрос и нажмите **Enter**. dbt Wizard изучит ваши файлы, граф зависимостей, тесты и метаданные, а затем будет вносить изменения и выполнять действия в соответствии с выбранным режимом разрешений.

* Прикрепляйте файлы и изображения: например, снимок экрана с ошибкой, диаграмму с неверным результатом или макет того, что вы хотите получить. Выберите **+** рядом с полем ввода сообщения, перетащите файлы, вставьте их или скопируйте из Finder. Вложения можно просмотреть перед отправкой, а отправленные файлы отображаются в чате в виде удобных для просмотра карточек.

* Передумали в процессе? Ничего страшного: просто остановите выполнение или введите уточнение и отправьте его — dbt Wizard учтёт его после текущего шага и скорректирует действия.

* Когда dbt Wizard упоминает модель dbt, выберите её имя, чтобы:

  * **Copy name** — скопировать имя
  * **Add to chat** — добавить модель в чат, чтобы dbt Wizard использовал её как контекст
  * **Open code** — прочитать SQL в Explorer
  * **Open lineage** — посмотреть связи модели

[![При выборе имени модели dbt в ответе Wizard открываются пункты Copy name, Add to chat, Open code и Open lineage](/img/wizard/desktop/wizard-desktop-model-menu.png?v=2 "При выборе имени модели dbt в ответе Wizard открываются пункты Copy name, Add to chat, Open code и Open lineage")](#)При выборе имени модели dbt в ответе Wizard открываются пункты Copy name, Add to chat, Open code и Open lineage

[]()

### Проверка и валидация изменений

При работе с Wizard никакие изменения не попадают в коммит без вашего просмотра:

* **Changes** показывает различия по каждому файлу.
* **Inline impact** показывает, какие модели dbt затрагивает изменение, и позволяет открыть различия прямо на месте.
* **Comments** позволяет навести указатель на строку, различие, ячейку таблицы или диаграмму и указать, что именно не так с этим элементом. Оставьте несколько комментариев и отправьте их вместе. Это гораздо быстрее, чем описывать всё абзацем текста.

Когда изменения будут выглядеть правильно, [валидация](#validation) поможет предварительно просмотреть результаты изменений dbt Wizard и выявить проблемы до создания пул-реквеста. Она становится доступна после того, как dbt Wizard создаст сводку изменений.

#### Валидация

Сформируйте план валидации, чтобы увидеть, какие затронутые ресурсы и проверки dbt Wizard предлагает проверить. Изучите план, затем запустите одобренные проверки. Результаты покажут, что прошло проверку, что не прошло и что требует вашего внимания.

Валидация охватывает больше, чем предварительный просмотр или компиляция:

* **Preview** позволяет изучить результат конкретного изменения. Это помогает определить, выглядит ли результат правильно, но не проверяет остальные затронутые части проекта.

* [**Compile**](https://docs.getdbt.tech/reference/commands/compile.md) генерирует исполняемый SQL из вашего кода dbt. Этот процесс может выявить проблемы компиляции, но не собирает изменённые модели dbt и не сравнивает их данные.

* **Validation** оценивает затронутые ресурсы и создаёт план, который может включать компиляцию, сборку, тесты, предварительный просмотр и сравнение данных. Набор проверок зависит от ваших изменений и выбранного уровня **Validation level**:

  * **Small** компилирует изменённые модели dbt, проверяет их линтером, запускает их тесты схемы и данных и проверяет наличие антипаттернов dbt, не выполняя запись в хранилище данных
  * **Medium** дополнительно материализует эти модели dbt и собирает зависящие от них нижестоящие ресурсы
  * **Large** добавляет сравнение количества строк, схемы и выборочных записей между prod и dev.
    <br />
    <br />

  Для каждого уровня список проверок и их влияние на хранилище данных отображаются до того, как вы выберете **Run validation**.

Если план включает `dbt-compare`, его результаты помогут понять, как изменения влияют на ваши данные. Разверните проверку, чтобы увидеть, что выполнялось, или выберите **Re-run validation** после устранения причины сбоя.

Когда проверки пройдут успешно, создайте коммит из приложения и выберите **Create PR**. Каждый чат работает в собственной ветке, поэтому пул-реквест включает только работу из этого чата.

### Исследование данных

Для исследовательского анализа вы можете задавать Wizard вопросы о своих данных. Для произвольных SQL-запросов к рабочему окружению, запросов к [Semantic Layer](https://docs.getdbt.tech/docs/build/about-metricflow.md) и аналитики для бизнес-пользователей используйте [платформу dbt](https://docs.getdbt.tech/docs/platform/wizard-platform.md).

Иногда хочется самостоятельно изучить данные:

1. Выберите **Queries** в панели значков справа.
2. Напишите произвольный SQL-запрос в редакторе запросов.
3. Выберите **Run**. Результаты отобразятся в разделе **Results** под редактором.

Чтобы выполнить SQL, написанный dbt Wizard, выберите **Open in Queries** у SQL-кода в чате. Он откроется в той же панели.

Панель расположена рядом с чатом, поэтому вы можете проверить что-то самостоятельно, не теряя нить беседы. Чтобы вместо этого начать другую беседу, выберите **+ New** в левой боковой панели.

Приложение использует ту же конфигурацию, что и CLI, поэтому уже настроенные навыки, субагенты и MCP-серверы работают без дополнительной настройки:

* [Навыки](https://docs.getdbt.tech/docs/dbt-ai/wizard-skills.md)
* [Субагенты](https://docs.getdbt.tech/docs/dbt-ai/wizard-subagents.md)
* [MCP-серверы](https://docs.getdbt.tech/docs/dbt-ai/wizard-mcp.md)
* [Файлы конфигурации](https://docs.getdbt.tech/docs/dbt-ai/wizard-config.md)

## Чаты и рабочие деревья

Каждый чат, привязанный к проекту, получает собственное worktree Git.

Рабочее дерево — это вторая копия вашего репозитория в отдельной папке и в собственной ветке. Репозиторий и история те же, просто место для работы отдельное. Поэтому, когда чат редактирует `stg_orders`, он редактирует собственную копию, а не файлы из других ваших задач. Это позволяет Wizard одновременно работать над несколькими ошибками в одном проекте.

Именно благодаря этому можно вести несколько чатов одновременно. В одном — рефакторить модель, в другом — разбираться со сбоем теста, в третьем — отвечать на вопрос о данных. Изменения не конфликтуют, и вам не нужно временно сохранять их через stash.

Поскольку у каждого чата проекта есть изолированное рабочее дерево, начинайте новый чат с помощью **+ New** для каждой отдельной задачи, а не используйте одну длинную беседу для всего. Возвращайтесь к существующему чату, только если продолжаете ту же задачу.

Подробнее о рабочих деревьях см. в документации [git worktree](https://git-scm.com/docs/git-worktree).

### Имена рабочих деревьев и схем

dbt Wizard автоматически задаёт имя рабочего дерева каждого чата, сочетая случайное прилагательное со случайным названием животного, например `docs-fox`. Это имя никак не связано с вашим проектом или данными, поэтому не будет вам знакомо. Затем на основе имени рабочего дерева формируются ветка и схема этого чата:

| Элемент интерфейса                                      | Пример        | Откуда берётся                                                                     |
| ------------------------------------------------------- | ------------- | ---------------------------------------------------------------------------------- |
| Имя рабочего дерева, которое также является именем чата | `docs-fox`    | Генерируется при запуске чата                                                      |
| Ветка                                                   | `oz/docs-fox` | Значение `github.user` из вашей конфигурации git или `feature`, если оно не задано |
| Цель в `profiles.yml` рабочего дерева                   | `docs-fox`    | Имя рабочего дерева с заменой дефисов на подчёркивания                             |
| Схема                                                   | `dbt_oz_a1b2` | Схема вашего проекта со случайным суффиксом из четырёх символов                    |

[![Проект dbt, имя рабочего дерева git, ветку, цель и схему можно найти над полем ввода сообщения](/img/wizard/desktop/wizard-desktop-git-worktree.png?v=2 "Проект dbt, имя рабочего дерева git, ветку, цель и схему можно найти над полем ввода сообщения")](#)Проект dbt, имя рабочего дерева git, ветку, цель и схему можно найти над полем ввода сообщения

Суффикс схемы обеспечивает каждому чату отдельную схему, поэтому два чата никогда не записывают данные в одни и те же таблицы.

dbt Wizard записывает эти цели в файл `profiles.yml` внутри папки рабочего дерева и добавляет его в `.gitignore`. Ваш собственный `profiles.yml` остаётся без изменений.

## Устранение неполадок

 В списке выбора подключений ничего не найдено

Список выбора содержит цели из вашего локального файла [`profiles.yml`](https://docs.getdbt.tech/docs/local/profiles.yml.md). Если вы до сих пор запускали этот проект только в [dbt platform](https://docs.getdbt.tech/docs/platform/wizard-platform.md), скорее всего, такого файла у вас ещё нет.

Писать его вручную не нужно. Баннер в проекте открывает форму, где вы выбираете хранилище данных, вводите учётные данные и позволяете приложению создать профиль за вас. Затем приложение запускает `dbt debug`, чтобы вместо пустого списка без объяснений вы увидели ошибку самого хранилища данных. Если вы предпочитаете использовать учётные данные хранилища, управляемые платформой, тот же диалог поможет подключить проект через [CLI dbt platform](https://docs.getdbt.tech/docs/platform/dbt-cli-installation.md). См. раздел [Настройка подключения к хранилищу данных](https://docs.getdbt.tech/docs/dbt-ai/wizard-desktop.md#set-up-your-warehouse-connection).

 Моего проекта нет в списке

Приложение сканирует только репозитории Git в вашей домашней папке. Если проект находится в другом месте, добавьте папку через **Settings**.

## Связанная документация

* [Начало работы с Wizard Desktop](https://docs.getdbt.tech/docs/dbt-ai/wizard-desktop.md)
* [Настройки Wizard Desktop](https://docs.getdbt.tech/docs/dbt-ai/wizard-desktop-settings.md)
* [Локальное использование dbt Wizard (CLI)](https://docs.getdbt.tech/docs/dbt-ai/wizard-cli.md)
* [Справочник по конфигурации dbt Wizard](https://docs.getdbt.tech/docs/dbt-ai/wizard-config.md)
* [Использование данных и телеметрия](https://docs.getdbt.tech/docs/dbt-ai/wizard-telemetry.md)

Посмотрите, как это работает, и поделитесь отзывом

Хотите увидеть dbt Wizard в действии? Посмотрите [демонстрационное видео](https://www.youtube.com/watch?v=-lIzh1xQWMA).

Нам было бы интересно узнать о вашем опыте работы с dbt Wizard. Поделитесь отзывом, выполнив слеш-команду `/feedback` в интерактивном сеансе терминала или перейдя в канал [#dbt-wizard](https://getdbt.slack.com/archives/C0B6KLW6T26) в [Slack-сообществе dbt](https://docs.getdbt.com/community/join?version=2.0).

Большое спасибо за помощь в улучшении dbt Wizard и процесса разработки данных с помощью dbt!
