跪拜 Guibai
← Back to the summary

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

Prerequisites


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


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

Quick Start

  1. Download the APK from the GitHub Releases page
  2. Go to Settings › Model, select a provider and fill in the Key, or log in directly to an account
  3. 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:

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

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

  1. 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
  2. Some pages cannot be screenshotted, so operation is restricted
  3. The built-in App knowledge is written in Chinese, but you can converse with Mika in English
  4. The project is very new, the README has no roadmap, and maturity is for you to judge
  5. Contributions are welcome: submit usage knowledge or code, see the contribution guidelines

Project Links and Resources


Summary and Outlook

Core Points Recap

  1. Approach: no dependence on App interfaces; looks at the screen and operates like a human
  2. Hidden virtual display: tasks run without occupying the main screen
  3. Clear data flow: no Mika server, only sends to the model you configure; can connect to local models
  4. Risk control: confirms before spending by default; login, CAPTCHA, and payment are handed back to you
  5. Extensibility: built-in browser, scheduled tasks, Linux sandbox, skill learning, and MCP/CLI access

Who It's For

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

Comments

Top 1 from juejin.cn, machine-translated. The original thread is authoritative.

小易老师

Thanks for sharing.