KyongSik-Yoon/claude-mods/tree/main/smooth-stream
smooth-stream
스트리밍되는 어시스턴트 답변을 각 청크를 한꺼번에 화면에 내보내는 대신 부드러운 타자기 효과로 보여 주는 Claude Code mod입니다.
이 mod 소개
smooth-stream
스트리밍되는 어시스턴트 답변을 각 청크를 한꺼번에 화면에 내보내는 대신 부드러운 타자기 효과로 보여 주는 Claude Code mod입니다.
- 초당 약 30프레임으로 프레임마다 최소 몇 글자를 표시
- 큰 묶음도 1초 미만에 따라잡아 모델보다 크게 뒤처지지 않음
- 모델이 스트리밍 중일 때 도착한 답변만 애니메이션하며, 크기 조정이나 스크롤로 다시 그린 예전 메시지는 한 번에 표시
- 터미널과 데스크톱 앱의 Code 탭에서 작동
설치
claude plugin marketplace add KyongSik-Yoon/claude-mods
claude plugin install smooth-stream@kyongsik-mods
그 다음 /reload-plugins를 실행하거나 새 세션을 시작합니다. mods를 지원하는 Claude Code 빌드가 필요합니다(2.1.289에서 테스트됨).
옵션
기본값은 normal이며 설정할 필요가 없습니다. 바꾸려면 /plugin configure smooth-stream@kyongsik-mods(또는 /config)를 실행하고 Reveal speed를 설정합니다.
작동 방식
AssistantMessage의 ui.render hook은 답변 텍스트의 접두사를 엔진에 전달하고, 33 ms $.clock 타이머가 $.state를 통해 그 접두사를 늘립니다. turn.step hook은 메인 루프가 스트리밍 중인지 추적합니다.
설치
먼저 작성자의 README에서 marketplace와 플러그인 이름을 확인하세요. 저장소 구조에 따라 명령어가 달라질 수 있습니다.
claude plugin marketplace add KyongSik-Yoon/claude-mods claude plugin install smooth-stream
원문 / README
smooth-stream
A Claude Code mod that reveals streaming assistant replies with a smooth typewriter effect, instead of dropping each chunk on screen at once.
- ~30 frames per second, at least a couple of characters per frame
- Catches up on large bursts within a fraction of a second, so it never falls far behind the model
- Only replies that arrive while the model is streaming are animated; old messages redrawn on resize or scroll show whole
- Works in the terminal and the desktop app's Code tab
Install
claude plugin marketplace add KyongSik-Yoon/claude-mods
claude plugin install smooth-stream@kyongsik-mods
Then run /reload-plugins or start a new session. Requires a Claude Code build with mods support (tested on 2.1.289).
Options
Defaults to normal; no setup needed. To change it, run /plugin configure smooth-stream@kyongsik-mods (or open /config) and set Reveal speed:
| Value | Feel |
| --- | --- |
| slow | 1+ char per frame, drains a burst in ~0.8 s |
| normal (default) | 2+ chars per frame, drains a burst in ~0.4 s |
| fast | 4+ chars per frame, drains a burst in ~0.2 s |
How it works
A ui.render hook on AssistantMessage hands the engine a prefix of the reply text, and a 33 ms $.clock timer grows that prefix through $.state, so each frame redraws only the message being typed. A turn.step hook tracks whether the main loop is streaming, which is how already-finished messages are left alone.
Develop
claude plugin validate .
claude plugin test .
