К содержимому
# Команды компонента
[Home](/ru/ai)
[Catalog](/ru/ai/catalog)
Группа команд component: обнаружение, паспорт, источник и публикация.
## 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
# Команды компонента Компонент — одна часть сетапа, одного из восьми kind. Группа `component` — как эта установка находит нативные файлы, записывает локальный паспорт, привязывает внешний источник и готовит версию к публикации. Сайт показывает каталог. Он не обнаруживает файл на этой машине, не пишет локальный паспорт и не извлекает embedded-член. Эти шаги остаются в CLI. Выбор, сборка и установка — другие группы. Повседневная регистрация — intent `author`. Повседневная публикация — `publish`. Discover, passport, source и `component publish` ниже — expert recovery. ```bash ai-stp task start --intent author --idempotency-key author-session-01 --json ai-stp task start --intent publish --idempotency-key publish-session-01 --json ``` ## Дочерние страницы | Страница | Что покрывает | | --- | --- | | [Обнаружение и adopt](component-discover.md) | нативное обнаружение, локальный поиск, scaffold, adopt, forget | | [Паспорт компонента](component-passport.md) | show, suggest, update, validate, quality | | [Источник компонента](component-source.md) | parse, resolve, search, архивные наблюдения GitHub | | [Публикация компонента](component-publish.md) | promote, version, fork, skill validate | Перед копированием мутирующей команды читайте дочернюю страницу. Этот обзор называет каждый путь `component.*`. Он не заменяет happy path, поля успеха и отказы на тех страницах. ## Что такое компонент У компонента есть kind, точная версия `X.Y`, паспорт и источник. Закрытые kind: `instruction`, `skill`, `mcp`, `hook`, `command`, `agent`, `plugin`, `setting` и `cli`. `command` — именованный slash-вызов; `cli` — отдельный исполняемый процесс. Память, правила, параметры и вспомогательные инструменты — содержимое `instruction`, `skill` или `setting`. Это не отдельные kind. Локальный черновик — не опубликованная версия. Adopt пути регистрирует его здесь. Release номера `X.Y` замораживает текущий head. Публикация всё равно требует серверный план и явное подтверждение. `author_verified` и `component_verified` независимы: ни одно не является гарантией безопасности. ## Рабочий цикл ```text discover / find / scaffold plan → apply → adopt → passport show → suggest → update → validate → source parse → resolve → evidence show → version release → component publish or publication plan → publication confirm ``` Пропускайте шаг, только если предыдущий конверт уже сделал его ненужным. Механическую проверку не пропускайте. Не считайте `component find` поиском по каталогу: это `registry search`. Не считайте `component publish` финальной публичной записью: это `publication confirm` или `setup publish confirm`. ## Таблица команд `--json` глобальный. Это не свойство одной команды. Всегда передавайте его. `mutability` говорит, что команда делает. `confirmation` — каким токеном подтверждается решение. ### Обнаружение и adopt | Команда | Mutability | Confirmation | Когда | | --- | --- | --- | --- | | component discover | `read` | `none` | перечислить нативные компоненты в корнях harness и одном проекте | | `ai-stp component find` | `read` | `none` | искать в локальном реестре; без модели, без сети | | component scaffold plan | `plan` | `none` | показать точные файлы scaffold и digest | | component scaffold apply | `apply` | `plan_digest` | создать ровно подтверждённый scaffold | | `ai-stp component template render` | `read` | `none` | отрендерить portable-шаблон для одного harness | | component adopt | `apply` | `none` | зарегистрировать один найденный путь в локальном реестре | | `ai-stp component forget` | `apply` | `none` | пометить зарегистрированный компонент удалённым, историю сохранить | ### Паспорт | Команда | Mutability | Confirmation | Когда | | --- | --- | --- | --- | | `ai-stp component passport show` | `read` | `none` | показать текущий локальный черновик паспорта | | `ai-stp component passport suggest` | `read` | `none` | предложить факты манифеста, не записывая их | | `ai-stp component passport update` | `apply` | `plan_digest` | добавить подтверждённый JSON-patch как новую ревизию | | `ai-stp component passport validate` | `read` | `none` | назвать каждый структурный блокер публикации | | `ai-stp component passport quality` | `read` | `none` | необязательные подсказки автору; trust не меняет | ### Источник | Команда | Mutability | Confirmation | Когда | | --- | --- | --- | --- | | `ai-stp component source parse` | `read` | `none` | разобрать внешний источник как недоверенный intent | | `ai-stp component source resolve` | `read` | `none` | привязать GitHub-intent к одному полному commit SHA | | `ai-stp component source search` | `read` | `none` | искать имена в каталоге; остальные полосы — по флагу | | `ai-stp component source evidence refresh` | `apply` | `none` | обновить официальные архивные наблюдения GitHub | | `ai-stp component source evidence show` | `read` | `none` | показать последние локальные архивные наблюдения | | `ai-stp component source evidence history` | `read` | `none` | ограниченная append-only история наблюдений | ### Публикация | Команда | Mutability | Confirmation | Когда | | --- | --- | --- | --- | | component publish | `plan` | `none` | извлечь один embedded-член в обычный план публикации | | `ai-stp component version list` | `read` | `none` | все записанные версии и следующий minor | | `ai-stp component version release` | `apply` | `none` | дать текущему head неизменяемый `X.Y` | | `ai-stp component fork` | `apply` | `none` | скопировать одну записанную версию под новой идентичностью | | `ai-stp component skill validate` | `read` | `none` | проверить skill-пакет по Agent Skills Specification | ## Токены подтверждения `plan_digest` не всегда пишется как `--expected-plan-digest`. Читайте дескриптор. `component scaffold apply` берёт `--expected-plan-digest`. `component passport update` берёт `--expected-revision` текущего head. Ни одна из этих команд не берёт `--confirm`. Boolean рядом с точным digest спрашивал бы одно решение дважды. `component adopt`, `component forget`, `component version release` и `component fork` — `apply` с `confirmation: none`. Назвать путь, id или версию **и есть** решение. Не выдумывайте флаг `--confirm`. `component publish` — это `plan`. Он не делает объект публичным. Подтверждайте возвращённый план на [Publication](publication.md). ## Чего эта группа никогда не делает - не пишет нативное состояние harness — это делает только public provider через [Установку](install.md); - не вызывает model API и не просит ключ модели; - не кладёт секреты, тела `.env` и токены в паспорт; - не считает `author_verified` доказательством безопасности версии; - не восстанавливает target из backup — это `install plan --action rollback`; - не выдаёт доступ к major-линии — это [Доступ](grant.md). Согласие на непроверенных издателей живёт в [Согласии](consent.md), не здесь. Поиск по каталогу — в [Реестре](registry.md). Сборка смешанного сетапа из каталога, Git, пакета и path-источников — в [Командах сетапа](setup.md). ## Типичные отказы | Что видно | Что это значит | Что делать | | --- | --- | --- | | `AI_STP_VALIDATION_ERROR` | обязательная опция отсутствует или неверна | прочитать дескриптор; добавить названный флаг | | `AI_STP_NOT_FOUND` | id, путь или версия здесь нет | сначала discover или find; не угадывать id | | `AI_STP_USER_DECISION_REQUIRED` | путь отвечает более чем одному harness или kind | передать `--harness` или `--kind`, как в дескрипторе | | `AI_STP_PLAN_STALE` | байты scaffold или паспорта изменились | построить новый план, показать, подтвердить снова | | `AI_STP_CONFLICT` | ожидаемая ревизия больше не head | `passport show`, затем новый patch | | `AI_STP_AUTH_REQUIRED` | облачному шагу публикации нужна сессия | `task start --intent account --idempotency-key account-session-01 --json` | | команды нет в machine help | этой установки её нет | остановиться; не подменять похожей командой | Мутирующая команда без `--json` смешивает человеческий текст в stdout. Добавьте `--json` и читайте один конверт. ## Связанные страницы - [Обнаружение и adopt](component-discover.md) - [Паспорт компонента](component-passport.md) - [Источник компонента](component-source.md) - [Публикация компонента](component-publish.md) - [Карта команд](commands.md) - [Компоненты](../components/index.md) - [Публикация](../publishing/index.md) - [Доверие и безопасность](../trust-and-safety/index.md) - [Выбор](select.md) - [Команды сетапа](setup.md) - [Publication](publication.md) ## Флаги берутся из continuation argv ```bash ai-stp task intents --json ``` Не дампьте `help --agent` как прелюдию. Флаги текущей задачи — в continuation `argv`. Документация группирует команды, чтобы человек нашёл страницу. Если страница и CLI расходятся, следуйте CLI.