К содержимому
# Сетапы
[Home](/ru/ai)
[Catalog](/ru/ai/catalog)
Как ai_stp собирает полный сетап из точных версий компонентов.
## Pages
[Публикация и авторство](/ru/ai/docs/authoring)
[Команды CLI](/ru/ai/docs/commands)
[Поддерживаемые харнессы](/ru/ai/docs/harnesses)
[ai_stp](/ru/ai/docs)
[Быстрый старт](/ru/ai/docs/quickstart)
[Проверки безопасности](/ru/ai/docs/security-checks)
[Доверие и безопасность](/ru/ai/docs/trust)
[Каталог](/ru/ai/docs/catalog)
[CLI](/ru/ai/docs/cli)
[Телеметрия установки](/ru/ai/docs/cli/telemetry)
[Публикация](/ru/ai/docs/publishing)
[agent](/ru/ai/docs/components/agent)
[command](/ru/ai/docs/components/command)
[hook](/ru/ai/docs/components/hook)
[Компоненты](/ru/ai/docs/components)
[instruction](/ru/ai/docs/components/instruction)
[mcp](/ru/ai/docs/components/mcp)
[plugin](/ru/ai/docs/components/plugin)
[setting](/ru/ai/docs/components/setting)
[skill](/ru/ai/docs/components/skill)
[Понятия](/ru/ai/docs/concepts)
[Сетапы](/ru/ai/docs/setups)
[Доверие и безопасность](/ru/ai/docs/trust-and-safety)
[Диагностика](/ru/ai/docs/troubleshooting)
## Content
# Сетапы Сетап — итоговая конфигурация одного харнесса. Он закрепляет точные версии компонентов и применяется только через public provider этого харнесса. ## Как собирается сетап Упрощённый путь: ```text кандидаты из каталога и локального реестра → механические фильтры → вопросы агента → подтверждение пользователя → setup graph → deterministic compiler → provider plan ``` Агент помогает выбрать состав, но не обходит проверки совместимости, доступа и безопасности. | Этап | Кто отвечает | Что должно быть видно | | --- | --- | --- | | Поиск кандидатов | CLI и каталог | источник, версия, харнесс, trust line | | Выбор состава | пользователь и agent | почему выбран каждый компонент | | Проверка графа | сборщик сетапа | конфликты, несовместимости, missing pieces | | План применения | provider | target diff, backup, digest | | Применение | provider | журнал операции и status | ## Установка Перед изменением target provider строит план, создаёт резервную копию и только после подтверждения применяет изменения. Работающий агент не изменяет собственный активный target по месту. Новый сетап проверяется отдельно, а переключение выполняется после проверки. ## Rollback Если применение не удалось, восстановление идёт через provider и журнал операций. Не удаляйте резервные копии вручную до завершения восстановления. ### Осознанный откат из снятой копии Это другой путь, чем восстановление после неудачи. Здесь вы заранее снимаете копию цели, позже меняете сетап, а ещё позже возвращаетесь к снятой копии. Сначала копия: ```console $ ai-stp install plan --action backup --project <id> --harness <id> \ --provider <exe> --provider-manifest <path> --protocol-version 3 \ --target <dir> --json $ ai-stp install approve --operation <id> --plan-digest <exact> --json $ ai-stp install apply --operation <id> --provider <exe> --json ``` Позже копию не нужно помнить — её перечисляет отдельная команда: ```console ai-stp target backups --project <id> --harness <id> --json ``` Ответ содержит `backup_ref`, операцию, которая её сняла, и версию сетапа, установленную на тот момент. Дальше — обычные план, подтверждение и применение: ```console $ ai-stp install plan --action rollback --backup-ref <exact> \ --provider <exe> --provider-manifest <path> --protocol-version 3 \ --target <dir> --json $ ai-stp install approve --operation <id> --plan-digest <exact> --json $ ai-stp install apply --operation <id> --provider <exe> --json $ ai-stp target status --project <id> --harness <id> --json ``` Три отличия, которые стоит держать в голове: - `target rollback` **называет** предыдущую подтверждённую версию и ничего не восстанавливает. Это ответ на «куда откатываться», а не «откатись»; - повторная установка прошлой версии через `action=update` — не то же самое, что восстановление: bundle не содержит файлов, которые вы не устанавливали, а копия их сохраняет; - восстановление возвращает цель **целиком**. Восстановить один компонент нельзя, и такой запрос отклоняется. ??? tip "Как думать о версии сетапа" Сетап — не папка с текущими файлами, а закреплённый состав. Если вы обновили один `skill`, отключили `hook` или поменяли `setting`, это уже новая версия сетапа.
ai_stp