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

Телеметрия установки

Что такое анонимный пинг установки, как его включить и выключить и что в него никогда не попадает.

Телеметрия установки

ai_stp умеет отправлять один анонимный запрос после того, как компонент действительно установлен. По умолчанию он выключен, и пока вы не ответили на экран согласия, не уходит ни один запрос.

Смысл у него ровно один — понять, на чём люди ставят компоненты:

на Windows в Codex 0.140.1 поставили Serena MCP

Больше ничего. Ни профиля, ни истории действий, ни склада событий.

Как ответить на вопрос о согласии

Посмотреть текущее состояние и то, что запрос вообще может унести:

ai-stp telemetry show --json

Ответить — согласием или отказом. Оба ответа требуют --confirm, потому что согласие является событием, а не значением, которое можно проставить мимоходом:

ai-stp telemetry consent --accept --confirm --json
ai-stp telemetry consent --decline --confirm --json

Агент обязан спросить это один раз в начале работы, а не посреди установки. Пока вы не ответили, работа не блокируется: состояние not_asked ведёт себя точно так же, как отказ — запросов нет.

!!! note "Отказ и «ещё не спрашивали» неразличимы снаружи" На проводе эти два состояния выглядят одинаково, потому что в обоих не происходит ничего. По вашему трафику нельзя отличить человека, который отказался, от человека, которого не успели спросить.

Что уходит в запрос

Один неаутентифицированный HTTPS GET. Без тела, без cookie, без токена каталога и без авторизации GitHub.

ПолеПримерЧто это
oswindowsоперационная система
harnesscodexхарнесс, в который ставили
harness_version0.140.1его версия, как её сообщает toolchain
ai_stp_version0.1.0версия CLI
component_typemcpвид компонента
nameserenaпубличное имя компонента
sourceplatformгде объект публично назван
idstable id или публичный URL репозиторияадрес компонента
version1.2точная версия компонента
anonслучайный UUIDразличает установки CLI между собой

Перечень закрыт. Поле вне этой таблицы означает изменение контракта, а не расширение запроса на ходу.

Что не уходит никогда

Локальные пути, приватные репозитории, идентификатор вашего аккаунта, ключ устройства, почта, имя проекта, путь цели, имена и значения переменных окружения, содержимое файлов, заголовки и аргументы MCP-серверов.

anon — случайный идентификатор в локальном каталоге данных. Он отличает одну установку CLI от другой и ничего больше: он не равен device_id, не связан с аккаунтом и не объединяется с публичными счётчиками каталога. Удалите локальный каталог данных — и он станет другим.

Если компонент публично назвать нечем — нет имени или вида, — запрос не отправляется вовсе, даже при включённой телеметрии.

Когда именно отправляется

После успешного применения с действием install или update, по одному запросу на фактически установленный компонент. Сетап из трёх компонентов даёт три запроса.

Не отправляется на backup, rollback, remove, на любые чтения, в автономном режиме и в тестах.

Если запрос не дошёл

Сетевая ошибка, timeout и любой ответ, кроме успешного, проглатываются молча. Установка остаётся verified: её результат — свойство вашей цели, а не коллектора. Повторов и накопления пачкой нет.

Как выключить

ai-stp telemetry consent --decline --confirm --json

Отдельно есть переменная окружения AI_STP_TELEMETRY_SUPPRESS: она глушит отправку независимо от записанного согласия. Это аварийный выключатель для окружений, где исходящий трафик недопустим, а не замена ответу на экран.

Прямая запись telemetry.enabled=true в конфигурацию отклоняется — включить телеметрию можно только явным согласием.

Машинная граница целиком — в контракте cli-telemetry.md; здесь она пересказана для человека, а не задана.

ai_stp