Mika: An Android AI Agent That Runs Apps on a Hidden Background Screen
One Open-Source Project a Day (No. 255): Mika — An AI Agent in Your Android Phone That Operates Apps and Web Pages on a Hidden Background Screen
Introduction
"No App APIs, no per-App adaptation."
This is the 255th post in the "One Open-Source Project a Day" series. Today's project is Mika, an AI agent that runs on an Android phone.
The common ways to let AI operate your phone are two: rely on each App's open interface (most don't have one), or write a separate adapter for every App (unmaintainable). Mika takes a third path: it looks at the screen, finds buttons, taps, and inputs like a human. The README says "no App API needed, no per-App integration needed."
It has a very practical design: tasks run on a hidden background screen, so your main screen remains available for other things. The repository was created on 2026-10-29 and currently has roughly 7.2k stars, growing quickly, but the project is still new and everything below is based on the README; I have not tested each claim myself.
What you will learn
- How Mika operates a phone without depending on App interfaces
- How to choose a model: it has no server of its own, where does data go?
- How question mode and autonomous mode control risk, and which situations hand control back to you
- The built-in browser, scheduled tasks, Linux sandbox, and skill-learning extensions
- Installation requirements and a few limitations to watch out for
Prerequisites
- Be able to install APKs and use Android developer options
- Understand the basics of using LLM API keys
- Optional: know MCP
Project Background
Project Summary
Mika is an Android AI assistant app: you give instructions, and it executes tasks across multiple Apps and web pages. The repository description is "an on-device Android AI agent that operates apps and web pages for you." Here, "on-device" means the agent itself runs on the phone; whether the model itself is local depends on your configuration (see below).
Project Stats
- ⭐ GitHub Stars: ~7,240
- 🍴 Forks: ~1,655
- 💻 Language: Kotlin
- 📅 Created: 2026-10-29
- 📄 License: Apache-2.0 (with NOTICE and third-party declarations)
- 👤 Author: wangzan101 (X: @wangzan101), with a community X chat
- 🌐 UI supports 10 languages, including Chinese, English, Japanese, Korean, Spanish, and Arabic
Main Features
Core Function
Common obstacles to letting AI operate the phone:
Most Apps have no open API
Writing an adapter per App is unmaintainable
The agent occupies the main screen, so you can't use the phone
Mika's approach:
Looks at the screen, finds buttons, taps and types like a human
↓ Executes on a hidden background screen
↑ Your main screen stays yours; it hands back login, CAPTCHA, and payment
What It Can Do
- Operate Apps: read long lists and chat histories, tap, input, share text
- Built-in browser: keeps login state, reads pages, handles downloads and uploads
- Floating capsule: double-tap to send the current screen to it
- Scheduled and conditional tasks: reminders, periodic tasks
- Interject anytime: interrupt or stop mid-task, then say "continue"
- Press-and-talk voice input: uses the phone's built-in recognition, or the provider's voice model if unavailable
- Linux sandbox: one sandbox per conversation, can run Python, Node, and shell (arm64 devices only)
- Desktop access: AI tools on a computer can dispatch tasks via CLI + Skill or MCP
- Learning capability: remembers preferences and turns completed tasks into skills
- Built-in App knowledge: covers a large number of apps and websites, mainly Chinese platforms, plus Amazon, Gmail, Uber, YouTube, etc.; apps not listed are also usable
Quick Start
- Download the APK from the GitHub Releases page
- Go to Settings › Model, select a provider and fill in the Key, or log in directly to an account
- To control other apps on the phone, run the "Set up phone control" wizard and pair once with wireless debugging
The README does not provide commands to build from source; it only mentions a ./gradlew updateReadme task used to generate README snippets. For installing a desktop agent, refer to the guide linked in the README.
System Requirements
| Ability | Requirement |
|---|---|
| Chat, web, files | Android 11+ |
| Operating other Apps | Android 12+, 14+ recommended |
| Linux sandbox | arm64 devices |
Settings › Recovery & Repair has a compatibility self-check.
Detailed Analysis
No Mika Server: Data Only Goes to the Model You Choose
The README says explicitly that there is no Mika server; your requests and screen content are sent only to the model provider you configure. This sets the privacy boundary:
- Presets: DeepSeek, Qwen, Kimi, Zhipu, SiliconFlow, Volcano Ark, MiniMax, OpenRouter, Anthropic, Gemini, OpenAI, xAI, Mistral, Groq, Ollama, LM Studio, etc.
- Custom: accepts OpenAI-compatible, Anthropic, Gemini, or OpenAI Responses endpoints, including pointing to a model on your own computer via a LAN address
- Login options: use your own API key, or log in with a ChatGPT (Plus/Pro), xAI/Grok, or OpenRouter account
In other words, to keep screen content entirely off-device, you can connect to models running on your own computer via Ollama or LM Studio; if you use a cloud model, screen content is sent to that vendor. Think this through before use.
Local storage: API keys and memory are encrypted and stored on the device; conversation and run logs stay local; update checks only contact GitHub.
Risk Control: Two Modes and Proactive Hand-back
- Question mode (default): only confirms before money is spent
- Autonomous mode: fewer interruptions
- Proactive hand-back: login, CAPTCHA, and payment are always handed to you; screens that block screenshots (e.g., payment, password pages) also trigger a hand-back
The README also warns: automating third-party Apps may violate their terms of service; judge for yourself, use question mode for important tasks, and there is a disclaimer document linked in the repo.
How It Actually Controls the Phone
The README only says that phone control is paired once through the setup wizard via wireless debugging; it does not clearly state whether it uses the accessibility service, nor whether a vision model is involved. "Looks at the screen, finds buttons" implies some screen-reading method, but the details are not public. The README also lacks architecture and directory structure documentation. To understand the implementation, you have to read the source directly.
Limitations and Notes
- Wireless debugging disconnects when the Wi-Fi changes or the phone reboots; some phone systems lack this feature entirely, in which case you fall back to a USB-connected computer setup
- Some pages cannot be screenshotted, so operation is restricted
- The built-in App knowledge is written in Chinese, but you can converse with Mika in English
- The project is very new, the README has no roadmap, and maturity is for you to judge
- Contributions are welcome: submit usage knowledge or code, see the contribution guidelines
Project Links and Resources
- 🌟 GitHub: https://github.com/wangzan101/Mika
- 📦 Download: GitHub Releases page
- 📄 License: Apache-2.0
- 🐦 Author: X: @wangzan101
Summary and Outlook
Core Points Recap
- Approach: no dependence on App interfaces; looks at the screen and operates like a human
- Hidden virtual display: tasks run without occupying the main screen
- Clear data flow: no Mika server, only sends to the model you configure; can connect to local models
- Risk control: confirms before spending by default; login, CAPTCHA, and payment are handed back to you
- Extensibility: built-in browser, scheduled tasks, Linux sandbox, skill learning, and MCP/CLI access
Who It's For
- Android users who want AI to handle repetitive operations on their phone
- Developers who want to plug phone capabilities into a desktop Agent workflow
- Anyone interested in how mobile GUI agents work under the hood
Learning Advice
Install it on a spare device first, try a few low-stakes tasks in question mode, and observe when it hands control back. If you care about privacy, connect a local model via Ollama or LM Studio before testing. For tasks involving accounts or payments, wait until you're familiar with its behavior before letting go.
Visit PrimeSkills — a curated AI Agent and skills marketplace, all content validated through real enterprise-grade workflows. No gimmicks, only things that actually work.
For more practical knowledge and interesting products, visit my personal homepage
Top 1 from juejin.cn, machine-translated. The original thread is authoritative.
Thanks for sharing.