К содержимому
# Согласие
[Home](/ru/ai)
[Catalog](/ru/ai/catalog)
Записать, перечислить и отозвать явное согласие на непроверенных издателей, major-линии объектов и авторизованный профиль задачи.
## 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
# Согласие Непроверенный объект не участвует в автоматической установке без явного согласия пользователя. Эта группа записывает согласие, показывает, что ещё в силе, и отзывает его. Она ничего не устанавливает. Согласие имеет scope. Контракт определяет `publisher`, `object_major` и `task`. Переключателя «всё на этой машине» не существует: `task` называет авторизованный профиль `full-auto`, а не всех издателей. Это не согласие [Телеметрии установки](telemetry.md). Телеметрия — анонимный ping установки со своей командой. Смешивать их — значит принять решение о риске каталога за предпочтение трафика. ## Команды | Команда | Mutability | Confirmation | Когда | | --- | --- | --- | --- | | `ai-stp consent allow` | `apply` | `none` | записать согласие на неверифицированные объекты одного издателя, мажорной линии или авторизованного профиля задачи | | `ai-stp consent revoke` | `apply` | `none` | отозвать согласие; для последующих запросов действует сразу | | `ai-stp consent list` | `read` | `none` | каждое согласие, которое ещё в силе, и что оно покрывало в момент выдачи | `confirmation` — `none`. Решение — сама команда, направленная на одного издателя, одну major-линию или авторизованный профиль `full-auto`. Это уже, чем `--confirm`, который мог бы покрыть что угодно. ## Типичный путь Посмотреть, что уже записано, затем разрешить одного издателя, затем проверить снова: ```bash ai-stp consent list --json ai-stp consent allow --scope publisher --target <publisher> --json ai-stp consent list --json ``` Чтобы разрешить одну major-линию объекта: ```bash ai-stp consent allow --scope object_major --target <stable_id>@<major> --json ``` Чтобы записать полномочие полной задачи: ```bash ai-stp consent allow --scope task --target full-auto --json ``` Чтобы отозвать любую из форм: ```bash ai-stp consent revoke --scope publisher --target <publisher> --json ai-stp consent list --json ``` `--scope` и `--target` — объявленные опции. Обработчик отказывает, если нет любой из них. `--scope` — `publisher`, `object_major` или `task`. `--target` — издатель, major-линия объекта или `full-auto`. Записанное согласие — не разрешение пропустить eligibility, план или `--expected-plan-digest`. Оно отвечает только на ворота непроверенного объекта, которые иначе остановили бы поздний запрос. `publisher` покрывает непроверенные объекты одного издателя. `object_major` покрывает одну major-линию объекта. `task` / `full-auto` покрывает непроверенных кандидатов авторизованного профиля без отдельного grant на объект. Отозванная более узкая запись publisher или object-major по-прежнему исключает эту цель. Нет цели `*` и нет разрешения на весь аккаунт. Если нужны два издателя, записывают два согласия. Fingerprint для `publisher` и `object_major` сохраняется, а не пересчитывается. Поздний запрос, которому нужно больше, чем хранит fingerprint, отказывается, если его не покрывает активный `task`. Разрешайте fingerprint-scope снова только после того, как прочитали, что выросло. ## `consent allow` Записать согласие на неверифицированные объекты одного издателя, мажорной линии или авторизованного профиля задачи. ```bash ai-stp consent allow --scope publisher --target <publisher> --json ``` Сохраняется согласие *и* fingerprint того, что кандидат требовал в момент согласия. Весь механизм — «нужно ли теперь больше, чем тогда», а на это нельзя ответить без старого ответа. Если у кандидата позже вырастет новый риск, старое согласие его не покрывает. `scope` должен быть одним из тех, что определяет контракт. Неизвестное слово отклоняется до любых вопросов о цели, чтобы опечатка не выглядела как отсутствующий издатель. Разрешить согласие, которое уже в силе, — не второе, более широкое разрешение. Читайте возвращённую запись. ## `consent revoke` Отозвать согласие. Для последующих запросов действует сразу. ```bash ai-stp consent revoke --scope publisher --target <publisher> --json ``` Поздние запросы выбора и установки видят отзыв. Уже установленное нативное состояние эта команда не откатывает. Откат target — [Target](target.md), через provider. Отозвать согласие, которого никогда не давали, отказывается с `AI_STP_NOT_FOUND`. ## `consent list` Каждое согласие, которое ещё в силе, и что оно покрывало в момент выдачи. ```bash ai-stp consent list --json ``` Это чтение. Пустой массив `records` — успешный ответ, а не ошибка. Значит, в силе ничего нет. ## Что содержит успешный конверт `consent allow` и `consent revoke` возвращают одну запись в `data`: | Поле | Что это | | --- | --- | | `consent_id` | идентификатор этого согласия | | `scope` | `publisher`, `object_major` или `task` | | `target` | издатель, major-линия или профиль `full-auto`, который оно покрывает | | `fingerprint` | что кандидат требовал, когда пользователь согласился | | `observed` | что наблюдали в тот момент | | `origin` | где записали решение | | `decided_by` | кто его записал | | `created_at` | когда его дали | | `revoked_at` | когда отозвали, или `null` | | `schema_version` | major схемы этой записи | `consent list` возвращает: | Поле | Что это | | --- | --- | | `records` | каждое согласие, которое ещё в силе, в форме выше | | `schema_version` | major схемы этой сводки | Конверт также несёт `ok`, `warnings`, `next_actions`, `request_id`, `operation_id` и `schema_version`. ## Согласие — не trust line [Доверие и безопасность](../trust-and-safety/index.md) по-прежнему действует. | Линия | Что делает согласие | | --- | --- | | `authoritative` | не эта страница; обычные план и подтверждение | | `experimental` | можно рассматривать только после явного согласия | | `local_owner_or_pinned` | выбирается как локально закреплённый объект, не потому что платформа его подтвердила | `author_verified` и `component_verified` остаются независимыми. Согласие не переключает ни один флаг. Оно не переносит объект на линию `authoritative`. ## Чего эти команды никогда не делают - не ставят, не обновляют и не удаляют компонент или сетап; - не расширяют согласие издателя до «всех издателей»; - не заменяют согласие телеметрии; - не кладут секреты в сохранённый fingerprint; - не пропускают eligibility `select` и подтверждение плана `install`; - не пишут target harness. ## Типичные отказы | Что видно | Что это значит | Что делать | | --- | --- | --- | | `AI_STP_VALIDATION_ERROR` нет scope или target | оба обязательны | передать `--scope` и `--target` | | `AI_STP_VALIDATION_ERROR` unknown scope | слово не `publisher`, не `object_major` и не `task` | использовать одно из этих трёх | | `AI_STP_NOT_FOUND` на `revoke` | этого согласия не давали или его уже нет | `consent list --json` | | `AI_STP_PRECONDITION_FAILED` | кандидату теперь нужно больше, чем покрывает fingerprint | читать `details`; разрешать снова только после нового риска | | установка всё равно отказывает | согласие — не digest плана и не eligibility | [Выбор](select.md), затем [Установка](install.md) | | смешение с `telemetry consent` | другое решение, другая команда | [Телеметрия установки](telemetry.md) | ## Связанные страницы | Страница | Зачем | | --- | --- | | [Доверие и безопасность](../trust-and-safety/index.md) | линии доверия и две оси проверки | | [Каталог](../catalog/index.md) | как читать карточку до согласия | | [Реестр](registry.md) | найти издателя или объект | | [Выбор](select.md) | eligibility всё равно действует | | [Установка](install.md) | plan, approve, apply всё равно действуют | | [Телеметрия установки](telemetry.md) | другой экран согласия | | [Жалобы](report.md) | пожаловаться на объект после факта | !!! note "Флаги из `ai-stp help --agent --json`" Если `help --agent` расходится с флагом на этой странице, прав CLI. Необязательные флаги здесь не перечислены. Читайте их из дескриптора.