vupai: tmux에서 Claude Code 창의 이름을 불러 대화하기. Push-to-talk, 온디바이스 음성 인식 (macOS)
요약
vupai는 tmux 환경에서 Claude Code와 같은 코딩 에이전트를 음성으로 제어할 수 있게 해주는 도구입니다. Apple MLX와 NVIDIA Parakeet를 활용하여 온디바이스 STT를 구현했으며, 특정 에이전트의 이름을 불러 명령을 내리는 기능을 제공합니다.
핵심 포인트
- Apple MLX 기반 온디바이스 STT로 클라우드 API 없이 빠른 음성 인식 지원
- tmux 창 이름을 불러 특정 에이전트에게 직접 명령 전달 가능
- 에이전트 활동 모니터링 보드 및 활동 장부 기능 포함
- macOS Apple Silicon 환경 전용 및 영어 음성 지원
음성 명령은 아래 상태 표시줄(status bar)에 나타납니다. 이 영상에서는 다음을 사용했습니다:
🎙 "open squad" → "close squad" → "open vista" → "vista, who are you?"
GitHub: https://github.com/itsjrsa/vupai
데모 클립이 포함된 문서: https://vupai.dev ("voice commands" 섹션 참조)
MIT 라이선스
배경(Context):
저는 tmux를 사용하며 여러 코딩 에이전트(coding agents)를 병행하여 사용해 왔습니다. tmux의 창(panes), 분할(splits), 확대(zoom) 기능은 매우 훌륭하지만, 재미 삼아 현재의 온디바이스 STT(Speech-to-Text, 음성 인식)가 실제로 얼마나 잘 작동하는지(예: NVIDIA Parakeet), 그리고 이를 통해 tmux 내의 에이전트들을 효과적으로 제어할 수 있는지 확인해보고 싶었습니다.
재미로 시작한 주말 실험이 vupai("voo-pie")가 되었습니다. 이 도구는 tmux 위에 음성 레이어를 추가하며, 에이전트 기반 코딩(agentic coding)을 위한 몇 가지 추가 기능을 제공합니다: 에이전트의 활동을 모니터링하는 보드, 에이전트가 누가 무엇을 편집하고 있는지 알 수 있게 하는 활동 장부(activity ledger), 역할이 사전 브리핑된 상태로 실행되는 이름이 지정된 전문가(예: "open vista"), 그리고 더 많은 기능들이 있습니다.
사용법은 간단합니다:
키를 누른 상태로 말하면, 적절한 창에 텍스트가 입력됩니다. 현재 포커스된 창이거나, 이름을 불러 지칭한 에이전트(예: "atlas, run the tests")에 입력됩니다.
중요한 몇 가지 사항:
Apple MLX를 통해 NVIDIA Parakeet를 사용하여 STT가 완전히 온디바이스(on-device)에서 실행됩니다. 클라우드나 API 키가 필요 없으며, 전사(transcription) 속도가 충분히 빨라 흐름을 끊지 않습니다.
새로운 창은 기본적으로 에이전트를 실행합니다(기본적으로 Claude 제공). 다른 에이전트 기반 코딩 도구와도 작동해야 하지만, 저의 테스트는 Claude Code에 집중되었습니다.
프로젝트별로 vupai 세션을 생성할 수 있습니다(Tmux와 마찬가지로 attach/detach 가능).
음성 제어는 선택 사항입니다. 모든 기능은 일반적인 tmux 상호작용과 타이핑된 명령("vupai do ...")을 통해서도 작동하므로, 크게 말할 수 없는 상황에서도 보드, 장부, 이름이 지정된 에이전트 기능을 그대로 사용할 수 있습니다.
Vupai는 사용자에게 내용을 읽어주기도 합니다(선택 사항). 특정 에이전트의 작업을 요약해달라고 요청할 수 있습니다(Claude의 Haiku 모델을 호출하여 수행).
WIP - 매우 최근에 시작된 프로젝트이며, 사용하면서 새로운 기능들을 추가할 예정입니다. 😄
Vupai는 주로 Claude Opus 4.8(그리고 약간의 Fable)로 구축되었습니다.
설정 방법에 대한 자세한 내용을 공유하게 되어 기쁩니다만, 솔직히 처음 몇 번의 반복 과정을 거친 후에는 vupai 자체를 구축하기 위해 vupai를 사용하기 시작했습니다.
간단한 팁:
STT (Speech-to-Text, 음성 인식)는 완벽하지 않습니다. 주요 명령들은 흔히 발생하는 오인식에 대비해 별칭(alias) 단어들을 허용합니다 (예: "Claude" 대신 "Cloud"). 또한, vupai는 모든 전사(transcription) 내용을 로컬 저널로 기록할 수 있으므로, Claude에게 이 저널을 참조하게 하여 시간이 지남에 따라 사용자의 목소리와 억양에 맞춰 별칭을 조정할 수 있습니다.
제한 사항:
macOS Apple Silicon에서만 작동하며 (MLX 의존성 때문), tmux, sox, uv가 외부 의존성으로 필요합니다. 또한 지금까지는 영어 음성으로만 테스트되었습니다.
피드백은 언제나 환영하며, 특히 멀티 에이전트(multi-agent) 설정을 다르게 운영하시는 분들의 의견을 기다립니다.
제출자: /u/jrsa2012
[link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/ClaudeAI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기