remorses/tuistory
TMUX for agents. let agents control & test terminal user interfaces. Like Playwright & agent-browser but for TUIs
해결하는 문제
Tuistory는 개발 서버, REPL, 인터랙티브 CLI와 같은 장기 실행 터미널 프로세스와 블로킹 없이 상호작용할 수 있게 해줍니다. 서버를 시작할 때 에이전트가 멈추는 문제나, 프로세스가 준비되었는지 추측하기 위해 맹목적인 sleep 명령어에 의존해야 하는 문제를 해결합니다.
작동 방식
Tuistory는 리레이 데몬이 관리하는 이름이 지정된 백그라운드 세션에 터미널 명령을 래핑합니다. 이 아키텍처는 인간과 AI 에이전트 모두가 동일한 세션에 연결할 수 있게 해줍니다. 인간은 tmux와 유사하게 인터랙티브하게 터미널에 연결할 수 있지만, 에이전트는 CLI 또는 프로그래밍 API를 사용하여 로그를 읽고, 특정 텍스트 패턴(정규식)을 기다리며, 화면의 스냅샷을 캡처하고, 프로세스에 키 입력을 보낼 수 있습니다.
대상 사용자
- AI 에이전트 개발자: 개발 서버를 실행하고 모니터링하거나 인터랙티브 터미널 도구를 사용해야 하는 코딩 에이전트를 개발하는 사람
- TUI 개발자: 자동화나 테스트가 필요한 터미널 사용자 인터페이스를 개발하는 사람
- 자동화 엔지니어: TTY 프로세스를 프로그래밍 방식으로 제어하고 싶은 사용자
주요 기능
- 반응형 대기: 맹목적인
sleep을wait및wait-idle명령어로 대체하여 터미널 출력에 즉시 반응합니다. - 공유 상태: 인간과 에이전트가 동일한 터미널 세션을 공유할 수 있어, 에이전트가 시작한 프로세스에 인간이 개입하여 상호작용할 수 있습니다.
- 프로그래밍 제어: PTY를 정밀하게 제어할 수 있는 TypeScript 라이브러리를 제공하며, 마치 "터미널용 Playwright"와 같습니다.
- 시각적 검사: 현재 터미널 화면을 텍스트 스냅샷 또는 PNG 이미지로 캡처할 수 있습니다.
- CWD 및 환경 상속: 호출된 쉘의 전체 환경과 PATH를 자식 프로세스로 전달합니다.
- 반복 실행 가능: 기존 세션에 재접속함으로써 "포트가 이미 사용 중" 오류를 방지하고 실패를 피합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트