An AI agent that lives on your Android phone โ it sees the screen, taps, types, and gets things done.
No PC. No root. No cloud middleman. Your API key goes straight to the model provider you choose, and everything else runs on the phone.
๐ 4ais.in ยท ๐ฅ Releases ยท ๐จ Building ยท ๐๏ธ Architecture ยท ๐ Report a bug
Ask it things like "open WhatsApp and summarize my unread chats" or "find a 5-star biryani place nearby and share it with Amma" โ the agent reads the screen through an AccessibilityService, plans with the LLM of your choice, and performs real taps, swipes, and typing to finish the job. You approve risky actions before they happen.
- ๐ง Bring your own key, pick your brain โ NVIDIA (free-tier models), OpenAI, Anthropic, or Google Gemini. Keys are validated in-app and stored in Android's encrypted keystore. Nothing is proxied through our servers โ because there are no servers.
- ๐ฑ The whole agent runs on-device โ the OpenClaw
gateway (Node.js) runs inside the app as
libnode.so. Your phone is the agent runtime. - ๐ Real UI automation โ accessibility-tree reading with stable element ids, occlusion filtering, scroll-to-find, wait-for-element, screenshots, and a post-action diff of what changed. No ADB, no root.
- โ Human-in-the-loop โ graded-risk approval dialogs, an on-device audit log of every agent action, and an optional on-screen overlay showing what the agent is doing in real time.
- ๐ 300+ app integrations (optional) โ plug in a Composio key and the agent gets Gmail, Notion, GitHub, Slack and friends as MCP tools.
- โฐ Heartbeat โ schedule proactive agent runs ("every morning, check my calendar and text me a plan").
โ ๏ธ Status: early. The core loop โ chat โ agent โ phone control โ works. Fresh-install setup and streaming polish are actively being hardened. Expect rough edges; issues are very welcome.
Grab the latest APK from Releases (or build from source). You need an arm64 device on Android 8.0+ โ that's virtually every phone from 2017 onward.
Open the app and follow along: privacy consent โ enable the accessibility service โ automatic bootstrap (~3 min, ~200MB โ it installs Node.js + the agent gateway on the phone).
โ ๏ธ Android 13+ blocks the accessibility toggle for sideloaded apps. If "4AIs UI Automation" is greyed out or says "Restricted setting", that's Android's standard gate for non-Play-Store apps โ not a bug. To clear it: Settings โ Apps โ 4AIs โ โฎ (top-right menu) โ Allow restricted settings, then enable the toggle under Settings โ Accessibility. You only do this once.
In Settings โ AI provider, pick a provider and paste your key. No key? NVIDIA's is free: build.nvidia.com.
you: open youtube and find me a 20 minute yoga video
agent: act observe โ act tap 14 โ act type 3 "20 minute yoga" โ โฆ
git clone https://github.com/8crsk/openclaw-android.git
cd openclaw-android
./scripts/fetch-node-libs.sh # prebuilt Node.js libs (~33MB, one-time)
cp local.properties.example local.properties # set your sdk.dir
./gradlew assembleDebugNo API keys are needed to build. See docs/BUILDING.md.
You โโโบ Compose UI โโWS-RPCโโโบ OpenClaw gateway (Node.js, on-device)
โ your key, direct
โผ
NVIDIA / OpenAI / Anthropic / Gemini
โ "act tap 5"
โผ
AccessibilityService (reads screen, taps, types)
The model doesn't get raw coordinates โ it gets a numbered "legend" of what's
on screen and issues commands like act tap 5 or act type 3 hello. Full
details in docs/ARCHITECTURE.md.
- Summarizing and triaging chats, emails, and notifications
- Multi-step errands: "find X, compare prices, share the best one"
- Morning routines via Heartbeat: calendar check โ weather โ text a plan
- Hands-free phone control for accessibility needs
- Automating repetitive in-app workflows no API exists for
- Token-by-token streaming polish (chat renders live, but there's latency to shave)
- Hardened first-run bootstrap across more devices
- More providers (OpenRouter, Groq, local LLM servers)
- Smarter
actverbs and vision-model fallback for canvas-only apps
The issue board is a quest board โ pick your difficulty:
| Label | What it means |
|---|---|
| ๐ฑ starter | Small, self-contained, perfect first PR |
| โ๏ธ quest | A meaty feature with clear scope |
| ๐ boss | Hard architectural challenge โ fame awaits |
| ๐ฑ no-code | Device testing, docs, demo GIFs โ no Kotlin needed |
Every merged PR gets you credited in the release notes; regulars land on the contributors wall below. Start with CONTRIBUTING.md.
- Your data goes only to your provider. Prompts and screen content are sent straight to the model API whose key you entered โ never to us (there is no "us" server). API keys live in Android's Keystore-backed encrypted storage, and backup/device-transfer are disabled so they never leave the device.
- Localhost, token-gated. The on-device gateway (
:3000) and the UI automation bridge (:3001) bind to127.0.0.1and require a per-install random bearer token on every request, checked in constant time. Loopback isn't treated as a trust boundary โ the token is. - Shell access is opt-in and allowlisted. Elevated
exec(via Shizuku) is off by default. When enabled, a strict allowlist (ExecAllowlist) is the last line of defense against prompt-injection: it rejectssh/su, blocks toggling ADB / developer mode / unknown-source installs, and refuses newline/null argv-smuggling. It's unit-tested. - Human-in-the-loop. Risky actions (money, messages, deletion, installs) always prompt for approval and are audit-logged on device.
See SECURITY.md for the full threat model and how to report vulnerabilities.
- OpenClaw โ the agent gateway this app embeds
- AidanPark/openclaw-android โ the original proof that openclaw can run on Android (MIT)
- Shizuku โ optional ADB-level shell access
- DroidRun Portal โ inspiration for the accessibility legend/occlusion approach
MIT โ the app is named 4AIs; OpenClaw is the upstream gateway project we embed, not our brand. This is an independent community project, not affiliated with or endorsed by the OpenClaw team.
If an AI agent living in your pocket excites you, โญ star the repo โ it's how other people find it.