Show HN: Ghost Pepper – 100% 로컬 hold-to-talk speech-to-text for macOS
Source: Hacker News
100% 로컬 macOS용 눌러서 말하기 음성‑텍스트 변환. Control 키를 누른 채로 녹음하고, 놓으면 전사 후 붙여넣기. 클라우드 API 없이, 데이터가 머신을 떠나지 않음.
최신 릴리스 다운로드 — macOS 14.0+, Apple Silicon (M1+)
기능
- Control 키를 눌러 말하기 — 놓으면 전사되어 모든 텍스트 필드에 붙여넣기
- Mac에서 완전 실행 — 모델이 Apple Silicon에서 로컬로 실행되며, 외부로 전송되는 것이 없음
- 스마트 정리 — 로컬 LLM이 불필요한 말과 자체 수정 부분을 제거
- 메뉴 바 앱 — 메뉴 바에 상주, Dock 아이콘 없음, 로그인 시 자동 실행
- 커스터마이징 가능 — 정리 프롬프트 편집, 마이크 선택, 기능 켜기/끄기 전환
작동 방식
Ghost Pepper는 첫 실행 시 자동으로 다운로드되는 두 개의 오픈소스 모델을 사용합니다:
| 모델 | 크기 | 역할 |
|---|---|---|
| Speech‑to‑text | WhisperKit (small.en) ≈ 466 MB | 음성을 텍스트로 전사 |
| Text cleanup | Qwen 2.5 (1.5B + 3B) ≈ 3 GB | 불필요한 말과 자체 수정 제거 |
모델은 Hugging Face에서 제공되며, 첫 다운로드 후 로컬에 캐시됩니다.
시작하기
앱 다운로드
- GhostPepper.dmg 다운로드
- DMG를 열고 Ghost Pepper를 Applications 폴더로 드래그
- 마이크와 접근성 권한을 요청하면 허용
- Control 키를 누른 채 말하기
소스에서 빌드
- 저장소 클론
- Xcode에서
GhostPepper.xcodeproj열기 - 빌드 및 실행 (⌘ R)
권한
| 권한 | 이유 |
|---|---|
| 마이크 | 음성 녹음 |
| 접근성 | 전역 단축키 및 시뮬레이션 키 입력을 통한 붙여넣기 |
알아두면 좋은 점
- 로그인 시 자동 실행은 첫 실행 시 기본으로 활성화됩니다; 설정에서 끌 수 있습니다.
- 디스크에 로그 저장 안 함 — 전사는 파일에 기록되지 않으며, 디버그 로그는 메모리 내에만 존재하고 앱 종료 시 사라집니다.
감사의 글
WhisperKit, LLM.swift, Hugging Face, 그리고 Sparkle을 사용해 제작되었습니다.
라이선스
MIT
왜 “Ghost Pepper”인가?
모든 모델이 로컬에서 실행되므로 개인 데이터가 컴퓨터를 떠나지 않습니다. 다른 앱들이 8천만 달러를 투자해 만든 기능을 무료로 제공한다는 점에서 “매운” 느낌이 듭니다.
엔터프라이즈 / 관리형 기기
Ghost Pepper는 접근성 권한이 필요합니다. 이는 일반적으로 관리자가 승인해야 합니다. 관리형 기기에서는 IT 관리자가 MDM 프로파일(Jamf, Kandji, Mosaic 등)을 통해 Privacy Preferences Policy Control (PPPC) 페이로드로 사전 승인할 수 있습니다:
| 필드 | 값 |
|---|---|
| Bundle ID | com.github.matthartman.ghostpepper |
| Team ID | BBVMGXR9AY |
| Permission | Accessibility (com.apple.security.accessibility) |