Kotlin으로 오픈소스 Android 음성 비서 만들기
발행: (2026년 2월 4일 오후 12:53 GMT+9)
2 분 소요
원문: Dev.to
Source: Dev.to
자체 AI로 Google Assistant 대체하기
홈 버튼을 길게 눌러 Google 대신 당신의 AI와 대화할 수 있다면 어떨까요? 저는 OpenClaw Assistant라는 오픈소스 Android 앱을 만들었습니다. 바로 그 기능을 수행합니다.
- 📹 데모:
- 🔗 GitHub:
기능
- 🏠 시스템 어시스턴트 통합 – 홈 버튼을 길게 눌러 활성화
- 🎤 커스텀 웨이크 워드 – “Jarvis”, “Computer”, 혹은 원하는 문구
- 📴 오프라인 웨이크 워드 감지 – Vosk 기반, 클라우드 불필요
- 🔊 음성 입출력 – 음성 인식 + TTS
- 🔗 백엔드 독립형 – Ollama, OpenAI, Claude, 혹은 임의의 커스텀 API와 연결 가능
아키텍처 개요
| Component | Technology |
|---|---|
| UI | Kotlin + Jetpack Compose + Material 3 |
| System Hook | VoiceInteractionService |
| Wake Word | Vosk (offline) |
| Speech | Android SpeechRecognizer + TTS |
| Network | OkHttp + Gson |
- 앱은 Android의 디지털 어시스턴트로 등록됩니다.
- Vosk가 로컬에서 웨이크 워드를 청취합니다.
- 활성화되면 음성이 텍스트로 변환되어 웹훅으로 전송됩니다.
- 응답은 TTS를 통해 음성으로 재생됩니다.
설치
git clone https://github.com/yuga-hashimoto/OpenClawAssistant
cd OpenClawAssistant
./gradlew assembleDebug
또는 GitHub Releases 페이지에서 APK를 다운로드하세요.
웹훅 API 계약
백엔드는 POST 요청을 받아야 합니다:
POST /your-endpoint
Content-Type: application/json
{
"message": "user's speech",
"session_id": "..."
}
그리고 다음과 같이 응답해야 합니다:
{
"response": "AI's reply"
}
기여
기여를 환영합니다! 이슈를 열거나 GitHub 저장소에 풀 리퀘스트를 제출해 주세요.