[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-11569":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":16,"stars30d":17,"stars90d":14,"forks30d":14,"starsTrendScore":18,"compositeScore":19,"rankGlobal":8,"rankLanguage":8,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":23,"topics":24,"createdAt":8,"pushedAt":8,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":14,"starSnapshotCount":14,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},11569,"opencyvis-phone","opencyvis\u002Fopencyvis-phone","opencyvis",null,"Kotlin",311,47,4,3,0,9,29,174,27,5.04,"Apache License 2.0",false,"main",true,[],"2026-06-12 02:02:32","\u003Cpicture>\n  \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\".github\u002Fgithub-banner-dark.png\">\n  \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\".github\u002Fgithub-banner-light.png\">\n  \u003Cimg alt=\"OpenCyvis\" src=\".github\u002Fgithub-banner-light.png\" width=\"100%\">\n\u003C\u002Fpicture>\n\n\u003Cp align=\"center\">\n  \u003Cstrong>The open-source AI phone.\u003C\u002Fstrong>\u003Cbr>\n  Commercial AI phones are black boxes. This one isn't.\u003Cbr>\u003Cbr>\n  \u003Csub>\u003Cb>Open\u003C\u002Fb> \u003Cb>Cy\u003C\u002Fb>ber Jar\u003Cb>vis\u003C\u002Fb>\u003C\u002Fsub>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"README_CN.md\">中文\u003C\u002Fa> •\n  \u003Ca href=\"#getting-started\">Getting Started\u003C\u002Fa> •\n  \u003Ca href=\"#roadmap\">Roadmap\u003C\u002Fa> •\n  \u003Ca href=\"CONTRIBUTING.md\">Contributing\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"LICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache_2.0-blue.svg\" alt=\"License\">\u003C\u002Fa>\n  \u003Ca href=\"#\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAndroid-API_36+-34A853.svg?logo=android&logoColor=white\" alt=\"Android\">\u003C\u002Fa>\n  \u003Ca href=\"#\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FKotlin-2.0-7F52FF.svg?logo=kotlin&logoColor=white\" alt=\"Kotlin\">\u003C\u002Fa>\n  \u003Ca href=\"#supported-models\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLLMs_Tested-9_models-FF6F00.svg\" alt=\"LLMs\">\u003C\u002Fa>\n  \u003Ca href=\"#\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTests-107+-brightgreen.svg\" alt=\"Tests\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n## Why\n\nWhen a company ships an \"AI phone,\" they get full access to your screen, your apps, your messages, your banking — and you can't see what model is running, can't verify what data leaves your device, can't choose an alternative.\n\nDoubao AI Phone? Locked to ByteDance's model. Samsung Galaxy AI? Locked to Samsung + Google. Google's built-in AI? Gemini only. You get whatever they decide to give you.\n\n**You should at least have the choice.**\n\nOpenCyvis 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.\n\n---\n\n## What It Does\n\nOpenCyvis turns any compatible Android device 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.\n\n**\"Find the best-rated coffee shop nearby and get directions\"** — opens Maps, searches, sorts by rating, taps the top result, starts navigation.\n\n**\"Look up flights to Tokyo next Friday — find the cheapest direct one\"** — opens the travel app, enters dates, filters direct flights, sorts by price.\n\n**\"Set a 7am alarm, turn on Do Not Disturb, and switch to dark mode\"** — chains Clock, Settings, and Display in one go.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fdemos\u002Fdemo1_qwen_final_6x.gif\" width=\"270\" alt=\"AI sets alarm, enables DND, switches to dark mode\">\n  &nbsp;&nbsp;\n  \u003Cimg src=\"docs\u002Fdemos\u002Fdemo_airpods_controlpanel_6x.gif\" width=\"270\" alt=\"AI compares AirPods prices on Amazon and Walmart\">\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Csub>Left: three tasks in one go (alarm → DND → dark mode) &nbsp;|&nbsp; Right: cross-app price comparison on Amazon vs Walmart\u003C\u002Fsub>\n\u003C\u002Fp>\n\n### It works in the background\n\nMost 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.\n\n```\n┌─────────────────────┐    ┌─────────────────────┐\n│   Your screen        │    │   Virtual display    │\n│                      │    │   (AI works here)    │\n│   Browse, chat,      │    │                      │\n│   watch videos —     │    │   Booking flights,   │\n│   phone is yours     │    │   sending messages,  │\n│                      │    │   placing orders     │\n└─────────────────────┘    └─────────────────────┘\n      You use this              AI uses this\n```\n\nWatch the AI work anytime. Take over if something looks wrong. Hand it back when you're done. It picks up right where you left off.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fdemos\u002Fdemo2_v3_cropped_4x.gif\" width=\"270\" alt=\"Watch mode — live view of AI's virtual display\">\n  &nbsp;&nbsp;\n  \u003Cimg src=\"docs\u002Fdemos\u002Fdemo_overlay_final_2x.gif\" width=\"270\" alt=\"Floating overlay while AI works in background\">\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Csub>Left: watch the AI's virtual display in real time &nbsp;|&nbsp; Right: floating overlay on home screen while AI works\u003C\u002Fsub>\n\u003C\u002Fp>\n\n---\n\n## How It Compares\n\n| | Commercial AI Phones | Cloud Phones | ADB-based Agents | **OpenCyvis** |\n|---|:---:|:---:|:---:|:---:|\n| **Open source** | ❌ | ❌ | ⚠️ | ✅ |\n| **Choose your AI model** | ❌ | ❌ | ⚠️ | ✅ |\n| **Data stays on device** | ❌ | ❌ | ⚠️ | ✅ |\n| **Phone usable while AI works** | ⚠️ | ✅ | ❌ | ✅ |\n| **Works with any app** | ⚠️ | ⚠️ | ⚠️ | ✅ |\n| **No ADB required** | ⚠️ | ⚠️ | ❌ | ✅ |\n\n---\n\n## Features\n\n- **Background operation** — AI works on a virtual display; your phone stays free\n- **Any AI model** — Qwen, Claude, GPT, Llama, Gemma, or run locally with Ollama\n- **Natural language** — describe what you want in plain text or voice\n- **Visual + structural understanding** — reads both screenshots and the UI element tree\n- **Watch & takeover** — observe the AI in real-time, take control anytime, hand back seamlessly\n- **Asks when unsure** — pauses on ambiguity (\"Which Zhang Wei? I see three\") instead of guessing\n- **Safety guards** — repeated action detection, confirmation for sensitive operations\n- **Offline voice** — on-device speech recognition (Sherpa-ONNX), no internet needed\n- **100% open source** — audit every line\n\n---\n\n## Supported Models\n\nOpenCyvis is model-agnostic. Bring your own API key, or run a local model and never make a network call.\n\n| Provider | Examples | Notes |\n|:---|:---|:---|\n| **OpenAI-compatible** | Qwen, GPT | Default — works with any OpenAI-compatible API |\n| **Anthropic** | Claude Sonnet | Native Anthropic API support |\n| **Ollama (local)** | Gemma, Llama, Qwen | Runs on-device or on your own server — nothing leaves your control |\n\n### Local Model Benchmarks\n\nWe tested 6 local models on 4 real-world UI scenarios (open settings, dial a number, handle impossible tasks, find a contact):\n\n| Model | Size | Speed | Pass Rate |\n|:---|:---:|:---:|:---:|\n| **Gemma 4 26B-A4B** Q4 | 17 GB | 63 tok\u002Fs | **4\u002F4** |\n| **Gemma 4 E2B** Q4 | 1.8 GB | 41 tok\u002Fs | **4\u002F4** |\n| **Gemma 4 31B** Q4 | 19 GB | 16 tok\u002Fs | 4\u002F4 |\n| **Qwen 3.5 35B-A3B** Q4 | 22 GB | 47 tok\u002Fs | 3\u002F4 |\n| **Gemma 4 E4B** Q4 | 3 GB | 61 tok\u002Fs | 3\u002F4 |\n| **GUI-Owl 1.5 8B** Q4 | 5.4 GB | 75 tok\u002Fs | 2\u002F4 |\n\n> **Recommended:** Gemma 4 26B-A4B — best balance of speed, quality, and memory.  \n> **Minimal:** Gemma 4 E2B — just 1.8 GB, still passes all 4 tests.\n\n---\n\n## Privacy & Security\n\nAn 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.\"\n\n- **Screenshots and UI tree stay in memory** — never written to disk, never stored\n- **You choose the endpoint** — self-hosted, private cloud, or fully local\n- **No telemetry, no analytics, no phone-home** — zero tracking code\n- **Open source** — security researchers, journalists, anyone can audit\n- **Local model option** — use Ollama and nothing leaves the device. Period.\n\n```\nYour screen ──→ Screenshot (RAM only) ──→ Your chosen AI ──→ Action\n                                           ↑\n                              You control this endpoint\n```\n\n---\n\n## Getting Started\n\n### Requirements\n\n- AOSP system image\n- Platform key signing (system app privileges)\n\nOpenCyvis is a privileged system application. It requires system-level access for screen capture and input injection — no root hacks or accessibility service workarounds.\n\n### Build from source\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fopencyvis\u002Fopencyvis-phone.git\ncd opencyvis-phone\u002Fandroid\n.\u002Fgradlew assembleRelease\n```\n\n### Deploy to device\n\nSee [docs\u002Faosp-deployment.md](docs\u002Faosp-deployment.md) for deploying on AOSP-compatible devices — covers symlink setup, device makefile, and platform key signing.\n\n### No device? Try the emulator\n\n```bash\n.\u002Fscripts\u002Fdeploy-emu.sh\n```\n\n### Configure\n\nSet your LLM provider in-app, or via deeplink:\n\n```bash\n# Local Ollama (fully private, no API key)\nadb shell am start -a android.intent.action.VIEW \\\n  -d \"opencyvis:\u002F\u002Fconfig?provider=ollama&base_url=http:\u002F\u002Flocalhost:11434&model=gemma4:26b\"\n\n# Cloud API\nadb shell am start -a android.intent.action.VIEW \\\n  -d \"opencyvis:\u002F\u002Fconfig?provider=openai&base_url=https:\u002F\u002Fapi.openai.com\u002Fv1&api_key=YOUR_KEY&model=qwen-vl-max\"\n```\n\n---\n\n## Roadmap\n\n### Next\n- Lighter installation (no ROM flash required)\n- Cross-device coordination (phone + desktop)\n\n### Vision\n- AI phones should be public infrastructure, not proprietary products. Our goal is to build an open standard for mobile AI agents — one that anyone can own, audit, and control.\n\n---\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md). We welcome code, bug reports, security audits, translations, and documentation.\n\n## License\n\n[Apache 2.0](LICENSE)\n\n## Acknowledgments\n\n- [Sherpa-ONNX](https:\u002F\u002Fgithub.com\u002Fk2-fsa\u002Fsherpa-onnx) — on-device speech recognition (Apache 2.0)\n","OpenCyvis 是一个开源的AI手机项目，旨在将任何兼容的Android设备转变为能够理解自然语言指令并执行任务的智能终端。其核心功能包括通过自然语言处理用户请求、理解和操作应用程序界面，以及支持多种本地运行的AI模型选择，确保数据隐私不离开设备。技术上基于Kotlin开发，并针对Android API 36及以上版本进行了优化。该项目适用于希望拥有更多控制权和透明度的用户场景，如需要自定义AI助手能力或对数据安全有较高要求的情况。",2,"2026-06-11 03:32:06","CREATED_QUERY"]