Community생산성 & 협업github.com

Textualize/textual

에이전트의 사고 루프, 도구 상태 및 실행 스트림을 보여주는 터미널 인터페이스를 구축하는 데 사용되는 Python TUI 프레임워크입니다.

textual란 무엇인가요?

Textualize/textual은 Python 기반의 TUI(Terminal User Interface) 프레임워크로, 개발자가 터미널에서 직접 구동되는 인터랙티브한 애플리케이션을 쉽게 만들 수 있도록 돕습니다. 이 스킬은 특히 AI 에이전트(Claude Code, Cursor, Codex 등)의 사고 루프(thought-loop), 도구 실행 상태, 그리고 실행 스트림을 시각화하는 데 특화되어 있습니다. Textual은 비동기 이벤트 루프(asyncio)와 풍부한 위젯 세트를 제공하여 사용자 정의 가능하고 반응성 높은 인터페이스를 구현할 수 있습니다. 또한 마우스 및 키보드 입력을 지원하며, CSS 스타일링을 통해 복잡한 레이아웃과 테마를 손쉽게 적용할 수 있어 에이전트 워크플로우를 효율적으로 모니터링하고 제어하는 데 유용합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add Textualize/textual

Installed? Explore more 생산성 & 협업 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

textual은(는) 무엇을 하나요?

에이전트의 사고 루프, 도구 상태 및 실행 스트림을 보여주는 터미널 인터페이스를 구축하는 데 사용되는 Python TUI 프레임워크입니다.

개요

Textual은 Python 애플리케이션을 위한 모던 TUI 프레임워크로, 터미널 내에서 풍부하고 인터랙티브한 사용자 인터페이스를 제공합니다. AI 에이전트 개발에 특화되어 있어 실시간 로그, 상태 업데이트, 다중 스트림 출력을 시각화할 수 있습니다.

주요 기능

  • 비동기 지원: asyncio 기반으로 동시성 처리에 강함
  • 위젯 라이브러리: 버튼, 텍스트 입력, 트리 뷰 등 다양한 위젯 제공
  • CSS 스타일링: CSS를 사용한 레이아웃과 스타일 지정
  • 터미널 최적화: 다양한 터미널 에뮬레이터와 호환
  • 에이전트 통합: Claude Code, Cursor, Codex 등과 연동 가능

설치

pip install textual

기본 사용 예제

from textual.app import App
from textual.widgets import Header, Footer, Static

class AgentMonitorApp(App):
    """에이전트 상태 모니터 앱"""
    
    def compose(self):
        yield Header()
        yield Static("에이전트 상태: 대기 중")
        yield Footer()

if __name__ == "__main__":
    app = AgentMonitorApp()
    app.run()

에이전트 통합 예제

사고 루프와 도구 상태를 표시하는 위젯:

from textual.widgets import Tree

class ThoughtTree(Tree):
    """에이전트 사고 과정을 트리로 표시"""
    
    def update_thought(self, thought: dict):
        self.clear()
        root = self.root.add("사고 루프")
        root.add_leaf(f"단계: {thought['step']}")
        root.add_leaf(f"도구: {thought['tool']}")
        root.add_leaf(f"상태: {thought['status']}")

자세한 정보

관련 스킬