터미널 세션
구현 플랜 터미널의 영구 PTY 세션, 에이전트 주의 감지 및 복구 동작입니다.
상태 확인 및 로깅을 사용하여 영구 PTY에서 명령을 실행하세요. 필요할 때 음성 전사를 사용할 수 있습니다.
세션 수명 주기
터미널이 열리면 UI 컴포넌트는 PTY 세션을 생성하고 버퍼링된 뷰를 통해 출력을 스트리밍합니다. 컴포넌트는 즉각적인 연결 상태를 표시하고, 키 입력을 PTY로 전달하며, 세션이 실패하면 자동으로 재시도합니다. 세션 메타데이터는 타임스탬프, 종료 코드, 작업 디렉터리 및 전체 출력 로그와 함께 SQLite에 저장되어 재시작 시 이전 컨텍스트를 재개할 수 있습니다.
종속성 확인
명령을 시작하기 전에 터미널은 claude, cursor, codex, gemini와 같은 지원되는 CLI 도구의 존재를 확인합니다. 동일한 명령은 사용자가 실행될 환경을 알 수 있도록 기본 셸도 보고합니다. 이는 필요한 바이너리를 찾을 수 없는 세션으로 시작하는 것을 방지합니다.
에이전트 주의 감지
터미널은 2단계 비활성 감지 시스템을 통해 에이전트 활동을 모니터링합니다. 에이전트가 출력 생성을 중지하면 시스템이 점진적으로 무슨 일이 일어났는지 확인하도록 경고합니다:
- 레벨 1(30초): 노란색 표시기와 함께 "에이전트 유휴 - 작업이 완료되었을 수 있음"
- 레벨 2(2분): 빨간색 표시기 및 데스크톱 알림과 함께 "에이전트 주의 필요 - 터미널 확인"
이 접근 방식은 에이전트가 멈춘 이유를 추측하지 않고 작업을 완료했거나 안내가 필요한 시점을 추적하는 데 도움이 됩니다. 주의 표시기는 새 출력이 수신되면 자동으로 지워집니다.
음성 전사 및 복구
터미널 모달 내에서 음성 전사는 음성을 캡처하여 터미널 입력 영역에 붙여넣을 수 있습니다. 녹음 훅은 프로젝트 수준 전사 설정을 조회하고, 녹음 상태를 추적하며, 인식된 텍스트를 활성 플랜 세션으로 스트리밍합니다.
PTY 세션이 연결이 끊어지면 터미널 인터페이스는 복구 컨트롤을 표시하고 지수 백오프로 연결을 재시도합니다. 상태 확인은 세션 상태를 계속 모니터링하고 연결 문제가 감지되면 자동 복구 작업을 제공합니다.