Server-Sent Events (SSE)

개요

Cheolsu Proxy는 Server-Sent Events (SSE) 스트림을 실시간으로 캡처하고 분석합니다. SSE는 서버에서 클라이언트로 단방향 이벤트를 전송하는 프로토콜로, AI 챗봇의 스트리밍 응답, 실시간 알림, 주가 업데이트 등에 널리 사용됩니다.

SSE 응답은 text/event-stream Content-Type으로 전달되며, Cheolsu Proxy는 이를 자동으로 감지하여 개별 이벤트 단위로 파싱합니다.


이벤트 구조

SSE 표준에 따라 각 이벤트의 다음 필드를 파싱합니다:

필드설명
data이벤트 데이터 (여러 줄 가능)
event이벤트 타입 (기본값: message)
id이벤트 식별자 (재연결 시 Last-Event-ID 헤더로 사용)
retry재연결 간격 (밀리초)

주석(: 으로 시작하는 줄)은 별도로 처리되며, 이벤트 데이터에 포함되지 않습니다.


주요 기능

연결 목록

활성 및 종료된 SSE 연결을 시간순으로 표시합니다.

  • 연결/해제 상태 구분
  • 연결별 URI 표시
  • 수신된 이벤트 수 확인

이벤트 뷰어

선택한 연결의 모든 이벤트를 시간순으로 표시합니다.

  • 이벤트 타입 표시: event 필드 값에 따른 분류
  • 데이터 내용: JSON 데이터는 자동 포맷팅
  • 시퀀스 번호: 이벤트 수신 순서 추적
  • 크기 정보: 각 이벤트의 데이터 크기

스크립팅 연동

cheolsu.onSseEvent 훅을 사용하면 SSE 이벤트를 프로그래밍 방식으로 처리할 수 있습니다. 이벤트를 수정하거나 특정 이벤트를 필터링(drop)할 수 있습니다.


활용 사례

AI 스트리밍 응답 디버깅

OpenAI, Claude 등의 AI API는 SSE를 통해 스트리밍 응답을 전송합니다. 각 청크의 내용과 전송 타이밍을 확인하여 스트리밍 UI의 동작을 검증할 수 있습니다.

실시간 알림 시스템 검증

서버가 전송하는 이벤트의 타입, 데이터, 순서를 확인하여 알림 시스템이 의도대로 동작하는지 검증할 수 있습니다.


사용 방법

Desktop

  1. 사이드바에서 SSE 메뉴 선택
  2. 좌측 패널에서 SSE 연결 목록 확인
  3. 연결을 선택하면 우측 패널에 이벤트 목록 표시
  4. 이벤트를 선택하면 상세 데이터 확인

MCP

"SSE 연결 목록을 보여줘"
"최근 SSE 이벤트를 확인해줘"