목록으로
제품2026년 4월 10일 PM 05:34

오픈소스 CLI 도구 tui-use, AI 에이전트의 인터랙티브 터미널 제어 지원

AI 에이전트가 셸 명령어와 API 호출을 넘어 인터랙티브 터미널 프로그램까지 직접 제어할 수 있게 하는 오픈소스 CLI 도구 tui-use가 공개됐다. BrowserUse가 웹 브라우저를 AI 에이전트에게 열어준 것처럼, tui-use는 터미널 환경을 AI 에이전트의 활동 영역으로 확장한다.

기존 AI 에이전트는 셸 명령 실행과 API 호출이 가능하지만, REPL이 입력을 기다리거나 디버거가 브레이크포인트에 도달하거나 TUI 앱이 메뉴를 렌더링하는 상황에서는 작동이 멈추는 한계가 있었다. tui-use는 이 공백을 메워 모든 프로그램을 PTY에서 실행하고, 화면을 일반 텍스트로 읽고, 키 입력을 전송하는 방식으로 동작한다.

핵심 기술은 headless xterm 에뮬레이터를 통한 PTY 이벤트 스트림 처리다. 프로그램이 출력하는 모든 바이트가 실시간으로 터미널 에뮬레이터를 거치며, ANSI 이스케이프 시퀀스와 커서 이동, 화면 클리어가 정확히 처리된다. 최종 출력은 깨끗한 일반 텍스트로 제공된다.

tui-use의 스마트 대기(Smart Wait) 기능은 기존 tmux 방식의 한계를 해결한다. tmux의 send-keys는 프로그램 응답 완료 시점을 알 수 없어 에이전트가 sleep으로 추측하거나 capture-pane을 반복 폴링해야 했다. 반면 tui-use의 wait 명령은 화면이 100ms 동안 안정될 때까지 블로킹하며, wait --text 패턴을 사용하면 특정 프롬프트 출현 시점까지 정확히 대기할 수 있다.

주요 활용 사례로는 수백만 개 요소의 배열 등 대규모 인메모리 상태를 가진 과학 컴퓨팅 환경에서의 라이브 디버깅, GDB와 PDB 등 인터랙티브 디버거 세션 구동, Python과 Node.js 등의 REPL 세션 실행, vim과 lazygit 같은 전체 화면 TUI 애플리케이션 제어가 포함된다.

각 스냅샷에는 화면의 반전 영상(inverse-video) 영역을 감지하는 highlights 필드가 포함되어, TUI 프로그램에서 현재 선택된 메뉴 항목이나 탭, 버튼을 에이전트가 텍스트 파싱 없이 파악할 수 있다. 기본 터미널 크기는 120x30으로 설정되며 사용자 지정이 가능하다.

tui-use는 Claude Code, Cursor, Codex, Gemini CLI, OpenCode 등 주요 AI 코딩 에이전트와 호환된다. npm install -g tui-use 명령으로 설치할 수 있으며, 소스 코드에서 직접 빌드도 가능하다. Unix PTY 기반으로 macOS와 Linux를 지원하며, Windows는 ConPTY를 통한 지원이 계획 중이다.

현재 제한 사항으로는 TUI의 색상 및 스타일 정보가 대부분 손실되어 screen 필드에는 일반 텍스트만 포함된다는 점이 있다. 다만 선택된 항목과 활성 요소는 반전 영상 감지를 통해 highlights 필드에서 별도로 캡처된다.

AI인사이트 편집팀

이 기사는 AI 기술을 활용해 작성되었으며, 편집팀이 검수했습니다.

관련 기사