Mitchell Hashimoto가 터미널 프로그램 상태 알림용 OSC 7501 명세를 공개함
- OSC 7501은 프로그램이 idle, working, blocked, finished, failed 같은 자기 상태와 그 이유를 pty로 직접 터미널에 보내는 이스케이프 시퀀스 명세임
- Herdr 같은 에이전트 인박스 도구는 화면이나 창 제목의 패턴을 보고 상태를 추측하는 휴리스틱 방식에 기대고 있으며, Claude Code 규칙 파일은 3개월 동안 10번 바뀜
- 소켓 API나 cmux notify 같은 비터미널 API는 인박스마다 따로 연동해야 하고, 로컬 소켓은 SSH나 컨테이너에서 별도 브리지 없이는 동작하지 않음
- 명세는 특정 제품 기능에 묶이지 않는 범용 사양이라고 저자가 밝혔으며, Superlogical과 Ghostty 작업 중에 나왔음
- 명세 예시로 Terraform이 적용 여부를 묻는 대기 상태를 base64 인코딩 메시지와 함께 알리는 방식이 제시됨
Hacker News opinions
이거 IBM 3270 상태줄 생각나는데, 아이디어 자체는 꽤 괜찮다고 봄
근데 명세 끝까지 읽어보니까 kind := permission | question | auth 같은 건 AI 에이전트 말고는 쓸 데가 없더라. 사용 사례 얘기도 흐려서 Kitty 수준은 아직 멀어 보임
in-band로 신호를 계속 얹으면 보안 문제 됨. 에이전트가 터미널 스트림을 통째로 받으니까 프로세스 상태는 따로 조회하는 안전한 방식이 낫지 않나
나는 수십 년째 iTerm2에서 탭 activity랑 벨로 비슷하게 쓰는 중임. 명령 끝나면 종료 코드에 따라 소리 다르게 나는 alias도 있음
빌드 끝나면 소리 나게 한 적 있는데, 5분짜리 작업 기다리다 딴 거 하면 결국 10분 뒤에 실패한 걸 보게 됨. 20년 전엔 소리가 제일 좋은 알림이었음
BSD는 ^T 누르면 SIGINFO로 상태를 바로 보여주더라. 이거랑 비교하면 ^T는 pull이고 OSC 7501은 push라 방향이 반대임
이걸 systemd-appd 메타데이터에 연결하면 재밌겠다 싶음
Herdr는 좀 답답한데 지금 있는 것 중엔 제일 낫다고 생각함
terminfo가 죽었다는 건 아님. Dickey가 지난달에도 업데이트했음. 문제는 boolean capability가 고정돼 있어서 새 기능 넣기가 어렵다는 거임
나는 terminfo가 왜 필요한지 잘 모르겠음. 앱이 시퀀스를 무조건 내보내고 터미널이 모르면 무시하면 그만이라 graceful degradation으로 충분함
화면 애니메이션이 멈추면 주의가 필요하다고 보고 벨 울리는 방식도 가능함. 근데 다른 사람이 말했듯이 주의 측정이 워낙 brittle해서 쉽지 않음