Skip to content

Repository files navigation

pet-android

Android client for an AI desktop-pet system. It connects to an OpenClaw gateway (through the pet-channel plugin) over WebSocket, and renders a Live2D pet with chat, group chat, a floating desktop widget, voice input, a cloud gallery, reminders, and push notifications.

Features

  • Live2D pet rendering (multiple characters)
  • 1:1 chat and multi-agent group chat
  • Floating widget / launcher-overlay pet
  • Voice input (speech-to-text)
  • Cloud image gallery
  • Local reminders / scheduled jobs
  • Push notifications (JPush)
  • Local chat history (Room)

App preview

Live2D chat Weather notification Home-screen widget
Live2D chat interface Weather push notification AI pet home-screen widget

Tech stack

  • Kotlin + Jetpack Compose
  • minSdk = 31, ships arm64-v8a only
  • OkHttp (WebSocket), Room, DataStore, Coil, Glance (app widget)
  • Push: JPush; speech-to-text: Baidu; group-chat intent detection: Alibaba DashScope (Qwen)

Build

  1. Open the project in Android Studio (it generates local.properties with sdk.dir).
  2. Add the required API keys to local.properties (see local.properties.example).
  3. Build & run on a real arm64 device.

Secrets

No API keys are hard-coded. They are injected at build time from local.properties (git-ignored) into BuildConfig / the Android manifest:

Key in local.properties Used for
JPUSH_APPKEY JPush push notifications
DASHSCOPE_API_KEY Group-chat intent detection (Qwen)
BAIDU_API_KEY Baidu speech-to-text
BAIDU_SECRET_KEY Baidu speech-to-text

Missing a key only disables that feature; the app still builds and runs.

Configuration

The gateway WebSocket URL is set in-app (Settings), defaulting to ws://localhost:8767/ws.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages