Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

15 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“ฑ 4AIs

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.

CI Release Downloads License: MIT Android 8.0+ GitHub stars

๐ŸŒ 4ais.in ยท ๐Ÿ“ฅ Releases ยท ๐Ÿ”จ Building ยท ๐Ÿ—๏ธ Architecture ยท ๐Ÿ› Report a bug

4AIs taking a chat instruction and completing it on the phone by itself

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.

๐Ÿš€ Quickstart

1. Install the app

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.

2. Run the setup wizard

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.

3. Add a model key

In Settings โ†’ AI provider, pick a provider and paste your key. No key? NVIDIA's is free: build.nvidia.com.

4. Chat

you:   open youtube and find me a 20 minute yoga video
agent: act observe โ†’ act tap 14 โ†’ act type 3 "20 minute yoga" โ†’ โ€ฆ

๐Ÿ”จ Build from source

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 assembleDebug

No API keys are needed to build. See docs/BUILDING.md.

โš™๏ธ How it works

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.

๐Ÿ’ก What people use it for

  • 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

๐Ÿ—บ๏ธ Roadmap

  • 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 act verbs and vision-model fallback for canvas-only apps

๐Ÿค Contributing

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.

Contributors

๐Ÿ”’ Security & privacy

  • 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 to 127.0.0.1 and 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 rejects sh/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.

๐Ÿ™ Credits

๐Ÿ“„ License

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.

Star History Chart

About

On-device AI agent for Android local OpenClaw gateway, bring-your-own-key (NVIDIA/OpenAI/Anthropic/Gemini), UI automation via AccessibilityService. No backend, no telemetry.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages