Skip to content

About

No description, website, or topics provided.

Resources

Stars

6 stars

Watchers

0 watching

Forks

Repository files navigation

Droid logo

Droid

Your phone. Any agent.

An agent that uses your Android phone the way you do. Run it on any model, free and local ones included, drive the phone from any agent over MCP and ACP, and talk to it in the app, on Telegram, or on WhatsApp and iMessage through Photon.

Release Platform Arch

Website · Get the app · Setup

A chat on the left, the phone's mirrored screen on the right

Droid (dev.aster.probe) gives an AI agent your phone's screen. An accessibility service lets it read, tap, swipe and type, in your apps, with your accounts.

  • Any model. Free models with no account and no key, Ollama or LM Studio on your own computer, or a key for one of 40 providers, such as OpenRouter, Gemini and NVIDIA.
  • Any agent. Claude Code, Codex, Cursor and any other MCP client use the phone's screen as a tool. Zed and JetBrains talk to the agent on the phone over ACP.
  • Chat where you are. In the Droid app, on Telegram, or on WhatsApp and iMessage through Photon.

Status: used as a daily driver, still experimental. arm64-v8a only, and it needs broad device permissions.

Quick start

  1. Install the APK from the latest release and open it.
  2. Onboarding picks a model. Try it free needs no account and no key; you can also use a model on your computer or sign in with a provider.
  3. Choose where to talk to it: the chat in the app, Telegram, or Photon.
  4. Grant what it asks for: accessibility, the keyboard, notification access. Then say what you want done:
Open settings and turn on Do Not Disturb.

The free models run on a trial service that keeps logs, so keep them away from banking, health and other private screens. Use your own computer's model or a key for those.

Connect a computer

MCP and ACP over USB, Wi-Fi or Tailscale are free and work today. In Droid, open Connect a computer and turn on Agents (MCP), Editors (ACP), or both. For Wi-Fi, also turn on Over Wi-Fi; for Tailscale, set Other agents' and Editors' address in settings to the phone's Tailscale address. Then on the computer:

npx @withaster/droid pair --adb               # phone on a USB cable
npx @withaster/droid pair --lan 192.168.1.20  # phone on this Wi-Fi, or its Tailscale address
npx @withaster/droid setup claude             # or codex, cursor, zed, jetbrains, vscode, all

pair asks for the keys Droid shows under Connect a computer. A bare npx @withaster/droid pair uses adb when it sees exactly one phone, and otherwise says how to pair over Wi-Fi. setup writes the config for each client. More in the CLI README.

Aster Relay is coming soon. It will reach the phone from anywhere with one code, with no ports, adb or Tailscale. Until it opens, use USB, Wi-Fi or Tailscale. A relay you host yourself works now: see Self-hosting.

What it can do

Your apps. A new way to use them.

The agent reads the screen, taps, swipes, and types. Just say what you want to do:

Open settings and turn on Do Not Disturb.

It remembers, and it learns

Save a fact with /remember, teach it a routine with /learn, and browse the collection with /skills. Installed skills show up as /commands too.

/remember I prefer a quiet phone after 10 pm
Saved to memory. Prefers a quiet phone after 10 pm.

/learn
New skill: quiet-mode
Opens Settings, turns on Do Not Disturb, and lowers ring volume.

It comes back on its own

The agent schedules its own wake-ups, ends the turn, and returns when the timer fires. Rider checks, chunked recordings, anything that needs a later look. Manage them from the chat with /checkins and /cron.

Watch it work. Take over whenever.

Use /mirror to open your phone's live screen in a browser, over your LAN or Tailscale. Tap, type, and control it yourself.

Your choice of model

Start on free models with no key, connect a cloud provider, or use a model server on your own computer, and change the model and reasoning effort from chat. 40 providers with key pages in docs/PROVIDERS.md; a local server needs no key.

The provider picker: Baseten, DeepSeek, Fireworks AI, Google Gemini, Hugging Face Router, LM Studio, Ollama, OpenRouter and more The settings screen listing keys, all masked

Bring your own agent

The phone is not tied to the agent on it. Claude Code, Codex, Cursor, or any tool that speaks MCP can read and use the screen too, and Zed and JetBrains can chat with the phone's agent over ACP. Pair once and let setup write each client's config, as in Connect a computer. Your agent gets the same eyes and hands.

You can also swap the agent that runs on the phone for your own command. Details in docs/USING.md.

The little things, thought through

  • Pick up a conversation: list past sessions, resume your work, or start fresh
  • Stop or try again: cancel a running turn, retry the last message, see the queue
  • See what happened: agent status, tool activity, and transcripts in the app
  • Choose who can ask: on Telegram, WhatsApp or iMessage, set Allowed people; the agent ignores everyone else
The app home screen: permissions on, agent provider and model, live activity, and a Stop the agent button

It gets better at your phone

After a run it scores its own rounds, keeps the shortest path, and saves it as a skill. The next time is faster. The History screen keeps the receipts: sessions, turns, tool calls, tokens.

The History screen: sessions, turns, tool calls, tokens, total time, and the skill count A session in the History screen with each run_command and its timing

Documentation

doc what is in it
SETUP Telegram bot setup in detail, pushed .env, configuration variables, troubleshooting
PROVIDERS all 40 providers with key pages and env variables
USING chat commands, the control protocol, action receipts, the screen mirror, other agents over MCP
CLI @withaster/droid: pairing a computer, setup for each client, the stdio MCP and ACP bridges
RELAY the relay protocol, for Aster Relay (coming soon) or one you host
ARCHITECTURE how it works, with a diagram
LICENSE Apache-2.0
BUILDING build from source, releases, CI, permissions, repository layout

The short version of how it works

A foreground service runs the agent as a child process, with a bridge to Telegram or Photon when one is chosen. The agent calls asterctl, which talks to AsterA11yService over an abstract Unix socket; the service reads accessibility trees, dispatches gestures and captures screenshots. Other agents reach the same service through asterctl mcp, and editors reach the agent through asterctl acp. Full detail in docs/ARCHITECTURE.md.

Architecture: the chat to the agent to asterctl to the accessibility service

About

No description, website, or topics provided.

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages