v0.1.5 · macOS · Rust · tmux 호환 명령 · C ABI · Node
zeropty는 AI 에이전트를 위한 세션 엔진이에요. 화면을 읽고, 키를 보내고, 끝날 때까지 기다려요. tmux 명령 그대로, CPU와 메모리는 훨씬 적게 써요.
구조
에이전트
호스트
실제 화면

같은 Apple M1에서 tmux 3.7c와 번갈아 잰 값이에요. 모든 수치와 측정 방법 →
규모
PTY를 안 쓰니 PTY 한도가 없어요. tmux는 511개(최대 999개)에서 멈추지만, zeropty는 실제 claude 작업을 재생하는 세션 1000개를 4.65MB로 돌려요.
속도
send-keys가 임베디드에서 0.06~0.07ms, 소켓으로 0.24~0.26ms예요. 명령마다 tmux를 실행하면 9.03~9.56ms가 걸려요.
기다리기
글자가 화면에 뜨는 순간 돌아와요. p50 1ms, 폴링 없음. capture-pane을 반복하며 86~96ms 늦게 알아챌 일이 없어요.
찾기
세션 1000개 중 입력을 기다리는 세션을 16~32ms에 찾아요. 화면을 하나하나 캡처하지 않아요.
업그레이드
돌고 있는 세션을 그대로 넘겨받으며 서버를 바꿔요. tmux는 서버를 다시 띄우면 세션이 끝나요.
임베딩
C ABI를 링크하거나 Node 모듈을 불러서, 서버 프로세스도 소켓도 없이 세션을 다뤄요.
지원 환경
1분 시작
$ git clone https://github.com/CreatiCoding/zeropty && cd zeropty && ./build.sh
$ export PATH="$PWD/dist:$PATH"
$ zeropty new-session -d -s demo -x 80 -y 6 sh
$ {
"zeropty send-keys -t demo -l 'echo \"done": "$((6 * 7))\"'"
}
$ zeropty send-keys -t demo Enter
$ {
"zeropty wait-pane -t demo -m 'done": "42' -T 10000"
}
$ zeropty capture-pane -p -t demo
가이드 읽기