OpenClaw Assistant
日本語版はこちら | English below
📹 Demo Video: https://x.com/i/status/2017914589938438532
English
Your AI Assistant in Your Pocket - A dedicated Android voice assistant app for OpenClaw.
✨ Features
- 🎤 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
📱 How to Use
- 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)
🚀 Setup
1. Install the App
Download APK from Releases, or build from source.
2. Configuration
- Open the app
- Tap ⚙️ in the top right to open Settings
- Enter:
- Webhook URL (required): Your OpenClaw endpoint
- Auth Token (optional): Bearer authentication
3. Wake Word Setup
- 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
4. Set as System Assistant
- Tap "Home Button" card in the app
- Or: Device Settings → Apps → Default Apps → Digital Assistant
- Select "OpenClaw Assistant"
- Long press Home to activate
🔧 OpenClaw Configuration
This app uses OpenClaw's Chat Completions API. Ensure it's enabled in your moltbot.json:
{
"gateway": {
"http": {
"endpoints": {
"chatCompletions": {
"enabled": true
}
}
}
}
}
Then expose the gateway externally using ngrok or similar:
ngrok http 18789
In the app settings:
- Server URL:
https://<ngrok-subdomain>.ngrok-free.dev/v1/chat/completions - Auth Token: Your gateway auth token (from
gateway.auth.tokeninmoltbot.json)
🛠 Tech Stack
- 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
📋 Required Permissions
| Permission | Purpose |
|---|---|
RECORD_AUDIO |
Speech recognition & wake word detection |
INTERNET |
API communication |
FOREGROUND_SERVICE |
Always-on wake word detection |
POST_NOTIFICATIONS |
Status notifications |
🤝 Contributing
Pull Requests welcome! Feel free to report issues.
📄 License
MIT License - See LICENSE for details.
🤖 For AI Agents
This section is for AI agents (like OpenClaw) that need to set up integration.
Setup Instructions
To configure OpenClaw for this Android app:
- Ensure Chat Completions API is enabled in
moltbot.json:
{
"gateway": {
"http": {
"endpoints": {
"chatCompletions": { "enabled": true }
}
}
}
}
- Expose gateway externally with ngrok:
ngrok http 18789
- Provide to user:
- Server URL:
https://<ngrok-subdomain>.ngrok-free.dev/v1/chat/completions - Auth Token: The gateway auth token (
gateway.auth.tokeninmoltbot.json)
- Server URL:
Request/Response Format
Request (App → OpenClaw):
POST /v1/chat/completions
Content-Type: application/json
Authorization: Bearer <gateway-auth-token>
{
"model": "openclaw/voice-agent",
"user": "session-uuid",
"messages": [{"role": "user", "content": "User's spoken text"}]
}
Response (OpenClaw → App):
{
"id": "chatcmpl_...",
"object": "chat.completion",
"choices": [
{
"index": 0,
"message": {"role": "assistant", "content": "AI response text"},
"finish_reason": "stop"
}
]
}
日本語
あなたのAIアシスタントをポケットに - OpenClaw専用のAndroid音声アシスタントアプリ
✨ 機能
- 🎤 カスタマイズ可能なウェイクワード - 「Open Claw」「Jarvis」「Computer」から選択、または自由入力
- 🏠 ホームボタン長押し - システムアシスタントとして動作
- 🔄 連続会話モード - セッションを維持して自然な対話
- 🔊 音声読み上げ - AIの応答を自動で読み上げ
- 💬 In-App Chat - テキスト&音声のハイブリッド入力
- 🔒 プライバシー重視 - 設定は暗号化保存
- 📴 オフライン対応のウェイクワード検知 - Voskによるローカル処理
📱 使い方
- ホームボタン長押し または ウェイクワード を話す
- 質問やリクエストを話す
- OpenClawが音声で応答
- 会話を続ける(セッション維持)
🚀 セットアップ
1. アプリのインストール
Releases からAPKをダウンロード、またはソースからビルド。
2. 設定
- アプリを開く
- 右上の⚙️から設定画面へ
- 以下を入力:
- Webhook URL (必須): OpenClawのエンドポイント
- Auth Token (任意): Bearer認証用
3. ウェイクワードの設定
- 設定画面の「Wake Word」セクションを開く
- プリセットから選択:
- Open Claw (デフォルト)
- Hey Assistant
- Jarvis
- Computer
- Custom... (自由入力)
- ホーム画面でWake Wordトグルをオンに
4. システムアシスタントとして設定
- アプリの「Home Button」カードをタップ
- または: 端末の設定 → アプリ → デフォルトアプリ → デジタルアシスタント
- 「OpenClaw Assistant」を選択
- ホームボタン長押しで起動可能に
🔧 OpenClaw側の設定
OpenClawのChat Completions APIを使用します。moltbot.json で有効化を確認:
{
"gateway": {
"http": {
"endpoints": {
"chatCompletions": {
"enabled": true
}
}
}
}
}
ngrokなどでゲートウェイを外部公開:
ngrok http 18789
アプリの設定画面で:
- Server URL:
https://<ngrokサブドメイン>.ngrok-free.dev/v1/chat/completions - Auth Token: ゲートウェイ認証トークン(
moltbot.jsonのgateway.auth.token)
🛠 技術スタック
- 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 |
ステータス通知 |
🤝 Contributing
Pull Requests歓迎!Issues報告もお気軽に。
📄 ライセンス
MIT License - 詳細は LICENSE を参照。
🤖 AI向け情報
このセクションはOpenClawなどのAIエージェントが連携を設定するための情報です。
設定手順
moltbot.jsonでChat Completions APIを有効化:
{
"gateway": {
"http": {
"endpoints": {
"chatCompletions": { "enabled": true }
}
}
}
}
- ngrokでゲートウェイを外部公開:
ngrok http 18789
- ユーザーに伝える情報:
- Server URL:
https://<ngrokサブドメイン>.ngrok-free.dev/v1/chat/completions - Auth Token: ゲートウェイ認証トークン(
moltbot.jsonのgateway.auth.token)
- Server URL:
リクエスト/レスポンス形式
リクエスト(アプリ → OpenClaw):
POST /v1/chat/completions
Content-Type: application/json
Authorization: Bearer <gateway-auth-token>
{
"model": "openclaw/voice-agent",
"user": "session-uuid",
"messages": [{"role": "user", "content": "ユーザーの発話テキスト"}]
}
レスポンス(OpenClaw → アプリ):
{
"id": "chatcmpl_...",
"object": "chat.completion",
"choices": [
{
"index": 0,
"message": {"role": "assistant", "content": "AIの応答テキスト"},
"finish_reason": "stop"
}
]
}
Made with ❤️ for OpenClaw