# Неинтерактивный режим [Бета-версия](https://docs.getdbt.tech/docs/dbt-versions/product-lifecycles "Подробнее о статусе или тарифе")

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

dbt Wizard может работать без интерактивного текстового интерфейса (TUI) — это удобно для скриптов, конвейеров CI, хуков pre-commit и любых рабочих процессов, в которых нужно получить результат за один запуск без подтверждения со стороны пользователя.

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

Хотите увидеть 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!

## `exec` — разовые запросы

Выполните один запрос и завершите работу:

```bash
wizard exec "list all models with no tests"
```

Передайте входные данные через stdin:

```bash
echo "which sources have stale freshness?" | wizard exec -
```

Используйте `exec` в CI, чтобы выполнять проверки качества перед переходом к следующим этапам:

```bash
# Check test coverage before merging
wizard exec "are there any models in models/marts/ with no tests?"
```

### Вывод в формате JSON

Для последующей обработки выводите структурированный поток событий в формате JSON:

```bash
wizard exec --json "summarize test coverage by schema" > coverage.json
```

Используйте JSON Schema, чтобы задать структуру ответа:

```bash
wizard exec \
  --json \
  --output-schema ./schemas/coverage-response.json \
  "summarize test coverage by schema"
```

Запишите итоговое сообщение в файл:

```bash
wizard exec \
  --output-last-message ./review-output.md \
  "review the changes in this branch for correctness"
```

## `review` — автоматическая проверка кода

Проверьте незакоммиченные изменения:

```bash
wizard review --uncommitted
```

Проверьте изменения в ветке относительно базовой ветки в CI:

```bash
wizard review --base main
```

Проверьте конкретный коммит:

```bash
wizard review --commit abc1234
```

### Пример: проверка кода в GitHub Actions

```yaml
- name: dbt Wizard review
  run: |
    wizard review \
      --base ${{ github.base_ref }} > review.md
  env:
    OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
```

## Разрешения в неинтерактивном режиме

В неинтерактивном режиме `exec` Wizard работает без интерактивных запросов на подтверждение. Заранее предоставьте необходимые разрешения для изолированной среды:

```bash
# Read-only analysis (default — safe for CI)
wizard exec "list models with no documentation"

# Allow file writes inside the workspace
wizard exec -s workspace-write "add not_null tests to all primary keys in staging"

# Allow shell commands like dbt compile
wizard exec -s workspace-write "compile and validate fct_orders"
```

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

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

* [Справочник команд dbt Wizard](https://docs.getdbt.tech/docs/dbt-ai/wizard-cli-reference.md)
* [Сценарии использования и примеры](https://docs.getdbt.tech/docs/dbt-ai/wizard-use-cases.md)
