Проблема: AI не видит терминал
Современные AI-агенты (Claude Code, Codex, Gemini CLI) отлично справляются с запуском shell-команд и вызовом API. Однако они бессильны перед программами, требующими интерактивного ввода с клавиатуры. Когда REPL ждет ввода, отладчик останавливается на брейкпоинте, или TUI-приложение рисует меню, агент застревает — стандартные инструменты вроде bash не могут «прочитать» экран или «нажать» кнопку.
Инструмент tui-use (от разработчика onesuper) закрывает этот пробел. Он запускает программы в псевдотерминале (PTY), рендерит вывод через эмулятор xterm и позволяет агенту читать экран как чистый текст и отправлять нажатия клавиш.
Технические детали и преимущества перед tmux
Главное отличие tui-use от традиционных решений вроде tmux — отсутствие необходимости угадывать время отклика. В tmux агенты часто используют sleep 2 или циклический опрос, что ненадежно. tui-use работает напрямую с потоком событий PTY:
- Smart Wait: Команда
waitблокируется до стабилизации экрана (по умолчанию 100 мс тишины после изменений). Это исключает гонки состояний. - Семантический сигнал: Опция
wait --text ">>>"ждет появления конкретного текста (например, приглашения Python), а не просто тишины. - Highlights: Инструмент выделяет элементы с инвертированным видео (выбранные пункты меню, активные вкладки), позволяя агенту понимать контекст без парсинга курсора.
Ключевые возможности
Инструмент поддерживает работу с любыми программами, доступными через bash, включая сложные сценарии:
- Отладка в памяти: Работа с GDB/PDB без перезапуска процесса. Агент может inspect переменные, которые занимают гигабайты памяти и не могут быть сохранены в лог.
- REPL-сессии: Интерактивная работа с Python, Node.js и другими интерпретаторами.
- TUI-приложения: Управление vim, lazygit, htop, fzf и другими полноэкранными интерфейсами.
Интеграция с AI-агентами
tui-use предоставляет плагины для популярных AI-кодинговых инструментов. Установка требует предварительной установки CLI через npm:
| Агент | Метод установки | Особенности |
|---|---|---|
| OpenAI Codex | Локальный маркетплейс | Требует открытия репозитория в Codex. Плагин дает навыки, CLI — функционал PTY. |
| Claude Code | Self-hosted marketplace | Команды: /plugin marketplace add onesuper/tui-use, затем /plugin install tui-use@tui-use. |
| Cursor / Gemini CLI | Через CLI | Поддерживаются как основные целевые платформы для использования. |
Как это работает «под капотом»
Архитектура построена на демоном, который управляет сессиями PTY. Вывод программы проходит через headless xterm-эмулятор, который корректно обрабатывает ANSI-последовательности, движение курсора и очистку экрана. Агент получает чистый текст в поле screen и метаданные в highlights и title.
Базовый цикл взаимодействия выглядит так: snapshot (снимок экрана) → type (ввод текста/клавиш) → wait (ожидание результата). Это делает процесс детерминированным и предсказуемым для LLM.
Источник: Github ↗
