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