К содержимому
# Конфигурация
[Home](/ru/ai)
[Catalog](/ru/ai/catalog)
Создать, показать, проверить и изменить закрытый файл конфигурации CLI, который соблюдает эта установка.
## Pages
[Главная](/ru/ai/docs)
### Быстрый старт
[Быстрый старт](/ru/ai/docs/quickstart)
[Для человека](/ru/ai/docs/quickstart/human)
[Для ИИ-агента](/ru/ai/docs/quickstart/agent)
[Харнессы](/ru/ai/docs/harnesses)
[Понятия](/ru/ai/docs/concepts)
[Каталог](/ru/ai/docs/catalog)
### CLI
[CLI](/ru/ai/docs/cli)
[Карта команд](/ru/ai/docs/cli/commands)
[Наблюдение](/ru/ai/docs/cli/observe)
[Конфигурация](/ru/ai/docs/cli/config)
[Телеметрия](/ru/ai/docs/cli/telemetry)
[Устройство](/ru/ai/docs/cli/device)
[Паспорта](/ru/ai/docs/cli/passport)
[Вход](/ru/ai/docs/cli/auth)
[Согласие](/ru/ai/docs/cli/consent)
[Проект](/ru/ai/docs/cli/project)
[Toolchain](/ru/ai/docs/cli/toolchain)
[Harness](/ru/ai/docs/cli/harness)
[Agent Skill CLI](/ru/ai/docs/cli/skill)
[Реестр](/ru/ai/docs/cli/registry)
#### Компонент
[Обзор](/ru/ai/docs/cli/component)
[Обнаружение](/ru/ai/docs/cli/component-discover)
[Паспорт](/ru/ai/docs/cli/component-passport)
[Источник](/ru/ai/docs/cli/component-source)
[Публикация](/ru/ai/docs/cli/component-publish)
[Выбор](/ru/ai/docs/cli/select)
[Установка](/ru/ai/docs/cli/install)
[Target](/ru/ai/docs/cli/target)
[Setup](/ru/ai/docs/cli/setup)
[Provider](/ru/ai/docs/cli/provider)
[Синхронизация](/ru/ai/docs/cli/sync)
[Доступ](/ru/ai/docs/cli/grant)
[Жалобы](/ru/ai/docs/cli/report)
[Owner](/ru/ai/docs/cli/owner)
[Publication](/ru/ai/docs/cli/publication)
[Eval](/ru/ai/docs/cli/eval)
### Веб
[Веб](/ru/ai/docs/web)
[Главная](/ru/ai/docs/web/home)
[Каталог](/ru/ai/docs/web/catalog)
[Карточка компонента](/ru/ai/docs/web/catalog-component)
[Карточка сетапа](/ru/ai/docs/web/catalog-setup)
[Региональные сервисы](/ru/ai/docs/web/services)
[Издатели](/ru/ai/docs/web/publishers)
[Content](/ru/ai/docs/web/content)
[Эта документация](/ru/ai/docs/web/docs)
[Контакт](/ru/ai/docs/web/contact)
[Правовые документы](/ru/ai/docs/web/legal)
[Вход](/ru/ai/docs/web/login)
[Аккаунт](/ru/ai/docs/web/account)
[Профиль](/ru/ai/docs/web/profile)
[Устройства](/ru/ai/docs/web/devices)
[Объекты](/ru/ai/docs/web/objects)
[Доступ](/ru/ai/docs/web/access)
[Жалобы](/ru/ai/docs/web/reports)
[Лайки](/ru/ai/docs/web/likes)
[Онбординг](/ru/ai/docs/web/onboarding)
[Публикация](/ru/ai/docs/web/publications)
### Компоненты
[Компоненты](/ru/ai/docs/components)
[instruction](/ru/ai/docs/components/instruction)
[skill](/ru/ai/docs/components/skill)
[mcp](/ru/ai/docs/components/mcp)
[hook](/ru/ai/docs/components/hook)
[command](/ru/ai/docs/components/command)
[agent](/ru/ai/docs/components/agent)
[plugin](/ru/ai/docs/components/plugin)
[setting](/ru/ai/docs/components/setting)
[Сетапы](/ru/ai/docs/setups)
### Публикация
[Публикация](/ru/ai/docs/publishing)
[Авторство](/ru/ai/docs/publishing/authoring)
### Доверие и безопасность
[Обзор](/ru/ai/docs/trust-and-safety)
[Проверки безопасности](/ru/ai/docs/security-checks)
[Диагностика](/ru/ai/docs/troubleshooting)
[cli](/ru/ai/docs/components/cli)
## Content
# Конфигурация Файл конфигурации — закрытый список значений, которые эта установка должна соблюдать. Секреты, токены и облачные учётные данные здесь не живут: они живут в секретном хранилище операционной системы. Каждую команду на этой странице копируйте с `--json`. `config show` — чтение. `config init`, `config set` и `config unset` — apply. Ни одна из них не destructive. Повседневная первая запись catalogued instruction surface — intent `initialize`. `config init` ниже — expert recovery. ```bash ai-stp task start --intent initialize --idempotency-key initialize-session-01 --json ``` ## Команды | Команда | Mutability | Confirmation | Когда | | --- | --- | --- | --- | | config init | `apply` | `none` | создать файл конфигурации, если его нет, и в любом случае провалидировать | | `ai-stp config set` | `apply` | `none` | записать заявленные значения в файл конфигурации | | `ai-stp config unset` | `apply` | `none` | убрать заявленные значения, чтобы снова действовали значения по умолчанию | | `ai-stp config validate` | `read` | `none` | прочитать файл конфигурации и отказать, если его нельзя соблюсти | | `ai-stp config show` | `read` | `none` | показать действующую конфигурацию и откуда взялось каждое значение | Список полей закрыт. Неизвестный ключ — типизированная ошибка с путём, а не молчаливый пропуск. Запись `telemetry.enabled=true` в файл отклоняется: телеметрию включает только согласие [Телеметрия установки](telemetry.md). ## Типичный путь ```bash ai-stp task start --intent initialize --idempotency-key initialize-session-01 --json ``` Expert recovery (`config init` идемпотентен: если файл уже есть, команда проверяет его, а не заменяет): ```text ai-stp config init --json ai-stp config show --json ai-stp config validate --json ``` Чтобы изменить объявленное поле и увидеть, что источник теперь файл: ```bash ai-stp config set --set search.result_limit=10 --json ai-stp config show --json ``` Чтобы вернуть поле к значению по умолчанию: ```bash ai-stp config unset --field search.result_limit --json ai-stp config show --json ``` `--set` и `--field` — объявленные опции. Их можно повторять для нескольких путей. Форма присваивания — `path=value`. Путь без `=` отклоняется, а не считается молчаливым no-op. ## Объявленные поля Это пути, которые понимает этот билд. Точные имена, типы и значения по умолчанию — в `ai-stp help --agent --json` и в `config show`. | Путь | Чем управляет | | --- | --- | | `catalog.enabled` | обращаться ли к публичному каталогу | | `catalog.url` | базовый адрес платформы без префикса `/v1` | | `sync.enabled` | включена ли облачная синхронизация; нужен вход | | `registry.path` | где живёт локальный реестр | | `search.result_limit` | верхняя граница кандидатов в результате | | `projects.discovery_roots` | явные корни, в которых ищут проекты | | `telemetry.enabled` | отправляется ли анонимный ping установки | | `telemetry.url` | куда этот ping ушёл бы | | `provider.paths.<harness>` | абсолютный путь к setup-system provider этого harness | `<harness>` — одно из `antigravity`, `claude-code`, `codex`, `cursor`, `grok-build`, `opencode`, `pi`. Неизвестный harness — не поле. `source` у каждого значения — одно из `default`, `config_file` или `command_argument`. «20, потому что так по умолчанию» и «20, потому что вы написали 20» ведут к разным следующим шагам. Поэтому `config show` сообщает и значение, и источник. !!! note "`config show --set` — это не запись" `config show` принимает переопределение только для этого вызова в виде `path=value`. Файл он не пишет. Запись — `config set`. Не путайте одно с другим. ## `config init` Создать файл конфигурации, если его нет, и в любом случае провалидировать. ```text ai-stp config init --json ``` Никогда не перезаписывает. Запуск против существующего файла проверяет этот файл — именно это спрашивает вызывающий, которому нужно знать, что файлом можно пользоваться. ## `config set` Записать заявленные значения в файл конфигурации. ```bash ai-stp config set --set search.result_limit=10 --json ``` Ответ — действующая конфигурация после записи, поэтому видно и новое значение, и то, что его `source` теперь `config_file`. Неизвестный путь, значение, которое поле не может держать, или ключ в форме секрета отклоняются. Телеметрию так включить нельзя: ```bash ai-stp config set --set telemetry.enabled=true --json ``` Этот вызов отклоняется с `AI_STP_USER_DECISION_REQUIRED`. Следующее действие — `telemetry consent`, а не ещё один `config set`. ## `config unset` Убрать заявленные значения, чтобы снова действовали значения по умолчанию. ```bash ai-stp config unset --field search.result_limit --json ``` Снять поле, которое никогда не записывали, — успешный no-op для этого пути: значение по умолчанию уже действует. Снять ничего — отказ. ## `config validate` Прочитать файл конфигурации и отказать, если его нельзя соблюсти. ```bash ai-stp config validate --json ``` То же чтение, что у `config show`, без вопроса «что переопределил бы этот вызов». Нужна, когда важно только, цел ли файл. Файл с `schema_version`, на котором этот билд не говорит, отклоняется, а не читается оптимистично. Невалидный YAML отклоняется. Отображение с необъявленным ключом отклоняется, в том числе опечатка внутри объявленной секции. ## `config show` Показать действующую конфигурацию и откуда взялось каждое значение. ```bash ai-stp config show --json ``` Это чтение. Если файла нет, каждое значение сообщается из `default`, а `config_path` всё равно называет, где файл *жил бы*. ## Что содержит успешный конверт Все пять команд возвращают одну форму в `data`: | Поле | Что это | | --- | --- | | `config_path` | где файл, или `null`, когда пути называть нечего | | `values` | каждое объявленное поле с `path`, `source` и `value` | | `schema_version` | major схемы этого отчёта | `source` — `default`, `config_file` или `command_argument`. Путевые значения в отчёте свёрнуты относительно домашнего каталога; это отображение, а не другой путь на диске. Конверт также несёт `ok`, `warnings`, `next_actions`, `request_id`, `operation_id` и `schema_version`. ## Чего эти команды никогда не делают - не хранят токен, пароль, ключ и учётные данные; - не включают телеметрию записью `telemetry.enabled=true`; - не создают устройство и паспорт; - не обращаются к каталогу, даже если `catalog.enabled` истинно — это [Реестр](registry.md); - не меняют target harness. ## Типичные отказы | Что видно | Что это значит | Что делать | | --- | --- | --- | | `AI_STP_VALIDATION_ERROR` «not valid YAML» | файл нельзя разобрать | исправить файл; не удалять его, чтобы повторить `init` | | `AI_STP_VALIDATION_ERROR` unknown path | этого ключа нет в закрытом списке полей | `config show --json` и взять путь, который он называет | | `AI_STP_VALIDATION_ERROR` «nothing was set» | `config set` без `path=value` | передать `--set path=value` | | `AI_STP_VALIDATION_ERROR` «nothing was unset» | `config unset` без поля | передать `--field` | | `AI_STP_USER_DECISION_REQUIRED` на `telemetry.enabled` | согласие — событие, а не значение файла | `ai-stp telemetry consent --accept --confirm --json` или `--decline` | | `AI_STP_VALIDATION_ERROR` schema version | файл писал другой билд | не угадывать, какие ключи ещё значат то же | ## Связанные страницы | Страница | Зачем | | --- | --- | | [Наблюдение](observe.md) | `doctor` сообщает проверку конфигурации | | [Телеметрия установки](telemetry.md) | единственный способ включить ping | | [Устройство](device.md) | идентичность — не поле конфигурации | | [Вход](auth.md) | облачные учётные данные живут в секретном хранилище | | [Provider](provider.md) | `provider.paths.<harness>` называет бинарник | | [Проект](project.md) | `projects.discovery_roots` — вход для discovery | | [Диагностика](../troubleshooting/index.md) | PATH и сбои первого запуска | !!! note "Флаги из `ai-stp help --agent --json`" Если `help --agent` расходится с флагом на этой странице, прав CLI. Необязательные флаги здесь не перечислены. Читайте их из дескриптора.