Open-source AI Phone

Your phone. Your AI.

Commercial AI phones are black boxes. This one isn't. See every line of code, pick your model, control your data.

Open Cyber Jarvis

OpenCyvis v2 home screen
OpenCyvis v2 home screen

v2.0 is here — and it works on any phone.

No custom ROM required for standard mode. Install the app, follow the setup wizard for ADB wireless pairing, choose your LLM backend, and start using. You can send tasks from messaging apps, receive results and screenshots in chat, and use a redesigned interface built for daily use.

Fully open source. Apache 2.0.
Install and go — no root, no computer Remote control from Feishu / Telegram Routines — schedule recurring tasks Provider Profiles — one-tap model switch Redesigned light and dark UI
Why

You should at least have the choice.

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

Doubao AI Phone

Locked to ByteDance's model.

Samsung Galaxy AI

Locked to Samsung + Google.

Google Built-in AI

Gemini only. You get what they give you.

OpenCyvis

You see the code. You pick the model. You decide where data goes.

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 ⚠️
Features

What it does

Give it a task in natural language — it sees your screen, understands the UI, and operates apps just like you would.

Your screen
AI works here

Background Operation

AI works on a virtual display — your phone stays free. Book flights while you scroll Twitter.

Works on any Android phone

No custom ROM, no computer needed. Install the app and follow the setup guide.

Remote Control via IM

Send tasks from Feishu or Telegram. Get results and screenshots right in chat.

Routines

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

Provider Profiles

Save multiple AI configs and switch with one tap. No re-entering URLs and keys.

Dark Mode

Full day/night theme. Follows system settings or set manually.

Multi-ROM Support

Standard mode supports MIUI, ColorOS, OriginOS, and other vendor ROMs.

Any AI Model

Cloud, private, or local — use the model or service you prefer.

Watch & Takeover

Observe in real-time. Take control anytime. Hand back seamlessly.

Asks When Unsure

Pauses on ambiguity instead of guessing. "Which Zhang Wei? I see three."

Offline Voice

On-device speech recognition via Sherpa-ONNX. No internet needed.

Trust

Built for people who want control.

OpenCyvis is designed around choice: your phone, your preferred model, your data rules, and a clear path to audit what the agent is doing.

02 — Choice

Use the model you trust

Connect a cloud model, a private service, or a local model via Ollama. OpenCyvis is not tied to one AI vendor.

03 — Memory

Remembers what you approve

Save preferences and reusable routines so repeated work gets faster, while keeping you in charge of what is stored.

04 — Visibility

Results arrive where you are

Send a request from chat and get status, screenshots, and final results back in the same conversation.

05 — Openness

Open source is the product promise

All code is public under Apache 2.0. Users, builders, and researchers can inspect how the app behaves.

Design principle: An AI phone agent should be inspectable, replaceable, and controlled by the person who owns the phone.

Architecture

Dual backend, one experience

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

SystemBackendRemoteBackend
Privilege sourcePlatform signing (uid system)ADB shell (uid 2000)
Input injectionInputManager reflectionAIDL proxy to PrivilegedService
ScreenshotSurfaceControl.screenshot()ImageReader from VD Surface
VD task managementActivityTaskManager reflectionPrivilegedService proxy
Dual backend architecture
The backend is selected automatically at runtime.
Models

Model-agnostic

Bring your own AI account, connect a private server, or run locally when privacy matters most.

Cloud Models
ModelLatency per stepPass RateNotes
Qwen 3.5 Plus4-6s4/4Stable, recommended
Claude Opus 44-8s4/4Highest reasoning quality
MiMo v2.52.3-4.5s4/4Fastest
GPT-4o3-6s3/4Occasionally ignores tool_choice
Local Models (via Ollama)
ModelSizeSpeedPass Rate
Gemma 4 26B-A4B Q417 GB63 tok/s4/4
Gemma 4 E2B Q41.8 GB41 tok/s4/4
Qwen 3.5 35B-A3B Q422 GB47 tok/s3/4
Gemma 4 E4B Q43 GB61 tok/s3/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.

Not a place for "trust us."

An AI agent with full phone access is one of the most privileged pieces of software you can run.

Your task ──→ OpenCyvis (on your phone) ──→ Your chosen AI ──→ Result ↑ You choose where requests go
Getting Started

Two ways to install

Choose Standard Mode for everyday use, or System App Mode for maximum performance with AOSP.

Standard Mode (Recommended)

  1. Download opencyvis-standard-release.apk and install
  2. Open the app, follow the setup wizard for wireless pairing
  3. Configure your LLM provider in Settings
  4. Start sending tasks

No root, no computer, no custom ROM. Android 11+.

System App Mode

  1. Clone the repository
  2. Build system APK from source
  3. Flash into AOSP as system app

For developers building custom AOSP images.

APK For Package ID
opencyvis-standard-release.apk Most users — any Android 11+ phone ai.opencyvis.standard
opencyvis-system-release.apk Developers — flash into AOSP ai.opencyvis
# System App Mode build
git clone https://github.com/opencyvis/opencyvis-phone.git
cd opencyvis-phone/android
./gradlew assembleSystemRelease
# Configure LLM 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"

Download APKs from the Releases page.

Roadmap

What's next

Acknowledgments

Built on great work

Sherpa-ONNX

On-device speech recognition (Apache 2.0)

Shizuku

ADB privilege access for standard mode (Apache 2.0)