# Конфигурация
[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.
Необязательные флаги здесь не перечислены. Читайте их из дескриптора.