ht - 헤드리스 터미널
(github.com/andyk)- 임의의 다른 바이너리(bash, vim등)을 VT100 스타일 터미널 인터페이스로 래핑
- Pseudo 터미널 클라이언트(PTY)와 터미널 서버를 결합하여 해당 터미널의 입력 및 출력에 쉽게 프로그래밍 방식으로 액세스 가능
- stdin/stdout 으로 JSON 이용
- 터미널과 프로그래밍 방식으로 상호 작용하는 데 유용 (개발 동기는 LLM 에이전트가 터미널을 쉽게 활용하기 위함이었음)
- 터미널은 모든 컴퓨팅 분야에서 가장 오래되고 가장 많이 사용되는 UI 프레임워크 중 하나
- Stateful이기 때문에 예를 들어 터미널에서 편집기를 사용할 때 터미널은 커서 위치에 대한 상태를 관리해야 함
- HT가 없으면 에이전트는 이 상태를 직접 관리하기 어렵지만 HT를 사용하면 사람처럼 터미널을 보기만 하면 됨
- Rust로 개발되어 macOS 및 Linux에서 동작함