日本語版はこちら | English below
📹 Demo Video: https://x.com/i/status/2017914589938438532
Your AI Assistant in Your Pocket – A dedicated Android voice assistant app for OpenClaw.
- 🎤 Customizable Wake Word – Choose from “Open Claw”, “Jarvis”, “Computer”, or set your own
- 🏠 Long Press Home Button – Works as a system assistant
- 🔄 Continuous Conversation Mode – Natural dialogue with session persistence
- 🔊 Voice Output – Automatic text-to-speech for AI responses
- 💬 In-App Chat – Hybrid text & voice input
- 🔒 Privacy First – Settings stored with encryption
- 📴 Offline Wake Word Detection – Local processing with Vosk
- Long press Home button or say the wake word
- Ask your question or make a request
- OpenClaw responds with voice
- Continue the conversation (session maintained)
Download APK from Releases, or build from source.
- Open the app
- Tap ⚙️ in the top right to open Settings
- Enter:
- Webhook URL (required): Your OpenClaw endpoint
- Auth Token (optional): Bearer authentication
- Open “Wake Word” section in Settings
- Choose a preset:
- Open Claw (default)
- Hey Assistant
- Jarvis
- Computer
- Custom… (enter your own)
- Enable the Wake Word toggle on the home screen
- Tap “Home Button” card in the app
- Or: Device Settings → Apps → Default Apps → Digital Assistant
- Select “OpenClaw Assistant”
- Long press Home to activate
Add a webhook for this app in your OpenClaw config:
hooks:
voice:
path: /hooks/voice
auth:
bearer: "your-secret-token"
Then expose it externally using ngrok or similar:
- UI: Kotlin + Jetpack Compose + Material 3
- Speech Recognition: Android SpeechRecognizer
- Text-to-Speech: Android TextToSpeech
- Wake Word Detection: Vosk (offline)
- System Integration: VoiceInteractionService
- Networking: OkHttp + Gson
- Security: EncryptedSharedPreferences
| Permission | Purpose |
|---|---|
RECORD_AUDIO |
Speech recognition & wake word detection |
INTERNET |
API communication |
FOREGROUND_SERVICE |
Always-on wake word detection |
POST_NOTIFICATIONS |
Status notifications |
Pull Requests welcome! Feel free to report issues.
MIT License – See LICENSE for details.
This section is for AI agents (like OpenClaw) that need to set up webhook integration.
To configure OpenClaw for this Android app:
- Add webhook to config.yaml:
hooks:
voice:
path: /hooks/voice
auth: # optional
bearer: ""
- Expose externally with ngrok:
- Provide to user:
- Webhook URL:
https://.ngrok.io/hooks/voice - Auth Token: The bearer token you set (optional)
- Webhook URL:
Request (App → OpenClaw):
POST /hooks/voice
Content-Type: application/json
Authorization: Bearer
{
"message": "User's spoken text",
"session_id": "uuid-xxx-xxx"
}
Response (OpenClaw → App):
{"response": "AI response text"}
Also accepts: {"text": "..."} or {"message": "..."}
あなたのAIアシスタントをポケットに – OpenClaw専用のAndroid音声アシスタントアプリ
- 🎤 カスタマイズ可能なウェイクワード – 「Open Claw」「Jarvis」「Computer」から選択、または自由入力
- 🏠 ホームボタン長押し – システムアシスタントとして動作
- 🔄 連続会話モード – セッションを維持して自然な対話
- 🔊 音声読み上げ – AIの応答を自動で読み上げ
- 💬 In-App Chat – テキスト&音声のハイブリッド入力
- 🔒 プライバシー重視 – 設定は暗号化保存
- 📴 オフライン対応のウェイクワード検知 – Voskによるローカル処理
- ホームボタン長押し または ウェイクワード を話す
- 質問やリクエストを話す
- OpenClawが音声で応答
- 会話を続ける(セッション維持)
Releases からAPKをダウンロード、またはソースからビルド。
- アプリを開く
- 右上の⚙️から設定画面へ
- 以下を入力:
- Webhook URL (必須): OpenClawのエンドポイント
- Auth Token (任意): Bearer認証用
- 設定画面の「Wake Word」セクションを開く
- プリセットから選択:
- Open Claw (デフォルト)
- Hey Assistant
- Jarvis
- Computer
- Custom… (自由入力)
- ホーム画面でWake Wordトグルをオンに
- アプリの「Home Button」カードをタップ
- または: 端末の設定 → アプリ → デフォルトアプリ → デジタルアシスタント
- 「OpenClaw Assistant」を選択
- ホームボタン長押しで起動可能に
config.yamlにWebhookを追加:
hooks:
voice:
path: /hooks/voice
auth:
bearer: "your-secret-token"
ngrokなどで外部公開:
- UI: Kotlin + Jetpack Compose + Material 3
- 音声認識: Android SpeechRecognizer
- 音声合成: Android TextToSpeech
- ウェイクワード検知: Vosk (オフライン対応)
- システム連携: VoiceInteractionService
- 通信: OkHttp + Gson
- セキュリティ: EncryptedSharedPreferences
| 権限 | 用途 |
|---|---|
RECORD_AUDIO |
音声認識・ウェイクワード検知 |
INTERNET |
API通信 |
FOREGROUND_SERVICE |
Wake Word常時検知 |
POST_NOTIFICATIONS |
ステータス通知 |
Pull Requests歓迎!Issues報告もお気軽に。
MIT License – 詳細は LICENSE を参照。
このセクションはOpenClawなどのAIエージェントがWebhook連携を設定するための情報です。
- config.yamlにWebhookを追加:
hooks:
voice:
path: /hooks/voice
auth: # 任意
bearer: ""
- ngrokで外部公開:
- ユーザーに伝える情報:
- Webhook URL:
https://.ngrok.io/hooks/voice - Auth Token: 設定したbearerトークン(任意)
- Webhook URL:
リクエスト(アプリ → OpenClaw):
POST /hooks/voice
Content-Type: application/json
Authorization: Bearer
{
"message": "ユーザーの発話テキスト",
"session_id": "uuid-xxx-xxx"
}
レスポンス(OpenClaw → アプリ):
{"response": "AIの応答テキスト"}
{"text": "..."} や {"message": "..."} も対応。
Made with ❤️ for OpenClaw