yt: CLI Яндекс Трекера с политиками безопасности
yt — Yandex Tracker CLI
Кроссплатформенный CLI Яндекс Трекера на NativeAOT с четырьмя способами входа, read-only режимом и ограничением очередей и задач на запись
Высокий риск
Высокий уровень ставим, когда инструмент пишет во внешние системы, работает с деньгами, рабочими базами или секретами либо выполняет произвольные команды. CLI поставит его только после вашего согласия.
Почему такой уровень
- Write-команды создают, меняют, переводят по статусам и удаляют задачи, компоненты и версии в боевом Трекере
- Политики CLI не защищают от прямой правки файла конфига или сырых креденшелов сервисного аккаунта в окружении вызывающего
- Начинайте с --read-only при входе и allowed_queues на нужный минимум, ослабляйте только через осознанное пересоздание профиля
Установка
Ручная установка
brew install RoboNET/yt/ytУстановка на macOS Apple Silicon и Linux через Homebrew.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
yt это бинарь на .NET NativeAOT весом около 10 МБ без зависимостей и рантайма, который покрывает почти весь публичный API Трекера: задачи, комментарии, ворклоги, вложения, чек-листы, доски, спринты, проекты, компоненты, версии, поля и справочники. Поддерживает четыре режима входа: OAuth Yandex 360, IAM-токен Yandex Cloud, сервисный аккаунт и federated-вход через браузер с DPoP. Формат вывода JSON для агентов и таблица для человека выбирается автоматически по TTY. Главная особенность это многослойная модель политик в самом CLI: read_only полностью блокирует запись, allowed_queues ограничивает доступные очереди на чтение и запись, allowed_write_issues разрешает запись только в конкретные задачи, а external_effects запрещает инициировать рассылку и автоматизации. Политики можно только ужесточать через config set, снять их можно лишь пересозданием профиля.
Для кого. Для команд, которым нужен CLI Трекера с по-настоящему строгими и документированными границами того, что может сделать агент или CI.
Подходит, если
- Нужно жестко ограничить агента конкретной очередью или даже одной задачей на запись
- Работаете в Yandex Cloud и хотите federated-вход, как у yc init
- Важен статус read_only, который CLI гарантирует не как совет, а как техническую блокировку запроса
Не подходит, если
- Достаточно простого токена без политик очередей и задач: тут модель богаче, чем нужно для разовой задачи
- Нужен протокол MCP, а не бинарь командной строки
Пример запроса к агенту
Покажи мои задачи в очереди TECH со статусом open и переведи TECH-146 в работуОграничения
Политики защищают только вызовы через сам yt, а не прямую правку файла конфига или сырые креденшелы сервисного аккаунта в окружении вызывающего. Это прямо описано в README как второй слой защиты, а не первый. IAM-токен живет 12 часов, для долгой работы нужен Service Account или Federated режим. Boards, sprints, projects и глобальные справочники не фильтруются по allowed_queues.
Как отключить. Выполните yt config set read_only true --profile имя, чтобы временно заблокировать запись, или yt auth logout, чтобы забыть токен.
Проверка безопасности
- Write-команды создают, меняют, переводят по статусам и удаляют задачи, компоненты и версии в боевом Трекере
- Политики CLI не защищают от прямой правки файла конфига или сырых креденшелов сервисного аккаунта в окружении вызывающего
- Начинайте с --read-only при входе и allowed_queues на нужный минимум, ослабляйте только через осознанное пересоздание профиля
Коротко о README
README на русском детально описывает четыре режима авторизации, полный список команд по группам, формат вывода с auto-определением JSON или таблицы, режим read_only, три независимые политики (allowed_queues, allowed_write_issues, external_effects) с точными таблицами разрешенных и запрещенных изменений, границы этих политик и их честные пределы, коды выхода и установку скилла для AI-ассистентов через маркетплейс Claude Code или универсальные установщики.
Частые вопросы
Можно ли ослабить read_only после того, как его включили?
Нет через config set, это дает policy_violation, единственный путь: пересоздать профиль заново через auth login без флага --read-only.
Фильтруются ли связанные задачи из чужих очередей?
Ключи и темы связанных задач видны в issue get, но сами эти задачи прочитать нельзя, если они вне allowed_queues.
Похожие
Самостоятельно размещаемая база знаний с блочными ссылками и встроенным MCP-сервером для подключения AI-агентов к заметкам
CLI для всех API Google Workspace с выводом в JSON и набором скиллов для агентов: Drive, Gmail, Calendar, Sheets и другие
Локальный поиск по заметкам, документации и расшифровкам встреч в Markdown: ключевые слова, смысловой поиск и ранжирование, есть MCP
Менеджер задач для AI-разработки: разбирает PRD на задачи с зависимостями и ведет агента по ним через MCP или CLI