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(где есть) → envMOCKARTY_SERVER→
~/.mockarty/config.yaml. - Токен: env
MOCKARTY_API_TOKEN→~/.mockarty/auth.json→
OAuth device-flow (только если сервер анонсирует OIDC). - Язык:
MOCKARTY_LANG→LC_ALL/LANG/LANGUAGE→ английский.
Если сервер недоступен, экран авторизации показывает ошибку подключения.
Проверьте адрес и сеть. У локальных команд CLI есть собственные ограничения;
см. «Что работает без лицензии».