Show GN: smooth-stream - Claude Code 답변을 타자기처럼 부드럽게 보여주는 mod

2 hours ago 3

Claude Code CLI는 스트리밍 응답이 청크 단위로 툭툭 끊겨서 나타나는데, 이걸 claude.ai 웹처럼 한 글자씩 부드럽게 흘러나오게 바꿔주는 mod를 만들었습니다.
공식 이슈에도 같은 요청이 두 번(#66432, #76432) 있었지만 반영되지 않고 닫혀서, 이번에 나온 mods 기능으로 직접 구현해 봤습니다.

기능

  • 약 30fps로 프레임마다 최소 몇 글자씩 표시
  • 한 번에 많은 텍스트가 몰려와도 0.4초 안팎으로 따라잡아서 모델 출력보다 크게 뒤처지지 않음
  • 스트리밍 중인 답변만 애니메이션, 창 크기 변경이나 스크롤로 다시 그려지는 이전 메시지는 그대로 표시
  • 터미널과 데스크톱 앱 Code 탭 모두 지원
  • 속도 설정: slow / normal / fast

설치
claude plugin marketplace add KyongSik-Yoon/claude-mods
claude plugin install smooth-stream@kyongsik-mods

동작 원리

  • ui.render 훅에서 AssistantMessage 텍스트의 앞부분만 엔진에 넘기고, 33ms 타이머가 $.state로 그 길이를 늘려감
  • 상태가 메시지별로 나뉘어 있어서 프레임마다 타이핑 중인 메시지 하나만 다시 그림
  • turn.step 훅으로 메인 루프가 스트리밍 중인지 추적해서 이미 끝난 메시지는 건드리지 않음

현재 한계

  • Claude Code 2.1.289에서만 테스트했고, mods 기능이 막 나온 상태라 버전에 따라 동작이 달라질 수 있음
  • 속도는 세 단계 프리셋만 있음

받고 싶은 피드백

  • 기본 속도(normal)가 읽기에 적당한지
  • 사용하는 터미널에서 깜빡임이나 끊김이 없는지

TypeScript 90줄 정도이고 MIT 라이선스입니다.

Read Entire Article