К содержимому

Toolchain

Установить и удалить управляемые инструменты, прочитать закреплённый профиль и обзор harness с нативными возможностями.

Toolchain

Управляемый toolchain — закреплённый профиль, а не случайный pip install. toolchain install пишет в управляемый каталог и ничего не запускает из только что положенного инструмента. toolchain harnesses сообщает, есть ли поддерживаемый harness на этой машине. toolchain harness-capabilities говорит, что продукт умеет читать нативно и что этот билд умеет проецировать. Это не утверждение, что компонент активен.

Это не Программа harness. Установка бинарника harness — harness install. Это не Provider. Provider — бинарник, который потом пишет нативное состояние.

Команды

КомандаMutabilityConfirmationКогда
ai-stp toolchain installapplynoneустановить один закреплённый инструмент в управляемый каталог; из него ничего не запускает
ai-stp toolchain removedestructiveexplicit_flagудалить один управляемый инструмент, трогая только пути, которые создал этот CLI
ai-stp toolchain profilereadnoneпоказать управляемый профиль toolchain, как он разрешается на этой машине
ai-stp toolchain harnessesreadnoneсообщить о каждом поддерживаемом harness и есть ли он на этой машине
ai-stp toolchain harness-capabilitiesreadnoneпо harness и kind: что продукт читает нативно, что этот билд умеет проецировать, и почему любой gap — gap. Не утверждение, что компонент активен — это спрашивают у провайдера

--tool обязателен на install и remove. remove также требует --confirm. Точные идентификаторы инструментов — из toolchain profile, а не из памяти.

Типичный путь

Прочитать профиль, затем поставить один закреплённый инструмент, затем посмотреть harness:

ai-stp toolchain profile --json
ai-stp toolchain install --tool <tool> --json
ai-stp toolchain harnesses --json
ai-stp toolchain harness-capabilities --json

<tool> — идентификатор, который закрепляет профиль. Если doctor сообщил об отсутствующем инструменте, имя в detail этой проверки или в ecosystems[].tools профиля. Не выдумывайте имя пакета.

Чтобы забрать управляемый инструмент:

ai-stp toolchain remove --tool <tool> --confirm --json

--confirm обязателен. Без него команда отказывает с AI_STP_USER_DECISION_REQUIRED. Удаление трогает только пути, которые создал этот CLI. Всё, чего нет в списке владения, остаётся на месте и сообщается как kept.

toolchain profile

Показать управляемый профиль toolchain, как он разрешается на этой машине.

ai-stp toolchain profile --json

Это чтение. Оно ничего не скачивает и ничего не ставит.

Успешный data называет:

ПолеЧто это
profileкакой это профиль
platformдля какой платформы он разрешился
ecosystemsкаждый с ecosystem, title, state, tools, reason
schema_versionmajor схемы этого отчёта

state экосистемы — available или not_available. Каждый закреплённый инструмент несёт идентичность, версию, digest и источник digest. digest_source — vendor_published или pinned_on_download.

toolchain install

Установить один закреплённый инструмент в управляемый каталог. Из него ничего не запускает.

ai-stp toolchain install --tool <tool> --json

Сначала план, затем проверка, затем распаковка рядом с целью, затем перемещение одного указателя. Из архива ничего не исполняется. Вне собственного каталога данных пользователя ничего не пишется, поэтому здесь нет пути, которому понадобился бы пароль.

action в результате — то, что случилось, а не то, что пытались:

actionСмысл
installedинструмент положили и проверили
already_installedзакреплённые байты уже были текущими
needs_user_actionпришлось бы менять что-то вне управляемого каталога

needs_user_action — не запрос секрета. reason говорит точно, что пришлось бы изменить.

toolchain remove

Удалить один управляемый инструмент, трогая только пути, которые создал этот CLI.

ai-stp toolchain remove --tool <tool> --confirm --json

Destructive. Список — манифест владения. Решать в момент удаления, какие файлы «похожи на наши», — способ забрать вместе с уборкой данные пользователя, поэтому всё, чего нет в списке, остаётся на месте.

action — removed. kept называет пути, которые не принадлежали этому CLI.

toolchain harnesses

Сообщить о каждом поддерживаемом harness и есть ли он на этой машине.

ai-stp toolchain harnesses --json

Это обзор присутствия, а не жизненный цикл программы. harness status отвечает на другой вопрос: какая программа стоит под одним prefix, который поставил этот CLI. Словари у них разные нарочно.

Успешный data называет:

ПолеЧто это
harnessesпо одной строке на поддерживаемый harness
schema_versionmajor схемы этого отчёта

Каждая строка называет harness_id, title, support (primary или beta), state (configured, installed, unknown_version или available), installations, configuration и reason. Установка называет path, version, version_source, surface (cli или desktop) и diagnostic.

Присутствие — не разрешение собирать состав для этого harness. Eligibility — Выбор. Уровни поддержки — Harnesses.

toolchain harness-capabilities

По harness и kind: что продукт читает нативно, что этот билд умеет проецировать, и почему любой gap — gap. Это не утверждение, что компонент активен — это спрашивают у провайдера.

ai-stp toolchain harness-capabilities --json

Успешный data называет harnesses. Каждая строка — один harness, с видами компонентов, нативными раскладками, способностью проекции и gaps. Пробел — причина, а не подсказка изобрести обход.

Эта команда не спрашивает provider, активен ли компонент сейчас в target. Этот вопрос принадлежит Provider и Target.

Что содержит успешный конверт

install и remove возвращают установку инструмента в data:

ПолеЧто это
tool_idидентификатор, который вы передали
versionзакреплённая версия
actioninstalled, already_installed, needs_user_action или removed
reasonпочему исход именно такой
binaryгде управляемый бинарник, или null
pathsпути, которые создала эта команда
keptпути, которые эта команда отказалась трогать
offline_capableможно ли воспроизвести результат из кэша
schema_versionmajor схемы этого отчёта

profile, harnesses и harness-capabilities возвращают поля, названные в своих разделах. Каждый конверт также несёт ok, warnings, next_actions, request_id, operation_id и schema_version.

Чего эти команды никогда не делают

  • не исполняют инструмент, который только что поставили;
  • не пишут вне управляемого каталога;
  • не ставят программу harness (harness install) и provider (provider fetch);
  • не утверждают, что компонент активен в target;
  • не кладут секрет в профиль или запись установки.

Типичные отказы

Что видноЧто это значитЧто делать
AI_STP_VALIDATION_ERROR нет --toolinstall и remove его требуютпередать --tool <tool> из профиля
AI_STP_NOT_FOUNDпрофиль не закрепляет инструмент с таким именемtoolchain profile --json и взять идентификатор из списка
AI_STP_PRECONDITION_FAILED нет артефакта для этой платформыинструмент закреплён, но не для этой машинычитать details.available; не скачивать случайный бинарник
AI_STP_USER_DECISION_REQUIRED на removeне было --confirmtoolchain remove --tool <tool> --confirm --json
action: needs_user_actionвне управляемого каталога нужно что-то изменитьчитать reason; не давать CLI пароль
считать harness-capabilities за «установлено»эта таблица — нативное чтение плюс проекцияtoolchain harnesses и harness status

Связанные страницы

СтраницаЗачем
Наблюдениеdoctor после отсутствующего инструмента
Программа harnessбинарник harness, не инструмент
Providerбинарник, который пишет нативное состояние
Harnessesprimary против beta
Agent Skill CLIдругой отсутствующий объект первого запуска
Быстрый старт для человекавкладка toolchain первого запуска

!!! note "Флаги из ai-stp help --agent --json" Если help --agent расходится с флагом на этой странице, прав CLI. Необязательные флаги здесь не перечислены. Читайте их из дескриптора. toolchain install требует --tool. toolchain remove требует --tool и --confirm.