Документация Руководство по TUI v2

TUI v2 — Терминальный интерфейс

В Mockarty встроен интерактивный терминальный интерфейс (TUI) второго
поколения на базе bubbletea.
Он рассчитан на инженеров, которые предпочитают клавиатуру браузеру,
работают по SSH на закрытых серверах или хотят встроить операции Mockarty
в шелл-конвейеры.

TUI обращается к тому же admin-узлу, что и веб-интерфейс, SDK и
не-интерактивные подкоманды CLI. Всё, что можно сделать в TUI, доступно
и через флаги mockarty-cli — TUI просто заметнее, и в нём проще
осваиваться по ходу.

Зачем использовать TUI

  • Не нужен браузер. Работает по SSH, внутри tmux, на минимальных
    Linux-образах без X11.
  • Быстро. Нулевой RTT до веб-интерфейса; нажатия клавиш транслируются
    прямо в API-вызовы. Стартовый экран рендерится менее чем за 50 мс.
  • Скриптуемые «глубокие ссылки». У каждого экрана есть свой
    mockarty-cli tui <name> — CI-шаг или shell-alias могут открыть
    ровно тот экран, который нужен.
  • Учитывает анонимный режим. Если CLI не настроен на сервер /
    лицензию, TUI всё равно стартует и показывает welcome-меню с ссылками
    на документацию и страницу тарифов.

Запуск

Команда Где открывается
mockarty-cli tui Welcome-меню
mockarty-cli tui auth Экран Auth Status
mockarty-cli tui test-plans Picker тест-планов
mockarty-cli tui results --plan ID Просмотр результатов по конкретному плану
mockarty-cli tui mocks Список моков
mockarty-cli tui perf Список perf-конфигураций
mockarty-cli tui fuzz Список fuzz-целей
mockarty-cli tui chaos Список chaos-экспериментов (pre-GA, см. ниже)

Язык задаётся явно: MOCKARTY_LANG=ru mockarty-cli tui. Иначе CLI
следует LC_ALL, LANG, LANGUAGE, а при отсутствии совпадений —
английский.

Welcome-меню

Welcome встречает вас словесным логотипом MOCKARTY (ASCII-арт на терминалах
≥ 70 колонок, компактная строка на более узких) и корневым меню. Буквы (где
регистр важен — отмечено отдельно) переключают на соответствующую фичу:

Клавиша Экран
A Auth Status — режим, роль, namespace
T Picker тест-планов
R Недавние результаты
K Список моков (K для «моК», чтобы оставить M под будущее «More…»)
P Perf-конфигурации (заглавная, чтобы не конфликтовать с p page-prev на дочерних экранах)
F Fuzz-цели
C Chaos-эксперименты
Q Выход

Если CLI работает в анонимном режиме, под меню появляется
дополнительный пункт [L] Log in и подсказка-футер со ссылкой на тарифы.
Нажмите L, чтобы запустить OAuth-вход, не покидая TUI (см.
OAuth-вход).

Enter со стартового экрана — удобная горячая клавиша: открывает
Auth Status (самое частое действие новичка).

Глобальные клавиши

Работают на любом экране, если явно не указано иное:

Клавиша Действие
? Открыть help-оверлей (глобальные клавиши + клавиши текущего экрана); любая клавиша закрывает
q Выход из Mockarty
ctrl+c Выход откуда угодно — работает всегда, даже внутри текстового поля
esc Назад к родительскому экрану
tab Фокус на следующее поле / панель
shift+tab Фокус назад
enter Подтвердить / войти в выделенный элемент
↑ / ↓ Перемещение по списку
p / n Предыдущая / следующая страница (для списков-страниц)

Когда сфокусировано текстовое поле (фильтр, поле визарда), обычные q и
? вводятся как текст, а не запускают выход/справку — так вы не потеряете
наполовину заполненную форму из-за случайного нажатия. Для безусловного выхода
используйте ctrl+c.

Обзор экранов

Auth Status (A или tui auth)

Без токена показывает подсказку для входа. После входа показывает логин,
почту, системную роль, адрес сервера и активное пространство имён. Режим
лицензии и числовые пределы сервера этот экран не показывает; локальные
ограничения приведены в разделе
«Что работает без лицензии».

Picker тест-планов (T или tui test-plans)

Список всех тест-планов, которые вы можете читать в активном namespace.
В каждой строке — имя плана, владелец, статус последнего запуска,
время последнего изменения. Enter — детальный просмотр; r — запуск;
l — журнал прошлых результатов.

Просмотр результатов (R или tui results --plan ID)

Стримит последние результаты — passed/failed, длительности и ссылку на
полный отчёт. Без --plan — общий namespace-список; с --plan —
история одного плана.

Моки (K или tui mocks)

Список моков в активном namespace. Фильтр по method/path:
нажмите / и введите запрос; Enter открывает детали мока (заголовки,
матчеры, превью тела ответа).

Perf-конфигурации (P или tui perf)

Список сохранённых конфигураций нагрузочных тестов. r — запуск,
e — редактор скрипта, l — журнал результатов.

Fuzz-цели (F или tui fuzz)

Список fuzz-целей (endpoint + словарь + мутатор). Enter — журнал
запусков; r — новый запуск.

Chaos-эксперименты (C или tui chaos)

Bubbletea-замена устаревшего mockarty-cli tui chaos. Список прошлых
экспериментов со статусом и целью + пятишаговый мастер
(name → target → fault → schedule → review) для нового запуска.
Таблица обновляется каждые 2 секунды.

Pre-GA. Chaos сейчас в pre-GA preview. TUI работает в режиме
«только чтение», пока не подтвердите --i-know-this-is-preview или
MOCKARTY_CHAOS_PREVIEW=1. Подробнее — Chaos pre-GA.

Темы

TUI использует lipgloss и
уважает цветовой профиль терминала. Полезные ручки:

  • NO_COLOR=1 — отключает цвет (для dumb-терминалов).
  • TERM=xterm-256color — включает 256-цветный режим.
  • COLORTERM=truecolor — включает 24-битный цвет.

Диагностика

Симптом Причина / решение
Экран мерцает / символы плывут Терминал узкий. TUI требует ≥ 80 колонок. Расширьте окно и нажмите любую клавишу.
Кириллица — квадраты Шрифт терминала не содержит кириллицы. Поставьте Unicode-полный шрифт (DejaVu и др.).
Цвета «не те» на светлом фоне TUI авто-подстраивается под фон терминала; если терминал сообщает фон неверно — попробуйте другой терминал или NO_COLOR=1.
? вводит знак вопроса Сфокусировано текстовое поле — ? и q при вводе идут как текст. Нажмите esc, чтобы снять фокус, затем ? откроет справку.
Кроме welcome ничего не открывается CLI в анонимном режиме и не настроен. Запустите mockarty-cli auth login или задайте MOCKARTY_API_TOKEN / MOCKARTY_SERVER.
mockarty-cli tui сразу выходит Команде нужен интерактивный терминал. Запустите её напрямую, не перенаправляя вывод.

Откуда TUI берёт данные

  • Адрес сервера: флаг --server (где есть) → env MOCKARTY_SERVER →
    ~/.mockarty/config.yaml.
  • Токен: env MOCKARTY_API_TOKEN → ~/.mockarty/auth.json →
    OAuth device-flow (только если сервер анонсирует OIDC).
  • Язык: MOCKARTY_LANG → LC_ALL / LANG / LANGUAGE → английский.

Если сервер недоступен, экран авторизации показывает ошибку подключения.
Проверьте адрес и сеть. У локальных команд CLI есть собственные ограничения;
см. «Что работает без лицензии».