日本語版はこちら | 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 "OpenClaw", "Hey Assistant", "Jarvis", "Computer", or set your own custom phrase
- 📴 Offline Wake Word Detection - Always-on local processing powered by Vosk, no internet required
- 🗣️ Speech Recognition - Real-time speech-to-text with partial results display and configurable silence timeout
- 🔊 Text-to-Speech - Automatic voice output with adjustable speech speed, multi-engine support, and smart text chunking for long responses
- 🔄 Continuous Conversation Mode - Auto-resumes listening after AI response for natural back-and-forth dialogue
- 🏠 System Assistant Integration - Long press Home button to activate via Android VoiceInteractionService
- 🔃 Wake Word Sync - Download wake words configured on the gateway server to your device
- 💬 In-App Chat Interface - Full-featured chat UI with text and voice input, markdown rendering, and message timestamps
- 🤖 Agent Selection - Choose from multiple AI agents fetched dynamically from the gateway
- 📡 Real-time Streaming - See AI responses as they are generated via WebSocket gateway
- 💾 Chat History - Local message persistence with session management (create, switch, delete conversations)
- 🔔 Thinking Sound - Optional audio cue while waiting for AI response
- 🪟 Dual Chat Modes - Gateway Chat (via Node-Gateway connection) or HTTP Chat (direct HTTP endpoint)
- 🌐 WebSocket Gateway - Persistent connection with auto-reconnect (exponential backoff), ping keep-alive, and RPC protocol
- 🔍 Auto-Discovery - Automatically find OpenClaw gateways on your local network via mDNS/Bonjour
- 🔌 Manual Connection - Specify host, port, and token for direct connection
- 🔒 TLS Support - Encrypted connections with SHA-256 fingerprint verification dialog for first-time trust
- 📋 Agent Discovery - Dynamically fetch available agents from the gateway
- 🔗 Device Pairing - Server-side device approval with Ed25519 cryptographic identity
- ✅ Connection Testing - Built-in connection test with live feedback in settings
- 📷 Camera - AI can capture photos via the device camera
- 📍 Location - Share your location (Off / Coarse / Precise) with the AI
- 📲 SMS - Allow the AI to send text messages with your permission
- 🖥️ Screen Recording - Let the AI see your screen when you explicitly ask it to
- 🔒 Encrypted Settings - All sensitive data (URL, tokens) stored with AES256-GCM encryption
- 🔑 Device Identity - Ed25519 key pair generation with Android Keystore integration
- 🚀 Auto-Start on Boot - Hotword service automatically resumes after device restart
- 📊 Firebase Crashlytics - Crash reporting with smart filtering of transient network errors
- 🔋 Battery Optimization Exclusion - Ensures wake word detection runs reliably in background
- 🎨 Material 3 Design - Modern UI with Jetpack Compose and dynamic theming
- 📝 Markdown Rendering - Rich text display in chat messages (bold, italic, code blocks, lists, links)
- 🩺 Voice Diagnostics - Built-in health check for STT/TTS engines with fix suggestions
- ❓ Troubleshooting Guide - In-app help for common issues (Circle to Search, gesture navigation, etc.)
- 🌍 Bilingual UI - Full English and Japanese localization
- 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.
The app connects to your OpenClaw server via the Gateway protocol.
- Open the app and tap ⚙️ to open Settings
- Under Gateway Connection:
- The app will auto-discover gateways on your local network
- Or enable Manual Connection and enter:
- Host: Your OpenClaw server hostname/IP
- Port: Gateway port (default:
18780) - Token: Gateway auth token (from
gateway.auth.tokeninmoltbot.json) - Use TLS: Enable for encrypted connections
- Tap Connect
- If prompted, approve the device on your server:
openclaw devices approve <DEVICE_ID>
- Enable Use Gateway Chat to route chat through the gateway
For direct HTTP chat completions without the Gateway:
- Under HTTP Connection in Settings:
- Server URL: Your OpenClaw HTTP endpoint
- Auth Token: Bearer authentication token
- Tap Test Connection to verify
- In the chat screen, select HTTP Chat mode
To expose the gateway HTTP endpoint externally (e.g., via ngrok):
ngrok http 18789- Server URL:
https://<ngrok-subdomain>.ngrok-free.dev - Ensure Chat Completions is enabled in
moltbot.json:
{
"gateway": {
"http": {
"endpoints": {
"chatCompletions": { "enabled": true }
}
}
}
}- Open Wake Word section in Settings
- Choose a preset:
- OpenClaw (default)
- Hey Assistant
- Jarvis
- Computer
- Custom... (enter your own, 2-3 words)
- Or tap Get Wake Words from Gateway to sync from server
- 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
- Speech Speed: Adjust TTS playback rate (default 1.2x)
- TTS Engine: Select from available engines on your device
- Continuous Mode: Enable auto-resume listening after response
- Silence Timeout: Configure how long to wait for speech input
- Thinking Sound: Toggle audio cue during AI processing
- Default Agent: Choose which AI agent handles your requests
- Camera: Allow the AI to take photos
- Location: Set location sharing level (Off / Coarse / Precise)
- SMS: Allow the AI to send text messages
- Screen: Allow the AI to see your screen
| Category | Technology |
|---|---|
| Language | Kotlin |
| UI | Jetpack Compose + Material 3 |
| Speech Recognition | Android SpeechRecognizer |
| Text-to-Speech | Android TextToSpeech (multi-engine) |
| Wake Word | Vosk 0.3.75 (offline) |
| System Integration | VoiceInteractionService |
| Networking | OkHttp 4.12 + WebSocket |
| Discovery | mDNS/Bonjour (NsdManager) |
| JSON | Gson + kotlinx.serialization |
| Database | Room (SQLite) |
| Security | EncryptedSharedPreferences (AES256-GCM) |
| Cryptography | Tink (Ed25519) + Android Keystore |
| Markdown | multiplatform-markdown-renderer-m3 |
| Crash Reporting | Firebase Crashlytics |
| Analytics | Firebase Analytics |
| Min SDK | Android 8.0 (API 26) |
| Target SDK | Android 14 (API 34) |
| Permission | Purpose |
|---|---|
RECORD_AUDIO |
Speech recognition & wake word detection |
INTERNET |
Gateway & API communication |
FOREGROUND_SERVICE |
Always-on wake word detection |
FOREGROUND_SERVICE_MICROPHONE |
Microphone access in foreground service |
FOREGROUND_SERVICE_MEDIA_PROJECTION |
Screen capture in foreground service |
POST_NOTIFICATIONS |
Status notifications (Android 13+) |
RECEIVE_BOOT_COMPLETED |
Auto-start hotword on boot |
WAKE_LOCK |
Keep CPU active during voice session |
REQUEST_IGNORE_BATTERY_OPTIMIZATIONS |
Reliable background wake word detection |
CAMERA |
Camera capture for AI (optional) |
ACCESS_FINE_LOCATION |
Precise GPS for AI (optional) |
ACCESS_COARSE_LOCATION |
Approximate location for AI (optional) |
SEND_SMS / READ_SMS |
AI-assisted messaging (optional) |
Pull Requests welcome! Feel free to report issues.
MIT License - See LICENSE for details.
あなたのAIアシスタントをポケットに - OpenClaw専用のAndroid音声アシスタントアプリ
- 🎤 カスタマイズ可能なウェイクワード - 「OpenClaw」「Hey Assistant」「Jarvis」「Computer」から選択、または自由にカスタムフレーズを入力
- 📴 オフライン対応のウェイクワード検知 - Voskによるローカル処理で常時待ち受け、インターネット不要
- 🗣️ 音声認識 - リアルタイムの音声テキスト変換、部分認識結果の表示、サイレンスタイムアウト設定
- 🔊 音声読み上げ (TTS) - 読み上げ速度調整、複数エンジン対応、長文の自動分割読み上げ
- 🔄 連続会話モード - AI応答後に自動で聞き取り再開、自然な対話フロー
- 🏠 システムアシスタント連携 - ホームボタン長押しでAndroid VoiceInteractionService経由で起動
- 🔃 ウェイクワード同期 - ゲートウェイサーバーで設定されたウェイクワードをデバイスにダウンロード
- 💬 アプリ内チャットUI - テキスト&音声入力対応のフル機能チャット画面、Markdownレンダリング、タイムスタンプ表示
- 🤖 エージェント選択 - ゲートウェイから動的に取得したAIエージェントを切り替え
- 📡 リアルタイムストリーミング - WebSocketゲートウェイによるAI応答のリアルタイム表示
- 💾 チャット履歴 - ローカルDBでメッセージ永続化、セッション管理(作成・切替・削除)
- 🔔 思考サウンド - AI処理中のオプション音声フィードバック
- 🪟 2つのチャットモード - Gateway Chat(Node-Gateway経由)またはHTTP Chat(直接HTTPエンドポイント)
- 🌐 WebSocketゲートウェイ - 自動再接続(指数バックオフ)、ping keep-alive、RPCプロトコル
- 🔍 自動検出 - mDNS/BonjourによるローカルネットワークのOpenClawゲートウェイ自動検出
- 🔌 手動接続 - ホスト・ポート・トークンを指定して直接接続
- 🔒 TLSサポート - 暗号化接続と初回接続時のSHA-256フィンガープリント検証ダイアログ
- 📋 エージェント自動取得 - ゲートウェイから利用可能なエージェントを動的取得
- 🔗 デバイスペアリング - Ed25519暗号鍵によるデバイス認証とサーバー側承認
- ✅ 接続テスト - 設定画面で接続確認をリアルタイムフィードバック付きで実行
- 📷 カメラ - AIがデバイスカメラで写真を撮影
- 📍 位置情報 - 位置情報をAIと共有(オフ / 大まか / 精密)
- 📲 SMS - AIが許可を得てSMSを送信
- 🖥️ スクリーンキャプチャ - ユーザーの明示的な要求時にAIが画面を確認
- 🔒 設定の暗号化保存 - URL・トークンなどの機密データをAES256-GCM暗号化で保存
- 🔑 デバイスID - Ed25519キーペア生成とAndroid Keystore連携
- 🚀 起動時の自動開始 - デバイス再起動後にホットワードサービスを自動復帰
- 📊 Firebase Crashlytics - クラッシュレポートと一時的なネットワークエラーのスマートフィルタリング
- 🔋 バッテリー最適化除外 - バックグラウンドでのウェイクワード検知の安定動作を保証
- 🎨 Material 3デザイン - Jetpack ComposeとダイナミックテーマによるモダンUI
- 📝 Markdownレンダリング - チャットメッセージのリッチテキスト表示(太字、斜体、コードブロック、リスト、リンク)
- 🩺 音声診断 - STT/TTSエンジンのヘルスチェックと修正提案
- ❓ トラブルシューティングガイド - よくある問題のアプリ内ヘルプ(Circle to Search、ジェスチャーナビゲーションなど)
- 🌍 日英バイリンガルUI - 英語と日本語の完全ローカライゼーション
- ホームボタン長押し または ウェイクワード を話す
- 質問やリクエストを話す
- OpenClawが音声で応答
- 会話を続ける(セッション維持)
Releases からAPKをダウンロード、またはソースからビルド。
アプリはGatewayプロトコルを通じてOpenClawサーバーと接続します。
- アプリを開き、⚙️から 設定 を開く
- Gateway Connection セクションで:
- ローカルネットワーク上のゲートウェイを自動検出
- または Manual Connection を有効にして手動入力:
- Host: OpenClawサーバーのホスト名またはIP
- Port: ゲートウェイポート(デフォルト:
18780) - Token: ゲートウェイ認証トークン(
moltbot.jsonのgateway.auth.token) - Use TLS: 暗号化接続を使用する場合はオン
- Connect をタップ
- ペアリングが必要な場合は、サーバー側で承認:
openclaw devices approve <DEVICE_ID>
- Use Gateway Chat を有効にするとゲートウェイ経由でチャット
Gatewayを使わずに直接HTTP経由でチャットする場合:
- Settings の HTTP Connection セクションで:
- Server URL: OpenClawのHTTPエンドポイント
- Auth Token: Bearer認証トークン
- 接続テスト をタップして確認
- チャット画面で HTTP Chat モードを選択
ngrokなどでゲートウェイを外部公開する場合:
ngrok http 18789Chat Completions APIが有効であることを moltbot.json で確認:
{
"gateway": {
"http": {
"endpoints": {
"chatCompletions": { "enabled": true }
}
}
}
}- 設定画面の Wake Word セクションを開く
- プリセットから選択:
- OpenClaw (デフォルト)
- Hey Assistant
- Jarvis
- Computer
- Custom... (自由入力、2〜3語)
- または Get Wake Words from Gateway でサーバーから同期
- ホーム画面でWake Wordトグルをオンに
- アプリの「Home Button」カードをタップ
- または: 端末の設定 → アプリ → デフォルトアプリ → デジタルアシスタント
- 「OpenClaw Assistant」を選択
- ホームボタン長押しで起動可能に
- 読み上げ速度: TTS再生速度を調整(デフォルト1.2倍)
- TTSエンジン: 端末上で利用可能なエンジンを選択
- 連続会話モード: 応答後に自動で聞き取り再開
- サイレンスタイムアウト: 音声入力の待ち時間を設定
- 思考サウンド: AI処理中の音声フィードバックの切替
- デフォルトエージェント: リクエストを処理するAIエージェントの選択
- カメラ: AIによるカメラ撮影を許可
- 位置情報: 位置情報の共有レベルを設定(オフ / 大まか / 精密)
- SMS: AIによるSMS送信を許可
- スクリーン: AIによる画面確認を許可
| カテゴリ | 技術 |
|---|---|
| 言語 | Kotlin |
| UI | Jetpack Compose + Material 3 |
| 音声認識 | Android SpeechRecognizer |
| 音声合成 | Android TextToSpeech (マルチエンジン対応) |
| ウェイクワード | Vosk 0.3.75 (オフライン対応) |
| システム連携 | VoiceInteractionService |
| 通信 | OkHttp 4.12 + WebSocket |
| 自動検出 | mDNS/Bonjour (NsdManager) |
| JSON | Gson + kotlinx.serialization |
| データベース | Room (SQLite) |
| セキュリティ | EncryptedSharedPreferences (AES256-GCM) |
| 暗号 | Tink (Ed25519) + Android Keystore |
| Markdown | multiplatform-markdown-renderer-m3 |
| クラッシュレポート | Firebase Crashlytics |
| アナリティクス | Firebase Analytics |
| 最小SDK | Android 8.0 (API 26) |
| ターゲットSDK | Android 14 (API 34) |
| 権限 | 用途 |
|---|---|
RECORD_AUDIO |
音声認識・ウェイクワード検知 |
INTERNET |
ゲートウェイ・API通信 |
FOREGROUND_SERVICE |
Wake Word常時検知 |
FOREGROUND_SERVICE_MICROPHONE |
フォアグラウンドサービスでのマイクアクセス |
FOREGROUND_SERVICE_MEDIA_PROJECTION |
フォアグラウンドサービスでのスクリーンキャプチャ |
POST_NOTIFICATIONS |
ステータス通知 (Android 13+) |
RECEIVE_BOOT_COMPLETED |
起動時のホットワード自動開始 |
WAKE_LOCK |
音声セッション中のCPU維持 |
REQUEST_IGNORE_BATTERY_OPTIMIZATIONS |
バックグラウンドでのウェイクワード検知安定化 |
CAMERA |
AIによるカメラ撮影(任意) |
ACCESS_FINE_LOCATION |
AIへの精密GPS共有(任意) |
ACCESS_COARSE_LOCATION |
AIへのおおよその位置共有(任意) |
SEND_SMS / READ_SMS |
AIによるSMSアシスト(任意) |
Pull Requests歓迎!Issues報告もお気軽に。
MIT License - 詳細は LICENSE を参照。
Made with ❤️ for OpenClaw