Интерфейс в терминале
Начиная с версии 0.36.0 команды tuna http, tuna tcp, tuna ssh, tuna postgres, tuna redis и tuna kubernetes показывают полноэкранный интерфейс (TUI) вместо текстового лога. Он включается сам, если вывод идёт в терминал.
Что на экране
В шапке всегда видны:
- аккаунт;
- адрес туннеля (Forwarding) и локальный адрес, куда он ведёт;
- адрес инспектора;
- статус подключения:
onlineилиreconnecting; - сообщения от сервера.
Основная часть экрана зависит от типа туннеля:
| Туннель | Что показывает |
|---|---|
| HTTP | Ленту запросов (новые сверху) и метрики: всего запросов, rpm, p50, p90, число ответов 4xx и 5xx. По Enter открываются детали запроса: заголовки и отформатированное тело JSON |
| Postgres, Redis | Слева список сессий: ● — активна, ○ — закрыта, • — есть непросмотренные события. Справа события выбранной сессии с подсветкой: запросы, число строк в ответе, ошибки |
| SSHd | Инструкцию для подключения и ленту сессий, в том числе отказы в доступе. Enter на активной сессии открывает её просмотр в реальном времени, на завершённой — воспроизведение записи |
| Kubernetes | В шапке сервисный аккаунт, namespace, ограничения и срок действия доступа, ниже — лента запросов гостя |
| TCP | Лог туннеля |
Горячие клавиши
Общие для всех туннелей:
| Клавиша | Действие |
|---|---|
Ctrl+C | Остановить туннель и выйти. Другого способа выйти нет, q только возвращает назад. На экране QR-кода и при просмотре SSH-сессии Ctrl+C только закрывает их |
c | Скопировать адрес туннеля |
i | Открыть инспектор в браузере |
l | Показать или скрыть лог (кроме TCP, где лог — основной экран) |
Q | Показать QR-код адреса туннеля, Enter или Ctrl+C возвращают назад, туннель продолжает работать |
↑ ↓ | Выбрать запись |
g / G | Перейти к новым / старым записям |
Esc, q | Назад из деталей и лога |
g или ↑ на первой записи включают режим слежения: выделение само переходит на новые записи по мере их появления.
HTTP:
| Клавиша | Действие |
|---|---|
Enter | Детали запроса |
r | Повторить запрос |
/ | Фильтр по методу, пути или статусу, Esc сбрасывает фильтр |
o | Открыть адрес туннеля в браузере |
Postgres и Redis:
| Клавиша | Действие |
|---|---|
Tab | Переключиться между списком сессий и событиями |
y | Скопировать запрос |
SSHd:
| Клавиша | Действие |
|---|---|
Enter | Смотреть активную сессию или воспроизвести запись завершённой. Ctrl+C закрывает только просмотр, туннель продолжает работать |
Флаг --qr при включённом интерфейсе один раз показывает экран с QR-кодом после подключения, Enter или Ctrl+C возвращают к основному экрану.
При --inspect=false запросы и сессии не записываются, поэтому лента HTTP, Postgres и Redis остаётся пустой.
Отключение
Чтобы вернуть текстовый лог, запустите туннель с одним из флагов:
tuna http 8080 --log=stdout
tuna http 8080 --log=stderr
tuna http 8080 --log-format=json
Или задайте переменную окружения TUNA_TUI=0.
С --log=/path/to/file.log интерфейс остаётся, а лог параллельно пишется в файл.
Интерфейс не включается сам, если:
- вывод перенаправлен в файл или пайп, туннель запущен как сервис или через systemd;
- задана переменная
CIилиNONINTERACTIVE; TERM=dumb;- tuna запущена ИИ-агентом (заданы
AI_AGENT,CLAUDECODEилиCURSOR_AGENT). В этом случае интерфейс можно включить черезTUNA_TUI=1.
Команда tuna start работает с текстовым выводом, как раньше.