Mika is an open-source Android agent that operates existing apps through taps, swipes, and text input. Its automation runs on a separate background display, leaving the foreground available for normal phone use. The Apache-2.0 project is written in Kotlin with Jetpack Compose and has 26 GitHub stars.

How the background display works

Mika launches target apps on a separate display and reads their interfaces while a small live preview appears in the conversation view. This design lets it operate apps such as WeChat, Xiaohongshu, BOSS Zhipin, and Bilibili without taking over the screen currently in use.

Mika operating WeChat on a background display while the foreground remains available
Mika sends a WeChat message from its background display.

Its perception stack starts with Android accessibility services, which expose a structured tree of buttons, text fields, and other controls. Bundled optical character recognition handles text inside custom interfaces that omit useful accessibility data. An optional vision model can inspect screenshots to identify controls that neither channel exposes.

The interaction loop resembles desktop computer-use agents from Anthropic and OpenAI: a model observes the current state, chooses an action, checks the result, and repeats. Mika applies that loop to consumer Android apps on a physical device.

Local execution, external inference

Model requests go directly from the device to the provider configured by the user. Mika operates no intermediary backend and supports presets for DeepSeek, Qwen, Kimi, Zhipu, OpenRouter, Anthropic, and Gemini, along with compatible OpenAI-style endpoints.