opencyvis/opencyvis-phone: Contribute to opencyvis/opencyvis-phone development by creating an account on GitHub.

github.com · 2026-08-20 · by Long Nguyen ·github
Contribute to opencyvis/opencyvis-phone development by creating an account on GitHub.

opencyvis/opencyvis-phone

Contribute to opencyvis/opencyvis-phone development by creating an account on GitHub.

386 stars · 57 forks

README

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

Docs • 中文 • Getting Started • Roadmap • Contributing

What It Does 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:

"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.

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.

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

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

Pairing tips

The wizard sends you to Wireless debugging → Pair device with pairing code. Once you see the 6-digit code, pull down the notification shade and type the code straight into the OpenCyvis notification — no need to switch back to the app. Some vendor ROMs (ColorOS / OnePlus, MIUI, …) freeze apps once they go to the background. If the system asks you to allow background activity / ignore battery optimization during pairing, choose Allow for a smoother experience. If you don't see the notification with the input field, just pull down the shade once to find it.

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.

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.

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

Standard Mode (recommended)

Download opencyvis-standard-release.apk and install Open the app, follow the setup wizard to complete wireless pairing Configure your LLM provider in Settings Start sending tasks

No root, no computer, no custom ROM required. During pairing, type the 6-digit code into the OpenCyvis notification (pull down the shade), and allow background activity if your ROM prompts for it. 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)

source

github.com · 10 images · 110 links

Comments (0)

No comments yet