Перейти к основному содержимому

Справочник по конфигурации dbt Wizard Бета-версия

dbt Wizard хранит конфигурацию в двух файлах TOML в каталоге ~/.dbt/wizard/, каждый из которых управляет отдельной частью продукта.

Два файла конфигурации​

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

Хотите увидеть dbt Wizard в действии? Посмотрите демонстрационное видео.

Нам было бы интересно узнать о вашем опыте работы с dbt Wizard. Поделитесь отзывом, выполнив слеш-команду /feedback в интерактивном сеансе терминала или перейдя в канал #dbt-wizard в Slack-сообществе dbt.

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

TOML (Tom's Obvious, Minimal Language) — это формат файлов конфигурации. Если вы уже работали с YAML или JSON, он покажется вам знакомым — ключи и значения разделяются знаком = (с пробелами до и после знака равенства), а для вложенных разделов используются заголовки [section.name] вместо отступов или фигурных скобок. Например:

~/.dbt/wizard/config.toml
model = "gpt-4o"

[projects."/Users/you/jaffle-shop"]
trust_level = "trusted"

Эта конфигурация задаёт модель ИИ по умолчанию для всех новых сеансов и применяется ко всем последующим запускам во всех проектах. Вы можете переопределить модель ИИ по умолчанию для конкретного проекта, задав ключ model в файле wizard_config.toml для этого проекта или воспользовавшись меню выбора /model в текстовом пользовательском интерфейсе (TUI).

ФайлЧем управляетКогда использовать
~/.dbt/wizard/config.tomlСреда выполнения агента — модель ИИ, серверы MCP, правила подтверждения, доверенные проектыЧтобы изменить поведение агента во всех сеансах
~/.dbt/wizard/wizard_config.tomlНастройки отдельных проектов — путь к исполняемому файлу dbt, отложенное разрешение ссылок, сохранённые предпочтения моделиЧтобы изменить работу dbt Wizard с конкретным проектом dbt

Обратите внимание: dbt_project.yml — это отдельный файл, который управляет тем, как dbt собирает ваш проект.

Типовые задачи​

ЦельЧто изменитьНужен перезапуск?
Изменить модель ИИ по умолчаниюconfig.toml → model = "gpt-4o"Да
Указать dbt Wizard конкретный исполняемый файл dbtwizard_config.toml → pathДа
Добавить сервер dbt MCPconfig.toml → [mcp_servers.dbt]Да
Пометить репозиторий как доверенныйconfig.toml → trust_level = "trusted" в разделе [projects."..."]Да
Изменить настройки подтверждения или песочницы по умолчаниюconfig.tomlДа

Приоритет настроек​

Настройки применяются в следующем порядке (от наивысшего приоритета к низшему):

  1. Флаги CLI (-m, -c), указанные при запуске
  2. Меню выбора модели в сеансе (/model)
  3. ~/.dbt/wizard/config.toml
  4. ~/.dbt/wizard/wizard_config.toml
  5. Встроенные значения по умолчанию

config.toml​

Глобальные настройки агента: модели, подтверждения, песочница, веб-поиск и серверы MCP.

~/.dbt/wizard/config.toml управляет поведением сеанса агента. Он создаётся автоматически при установке dbt Wizard.

Ключи конфигурации​

Ниже перечислены ключи конфигурации, которые можно задать в config.toml.

  • model
  • approval_policy
  • sandbox_mode
  • web_search

Чтобы узнать больше, выполните wizard config --help.

Модель ИИ и API​

При новой установке CLI dbt Wizard по умолчанию используются модели, управляемые dbt Labs. Чтобы использовать другого поставщика, см. раздел Настройка BYOK.

КлючТипПо умолчаниюОписание
modelstring—Модель ИИ по умолчанию для новых сеансов. См. раздел Формат идентификатора модели ИИ ниже. Для интерактивного изменения используйте /model в TUI.

Поведение​

КлючТипПо умолчаниюОписание
approval_policystringon-requestОпределяет, когда Wizard запрашивает подтверждение перед выполнением команд. Варианты: untrusted (запрашивать для недоверенных команд), on-request (решает dbt Wizard), never (выполнять без запроса).
sandbox_modestringread-onlyПолитика песочницы для командной оболочки. Варианты: read-only (по умолчанию), workspace-write (разрешить запись в каталоге проекта), danger-full-access (без ограничений).
web_searchstringcachedРежим веб-поиска. Варианты: disabled, cached или live.

Доверие к проекту​

Задайте trust_level для отдельного проекта, чтобы разрешить dbt Wizard использовать локальную конфигурацию проекта:

[projects."/absolute/path/to/your-repo"]
trust_level = "trusted"

Серверы MCP​

[mcp_servers.dbt]
command = "DBT_MCP_ENDPOINT"

Формат идентификатора модели ИИ​

В качестве идентификаторов моделей ИИ в config.toml используются публичные идентификаторы моделей, например gpt-4o.

Чтобы вывести список всех доступных идентификаторов моделей ИИ:

wizard debug models

Переменные окружения​

Любой ключ можно задать через переменную окружения с префиксом DBT_WIZARD_, записав имя в формате SCREAMING_SNAKE_CASE:

export DBT_WIZARD_MODEL=gpt-4o
export DBT_WIZARD_APPROVAL_POLICY=never
export OPENAI_API_KEY=sk-... # OpenAI (префикс не нужен)
export ANTHROPIC_API_KEY=sk-ant-... # Anthropic (префикс не нужен)

OPENAI_API_KEY и ANTHROPIC_API_KEY считываются напрямую без префикса DBT_WIZARD_, в соответствии с соглашениями каждого поставщика.

Когда считывается файл​

config.toml считывается в начале сеанса при запуске wizard. Изменения вступают в силу только после выхода из CLI и его перезапуска. Флаги -c, указанные для отдельного запуска, и меню выбора /model внутри сеанса переопределяют настройки этого файла только для текущего сеанса.

Пример​

model = "gpt-4o"

[projects."/Users/you/jaffle-shop"]
trust_level = "trusted"

[mcp_servers.dbt]
command = "DBT_MCP_ENDPOINT"

wizard_config.toml​

Настройки отдельных проектов, которые Wizard записывает во время первоначальной настройки, включая путь к dbt и параметры отложенного разрешения ссылок.

~/.dbt/wizard/wizard_config.toml хранит сведения dbt Wizard о каждом из ваших проектов dbt. dbt Wizard автоматически записывает данные в этот файл во время первоначальной настройки и при изменении настроек проекта. Вы также можете редактировать его вручную.

Ключи конфигурации​

КлючОписание
versionВерсия схемы этого файла (сейчас 1). Не изменяйте её вручную.
global.terms_of_use_accepted_atОтметка времени принятия Условий использования dbt Wizard. Записывается один раз в разделе [global] и применяется ко всем проектам.
global.dbt_compile_on_startupОпределяет, нужно ли компилировать проект разработки при запуске. По умолчанию true.
global.prod_parse_on_startupОпределяет, нужно ли выполнять разбор производственной среды и обновлять состояние для отложенного разрешения ссылок при запуске. По умолчанию true.
global.prod_parse_argsАргументы для разбора производственной среды. По умолчанию ["parse", "--target", "prod"].
global.prod_state_ttl_hoursКоличество часов, в течение которых снимок состояния производственной среды считается актуальным. По умолчанию 24.
global.prod_state_dirКаталог для снимков состояния производственной среды. По умолчанию target/prod-state в проекте.
global.compile_extra_argsДополнительные аргументы, добавляемые при компиляции любого проекта в dbt Wizard, если для проекта не задано переопределение.
onboarded_atОтметка времени первоначальной настройки этого проекта в dbt Wizard.
pathПуть к исполняемому файлу dbt, который dbt Wizard должен использовать для этого проекта.
compile_extra_argsДополнительные аргументы, добавляемые при компиляции этого проекта в dbt Wizard.
prod_parse_argsАргументы команды разбора производственной среды для конкретного проекта.
deferral.modeОпределяет, кто управляет отложенным разрешением ссылок для этого проекта. См. раздел Отложенное разрешение ссылок ниже.
deferral.targetЦелевая среда (target) из вашего profiles.yml, которую dbt Wizard компилирует и использует для отложенного разрешения ссылок, когда deferral.mode имеет значение "wizard" (например, "prod").
deferral.stateПуть к каталогу состояния, когда deferral.mode имеет значение "manual".
deferral.favor_stateОпределяет, имеют ли приоритет отношения, используемые при отложенном разрешении ссылок. По умолчанию true.
profile_override.pathПуть к альтернативному файлу profiles.yml для этого проекта.
profile_override.profileИмя профиля из выбранного файла профилей, который следует использовать.
profile_override.targetЦелевая среда из выбранного профиля, которую следует использовать.

Настройки хранятся отдельно для каждого проекта в блоках [projects."/absolute/path/to/repo"]:

~/.dbt/wizard/wizard_config.toml
version = 1

[global]
terms_of_use_accepted_at = "2026-05-28T15:06:54Z"
dbt_compile_on_startup = true
prod_parse_on_startup = true
prod_state_ttl_hours = 24

[projects."/Users/you/jaffle-shop"]
onboarded_at = "2026-05-20T11:09:01.410346"
path = "/Users/you/jaffle-shop/.venv/bin/dbt"

[projects."/Users/you/jaffle-shop".deferral]
mode = "wizard"
target = "prod"
favor_state = true

Отложенное разрешение ссылок​

Отложенное разрешение ссылок (deferral) позволяет dbt Wizard повторно использовать модели, уже собранные в другой среде (например, в производственной), вместо того чтобы пересобирать всё, когда вы работаете только с частью проекта. Это экономит время и снижает затраты на хранилище данных.

Настройка deferral.mode в wizard_config.toml определяет, кто управляет отложенным разрешением ссылок. Она принимает шесть значений, и dbt Wizard обычно задаёт её за вас во время первоначальной настройки:

Значение deferral.modeЧто оно означает
"wizard"dbt Wizard управляет отложенным разрешением ссылок за вас. Вы указываете dbt Wizard, какую целевую среду из вашего profiles.yml использовать для отложенного разрешения ссылок (при первоначальной настройке проекта он пытается определить её автоматически). Затем dbt Wizard компилирует эту целевую среду и повторно использует её модели для любых вышестоящих моделей, которые вы ещё не собрали самостоятельно.
"fusion_cloud"dbt platform управляет отложенным разрешением ссылок на основе подключённой среды, поэтому dbt Wizard не управляет локальным состоянием. Задаётся автоматически при подключении к платформе.
"cloud_cli"dbt platform CLI управляет учётными данными и отложенным разрешением ссылок через dbt platform, поэтому dbt Wizard пропускает компиляцию производственной среды и добавление флагов отложенного разрешения ссылок.
"dbt_state"dbt State или кеш запусков управляет отложенным разрешением ссылок, поэтому dbt Wizard пропускает собственную компиляцию производственной среды.
"manual"Вы указываете каталог с манифестом для отложенного разрешения ссылок с помощью state.
"disabled"Отложенное разрешение ссылок отключено для проекта.

Подробнее о dbt State см. в разделе О dbt State.

Если mode = "manual", задайте для state каталог, содержащий совместимый файл manifest.json:

[projects."/Users/you/jaffle-shop".deferral]
mode = "manual"
state = "/Users/you/dbt-state/production"
favor_state = true

О параметре favor-state: параметр favor_state настраивается и по умолчанию имеет значение true. При значении true dbt Wizard передаёт --favor-state, чтобы отношения, используемые при отложенном разрешении ссылок, имели приоритет. Задайте false, чтобы использовать отношение, уже существующее в среде разработки, и обращаться к состоянию для отложенного разрешения ссылок, только если такого отношения нет.

Вы также можете настроить поведение снимков производственной среды и компиляции с помощью глобальных параметров prod_parse_on_startup, prod_parse_args, prod_state_ttl_hours, prod_state_dir и compile_extra_args. Значения compile_extra_args и prod_parse_args на уровне проекта позволяют переопределить глобальное поведение для одного проекта. Используйте блок profile_override, чтобы выбрать другой файл профилей, профиль или целевую среду для компиляции.

Примеры конфигурации и порядок проверки см. в разделе Разработка с отложенным разрешением ссылок на производственную среду.

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

Ниже приведены распространённые ошибки конфигурации и способы их устранения:

СимптомВероятная причинаРешение
После редактирования wizard_config.toml по-прежнему используется прежняя модель ИИwizard_config.toml не хранит модельЗадайте model в config.toml и перезапустите wizard
Модель ИИ не изменилась после редактирования config.tomlСтарый сеанс всё ещё работаетНажмите Ctrl+C, затем снова запустите wizard
Ошибка "Invalid model"Неверный идентификатор модели ИИВыполните wizard debug models, чтобы увидеть допустимые идентификаторы моделей ИИ

Повторный запуск процедур первоначальной настройки​

Если вам нужно повторить часть настройки — например, после случайного удаления записей конфигурации или перехода к новому проекту, — вы можете сбросить отдельные процедуры, удалив соответствующий файл. При следующем запуске dbt Wizard снова предложит выполнить настройку.

Чтобы удалить файл, выполните команду в терминале (macOS/Linux). Например:

rm ~/.dbt/wizard/auth.json

Если вы получили ошибку No such file or directory, файл не существует — это означает, что соответствующая часть настройки ещё не выполнялась или уже была сброшена. Эту ошибку можно игнорировать.

Что вы хотите повторитьКакой файл удалить
Повторно вызвать запрос о доверии к папкеУдалите запись вашего проекта из ~/.dbt/wizard/config.toml в разделе [projects."..."]
Повторно пройти аутентификацию в dbt platform~/.dbt/wizard/auth.json
Повторно настроить проект dbtУдалите запись вашего проекта из ~/.dbt/wizard/wizard_config.toml в разделе [projects."..."] или удалите файл целиком, чтобы сбросить все проекты
Повторно запустить настройку ключа BYOK~/.dbt/wizard/provider* (соответствует всем файлам поставщиков)
предупреждение

config.toml и wizard_config.toml — это отдельные файлы, которые управляют разными настройками. Если вы хотите повторно настроить проект, изменяйте wizard_config.toml, а не config.toml. Изменение не того файла не запустит ожидаемую процедуру первоначальной настройки. Различия описаны в разделе Два файла конфигурации в начале этой страницы.

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

Ссылки на настройку BYOK, порядок подтверждения действий и справочник команд CLI.

Нашли ошибку?

0
Loading