A fork of RikkaHub that turns the native Android LLM chat client into a real on-device agent.
70+ device tools, an in-app browser the AI drives, AI-authored workflows, scheduled jobs, SSH, music, file manager, and a remote Telegram bot.
All opt-in. Tell it what to do in plain language; it runs in the background, on your phone, on your terms.
Each of these is a one-line setup. The phone runs them in the background while you live your life.
Twelve pillars, every one of them off by default until you turn it on.
Tap, swipe, scroll, screenshots, open apps, torch, brightness, volume, notifications, vibrate, share. Plus read battery, WiFi, signal, location, sensors, contacts, and SMS. 70+ tools, all built into Android, no extra apps required.
A real WebView the AI drives end-to-end. Watch it open URLs, click cookie banners, fill in forms, scroll, read the page back to you. Or send it on errands from Telegram and it streams a screenshot to your chat after every step. Built-in article extraction keeps token cost low.
Tasker-class automation, but the AI writes the rules from natural language. 19 trigger types (WiFi, Bluetooth, headphones, geofence, app launch, notification, screen, charging, time, more) and 14 conditions (battery, sunset, foreground app, day-of-week). Receivers register only when needed.
"Every Monday at 8", "every two hours", "next Friday at 3pm". Jobs survive reboots and battery saver. Choose AI-at-runtime decisions, or pre-bake a fixed action that runs without using AI tokens.
Save your servers once and the AI can SSH into any of them on demand. Run a command, upload a file, pull down a backup, tail a log. Key-based auth, saved hosts, approval gating on first connect and destructive commands.
Talk to your assistant from anywhere. Set up a private bot with @BotFather, then chat with it like a contact. Voice notes, photos, PDFs all work; voice gets transcribed locally via whisper.cpp. Inline approval buttons. Allowlist-only.
Built-in file manager the AI can drive. "Find every PDF mentioning 'invoice' on my phone" works in one sentence. Read, save, copy, move, rename, delete. System folders are off-limits, even if you ask.
Plays through Android's normal media controls (lock-screen art, headphone keys). Pause, resume, lower volume for a meeting and bring it back later. Even after a force-stop the AI picks up where you left off, same track and same position.
Drop a Markdown skill file into the app and the AI gains a new playbook to follow step-by-step. JavaScript skills run in a hidden WebView and open results in the in-app browser. A bundled featured catalog ships with a QR generator, Wikipedia query, an interactive map, and more.
For long tasks the main assistant can dispatch a focused sub-agent in a clean side-context, optionally on a smaller cheaper model. Two or more run in parallel: one researches a topic while another updates your server. /stop cascades cancellation through every active child in one tick.
A built-in health checkup. Settings, then Doctor, runs a top-to-bottom audit of permissions, background services, database integrity, network, Termux. Per-row auto-fix grants the missing permission, restarts the service, or rebuilds the chat search index. Smart enough to skip permissions you haven't enabled tools for.
Per-assistant toggles, every tool starts off. Per-call approval, Allow once, this chat, always, or deny. HARDLINE floor, wipe-everything, fork bombs, and shell tricks to bypass the rule are blocked unconditionally.
No configuration needed for chat. Tools and the bot are opt-in once the app is open.
Install. Download the latest *-universal-debug.apk from Releases, allow install from unknown sources, open.
Add an LLM provider. Settings → Providers → pick one → paste API key. Pixel 8/9/10 users can flip on the built-in AICore card for fully on-device Gemini Nano.
Turn on what you want. Settings → Assistants → tap your assistant → Local Tools → flip the categories you want enabled.
(Optional) Telegram bot. Get a token from @BotFather, your numeric id from @userinfobot, then say in chat: "Set up the Telegram bot. Token …. My user id …. Set me as default chat. Enable it."
Just talk to it. If you don't turn anything on, the app behaves exactly like vanilla RikkaHub.
# Things to ask, once tools are on: › "Find every PDF on my phone that mentions 'invoice' and read me the first paragraph." › "Every weekday at 9am, summarize my unread WhatsApp into one Telegram message." › "SSH into home-server and ping me if any partition is over 90% full." › "Watch my notifications. If anything from my boss comes in, forward it to Telegram."
# Build the APK yourself $ git clone https://github.com/ExTV/rikkahub-agent.git $ cd rikkahub-agent $ ./gradlew :app:installDebug # Requirements: # - Android SDK 37 # - JDK 17 # - bun (for the in-app web UI bundle) # Run unit tests $ ./gradlew :app:testDebugUnitTest
Free, open source, runs entirely on your device. The hard part is deciding what to delegate first.
If something isn't covered here, open an issue on GitHub.
HARDLINE list (wipe everything, reboot, fork bombs, system file destruction, and shell tricks to bypass the rule) is blocked unconditionally. Even if you tell the AI to do one of these, it won't.
*-arm64-debug.apk for almost every modern phone, *-x86_64-debug.apk for emulators and x86 Chromebooks, and *-universal-debug.apk if you don't know which to pick (it bundles both, larger download). Releases are tagged vX.Y.Z-agent.N where the upstream RikkaHub version is vX.Y.Z and N is the agent revision on top. Google Play Protect may flag the install with a "this app may be harmful" warning since the APKs aren't Play-Store signed; tap "Install anyway", or temporarily turn off "Scan apps with Play Protect" while you install.