opencyvis-phone

More: Author   ReportBugs   
Tags:
OpenCyvis

The open-source AI phone.
Commercial AI phones are black boxes. This one isn't.

Open Cyber Jarvis

Docs中文Getting StartedRoadmapContributing

License v2.0 released Kotlin LLMs Tests


OpenCyvis turns Android into an AI phone. Give it a task in natural language — it sees your screen, understands the UI, and operates apps just like you would.

"Reply 'let's go eat sushi' in WeChat" — opens WeChat, finds the conversation, types and sends:

WeChat reply demo

"Find the best-rated coffee shop nearby and get directions" — opens Maps, searches, sorts by rating, taps navigate.

"Set a 7am alarm, turn on Do Not Disturb, and switch to dark mode" — chains Clock, Settings, and Display in one go.

It works in the background

Most AI tools lock your screen while they work. OpenCyvis operates on a virtual display — an isolated background screen. The AI books your flight while you scroll Twitter.

┌─────────────────────┐    ┌─────────────────────┐
│   Your screen        │    │   Virtual display    │
│                      │    │   (AI works here)    │
│   Browse, chat,      │    │                      │
│   watch videos —     │    │   Booking flights,   │
│   phone is yours     │    │   sending messages,  │
│                      │    │   placing orders     │
└─────────────────────┘    └─────────────────────┘
      You use this              AI uses this

Watch the AI work anytime. Take over if something looks wrong. Hand it back when you're done.

OpenCyvis v2 home screen


Why

When a company ships an "AI phone," they get full access to your screen, your apps, your messages — and you can't see what model is running, can't verify what data leaves your device, can't choose an alternative.

You should at least have the choice.

OpenCyvis is the open-source alternative: you see every line of code, you pick the AI model, you decide where your data goes. With a local model, nothing ever leaves your device.


Two Install Modes

Standard Mode

For most users. No custom ROM, no root, no computer.

  1. Download and install the APK
  2. Open the app, follow the setup wizard to complete ADB wireless pairing
  3. Choose your LLM backend (cloud or local), start using

The entire pairing process completes on-device. Supports Android 11+.

System App Mode

For developers and power users.

Flash an AOSP system image. The app runs as a system application with full platform signing privileges. Screenshots use SurfaceControl directly — fastest possible. Full virtual display task management via system APIs.

How they relate

Same AI engine, same LLM backends, same UI, same capabilities. The only difference is how the app obtains system permissions. Standard mode uses ADB shell privileges; System App mode uses platform signing. For everyday tasks, you won't notice the difference.


v2.0 New Features

Remote Control via IM

Send messages to a bot in your IM app to control the phone's AI remotely. Currently supports Feishu and Telegram.

Use case: Install OpenCyvis on a parent's phone. Mom says "the text is too small" — you send "set font size to largest" in IM. The AI does it and sends back a confirmation screenshot. No need for both parties to watch the screen simultaneously.

Supports: sending commands, receiving progress, viewing screenshots, answering the AI's questions, stopping tasks. Pairing uses a 6-digit code.

Remote control via Feishu

Routines

Save frequent operations and run them on a schedule or with one tap.

Example: "Check calendar, weather, and unread emails every morning at 8am" — the AI runs automatically and pushes a summary to chat. Also supports geofencing — auto clock-in when arriving at the office.

Provider Profiles

Save multiple AI configurations (e.g., cloud Qwen, local Gemma 4, Claude) and switch between them with one tap. No need to re-enter API URLs and keys each time.

Dark Mode

Full day/night theme. Follows system settings or set manually. All screens — home, chat, settings, watch mode — have matching dark variants.

Multi-ROM Support

Standard mode now supports MIUI, ColorOS, OriginOS, and other vendor ROMs. Different manufacturers have vastly different wireless debugging entry points — OemHelper handles the differences.


How It Compares

Commercial AI Phones Cloud Phones Phone-control Scripts OpenCyvis
Open source ⚠️
Choose your AI model ⚠️
Data stays on device ⚠️
Phone usable while AI works ⚠️
Works with any app ⚠️ ⚠️ ⚠️
No computer setup ⚠️ ⚠️
Works on everyday phones ⚠️

Supported Models

OpenCyvis is model-agnostic. Bring your own AI account, connect a private service, or run a local model.

Cloud Models

Model Latency per step Pass Rate Notes
Qwen 3.5 Plus 4-6s 4/4 Stable, recommended
Claude Opus 4 4-8s 4/4 Highest reasoning quality
MiMo v2.5 2.3-4.5s 4/4 Fastest
GPT-4o 3-6s 3/4 Occasionally ignores tool_choice

Local Models (via Ollama)

Model Size Speed Pass Rate
Gemma 4 26B-A4B Q4 17 GB 63 tok/s 4/4
Gemma 4 E2B Q4 1.8 GB 41 tok/s 4/4
Qwen 3.5 35B-A3B Q4 22 GB 47 tok/s 3/4
Gemma 4 E4B Q4 3 GB 61 tok/s 3/4

Recommended: Gemma 4 26B-A4B — best balance of speed, quality, and memory.
Minimal: Gemma 4 E2B — just 1.8 GB, still passes all 4 tests.


Architecture

Both install modes share all upper-layer code. The difference is only in the privilege layer, isolated behind a PrivilegeBackend interface:

SystemBackend RemoteBackend
Privilege source Platform signing (uid system) ADB shell (uid 2000)
Input injection InputManager reflection AIDL proxy to PrivilegedService
Screenshot SurfaceControl.screenshot() ImageReader from VD Surface
VD task management ActivityTaskManager reflection PrivilegedService proxy

The backend is selected automatically at runtime.

Dual backend architecture


Privacy & Security

An AI agent with full phone access is one of the most privileged pieces of software you can run. This is not a place for "trust us."

  • You choose the AI service — hosted, private, or local
  • No telemetry, no analytics, no phone-home — zero tracking code
  • Open source — anyone can audit
  • Local model option — nothing leaves your device

Getting Started

Download

Two APKs are available on the Releases page:

APK For Package ID
opencyvis-standard-release.apk Most users — install on any Android 11+ phone ai.opencyvis.standard
opencyvis-system-release.apk Developers — flash into AOSP as a system app ai.opencyvis
  1. Download opencyvis-standard-release.apk and install
  2. Open the app, follow the setup wizard to complete wireless pairing
  3. Configure your LLM provider in Settings
  4. Start sending tasks

No root, no computer, no custom ROM required.

System App Mode

For developers building a custom AOSP image:

git clone https://github.com/opencyvis/opencyvis-phone.git
cd opencyvis-phone/android
./gradlew assembleSystemRelease

See android/README-AOSP.md for AOSP deployment and platform key signing.

Configure LLM

Set your provider in-app, or via deeplink:

# Local Ollama (fully private)
adb shell am start -a android.intent.action.VIEW \
  -d "opencyvis://config?provider=ollama&base_url=http://localhost:11434&model=gemma4:26b"

# Cloud API
adb shell am start -a android.intent.action.VIEW \
  -d "opencyvis://config?provider=openai&base_url=https://api.example.com/v1&api_key=YOUR_KEY&model=qwen-vl-max"

Roadmap

  • Explore more convenient privilege acquisition methods
  • Further optimize local model support
  • Cross-device coordination (phone + desktop)

Contributing

See CONTRIBUTING.md. We welcome code, bug reports, security audits, translations, and documentation.

License

Apache 2.0

Acknowledgments

  • Sherpa-ONNX — on-device speech recognition (Apache 2.0)
Apps
About Me
GitHub: Trinea
Facebook: Dev Tools
AI Daily Digest