跪拜 Guibai
← All articles
AI · Open Source · News

Mika: An Android AI Agent That Runs Apps on a Hidden Background Screen

By 冬奇Lab ·
Read original on juejin.cn ↗ Google Translate ↗ Alt translation

Android automation no longer has to depend on per-app APIs or brittle scripts; Mika's screen-reading approach plus a hidden virtual display shows a practical path for device agents, though its undocumented internals and ToS risks mean production use needs scrutiny.

Summary

Mika is an open-source Android AI agent that takes over apps and web pages by reading the screen and tapping like a human, so it needs no App APIs and no per-app adaptations. Tasks run on a hidden background display, leaving your main screen free for other work. The app pairs once over wireless debugging to control other apps, then executes commands across platforms such as Chrome, WhatsApp, or local apps, with a built-in browser that keeps login state and handles downloads.

Model selection is explicit and privacy-aware: there is no Mika server, so requests and screen content go only to the provider you configure, from DeepSeek, Qwen, and Kimi to OpenAI, Anthropic, Gemini, or local models via Ollama and LM Studio. The default ask mode confirms before spending tokens; autonomous mode interrupts less, and login, CAPTCHA, and payment screens are always handed back to the user. Extras include scheduled tasks, voice input, a Linux sandbox for Python/Node/shell commands (arm64 only), and CLI/MCP links from a desktop agent.

The project is young (created 2026-10-29, ~7.2k stars) and its README leaves several implementation details unpublished, so you'll want a test device, a local model for anything sensitive, and acceptance of Android's wireless-debugging quirks.

Takeaways
— Roughly 7,240 GitHub stars and 1,655 forks as of writing; created 2026-10-29, written in Kotlin, licensed Apache-2.0.
— Operates apps by reading the screen and simulating taps/input, requiring no App APIs and no per-app adaptation.
— Tasks run on a hidden background display, keeping the main screen usable for other activity.
— Supports a wide set of model providers including DeepSeek, Qwen, Kimi, OpenAI, Anthropic, Gemini, Ollama, and LM Studio, plus OpenAI-compatible custom endpoints.
— No Mika server: requests and screen content go only to the configured model provider, so local models are needed to keep screen data fully on-device.
— Default question mode confirms before spending; login, CAPTCHA, and payment screens are always handed back to the user.
— Android 11+ required for chat/web/file features; Android 12+ (14+ recommended) for controlling other apps; Linux sandbox requires arm64.
— Wireless debugging pairing disconnects on Wi-Fi changes or reboot; some devices lack the feature entirely.
— Built-in app knowledge is in Chinese, but conversation can be in English.
Conclusions

The README's central promise of 'no App API, no per-app adaptation' is appealing, but it never discloses the screen-reading mechanism (accessibility service vs. a vision model) or any architecture, so the claim is unverifiable without reading the source.

The hidden background display is a thoughtful workaround for the main-screen monopoly that most screen agents cause, yet Android's multi-display behavior varies across OEM skins, making device-specific bugs a real possibility.

The privacy story is transparent (no Mika server) but conditional: when a cloud model is used, every frame Mika sees is shipped to that vendor, including potentially sensitive pages, so local models are the only strictly private route.

Concepts & terms
MCP (Model Context Protocol)
An open standard that lets AI language models call external tools and data sources through a shared interface; here it lets a computer-side agent send commands to Mika.
Wireless debugging
An Android developer option that lets apps pair with a computer over Wi-Fi without a USB cable; Mika's setup wizard uses it to gain control over other apps, but the pairing drops when Wi-Fi changes or the phone reboots.
Source: juejin.cn ↗ Google Translate ↗ Backup ↗