AI Agent on Android
RikkaHub Agent is an open-source Android app that transforms a local LLM chat client into a powerful on-device AI agent with over 80 native device tools, workflow automation, Telegram bot, SSH, voice transcription, and more, all running locally with privacy-first design.
forked from rikkahub/rikkahub
Notifications You must be signed in to change notification settings
Fork 6
Star 80
BranchesTags
Open more actions menu
Folders and files
NameName
Last commit message
Last commit date
Latest commit
History
2,956 Commits
2,956 Commits
.agents/skills
.agents/skills
.github
.github
ai
ai
app
app
common
common
docs
docs
document
document
gradle
gradle
highlight
highlight
local-llm
local-llm
locale-tui
locale-tui
material3
material3
search
search
speech
speech
web-ui
web-ui
web
web
workspace
workspace
.editorconfig
.editorconfig
.gitattributes
.gitattributes
.gitignore
.gitignore
.gitmodules
.gitmodules
LICENSE
LICENSE
README.md
README.md
build.gradle.kts
build.gradle.kts
bun.lock
bun.lock
gradle.properties
gradle.properties
gradlew
gradlew
gradlew.bat
gradlew.bat
package.json
package.json
settings.gradle.kts
settings.gradle.kts
skills-lock.json
skills-lock.json
Repository files navigation
Your phone, automated.
A fork of RikkaHub that turns the native Android LLM chat client into a real on-device agent: 80+ device tools, AI-authored workflows, scheduled jobs, an in-app browser the AI drives, SSH, screen automation, file manager, music player, voice transcription, downloadable on-device LLMs, and a remote Telegram bot. All opt-in.
Website · Download · Features · Quick Start · Build
Why
Vanilla LLM chat apps can answer questions. They can't open your apps, send your messages, watch your notifications, run scheduled jobs, or SSH into your server. RikkaHub Agent can. Tell it what to do in plain language, walk away, and it runs in the background, on your phone, on your terms.
"Every weekday at 9am, summarize my unread WhatsApp into one Telegram message."
"If my home server's disk fills up, ping me."
"Watch my notifications. If anything from my boss comes in, forward it to Telegram. Quietly ignore the rest."
"Find the PDF on my phone that mentions 'invoice' and read me the first paragraph."
"Take a screenshot every 30 minutes for the next 4 hours so I can see what I actually did all afternoon."
"Use Termux to build me a webpage listing everything you can do, then open it in my browser."
"When I plug in headphones at home WiFi after 7pm, start my evening playlist."
"Open my router's admin page, sign in with the saved password, and tell me which devices are eating the most bandwidth right now."
"Spin up two researches in parallel: one finds the cheapest one-way flight to Tokyo this month, the other lists hotels in Shibuya under $100. Tell me when both finish."
Each of those is a one-line setup. The phone runs them in the background while you live your life.
✨ Features
Control your phone
Ask the AI to tap, swipe, scroll, type, take screenshots, open apps, turn the torch on, change brightness or volume, post a notification, vibrate, share something, or read your battery, WiFi, signal, location, sensors, contacts, and SMS. It can also send an SMS, set the wallpaper, read and write NFC tags, sign and encrypt data with the Android Keystore, reach external storage and SD cards, and zip or unzip archives. Over 80 tools, all built into Android, no extra apps required. Each one stays off until you flip it on.
Telegram bot
Talk to your assistant from anywhere. Set up a private Telegram bot in a minute, then chat with it like a contact. Send a question, a photo, a PDF, or a voice note. It can run on your behalf while you're at work, while you sleep, or while you're driving. Approval prompts use simple Yes/No buttons in the chat. When the AI needs to ask you something, it pops a tappable multiple-choice question (or takes a free-text reply) right in the chat. A reply too long for one message arrives as a downloadable file instead of getting truncated, and message bursts are paced so Telegram never rate-limits the answer out from under you.
In-app browser
The agent has a real browser built into the app. Watch it open URLs, click through cookie banners, fill in search boxes, scroll, and read the page back to you. Or send it on errands from Telegram. It streams a fresh screenshot to your chat after every step. There's a floating chat pill on the browser screen so you can keep talking to the AI without ever leaving the page. Built-in article extraction and diff-after-action keep the token cost low even on long browse sessions.
Workflows
Tasker-style automation, but the AI writes the rules for you. Just describe the trigger and the action: "when I get home, turn the ringer off"; "every weekday at 8am if battery is over 50%, check my email and ping me if anything's urgent". 19 triggers (WiFi, Bluetooth, headphones, geofence, app launch, notifications received, time, charging, screen on/off, and more) and 14 conditions (battery thresholds, sunrise/sunset, day-of-week, current foreground app, screen state) decide when each one fires. Receivers register only when a workflow actually needs them, so battery drain stays minimal.
Schedule anything
Set tasks to run on a schedule and forget about them. "Every Monday morning at 8", "every two hours", "next Friday at 3pm". The phone keeps everything running through reboots and battery saver. Pick how each task fires: let the AI think at the moment and decide what to do (good for "watch X and ping me if Y"), or pre-bake a fixed action that runs without using AI tokens (good for plain reminders).
Find and manage files
The AI has its own file manager. Find files, read them, save new ones, copy, move, rename, delete. Same things you'd do in a regular file manager, except you describe what you want and it does it. "Find every PDF mentioning 'invoice' on my phone" works in one sentence. System folders that don't belong to you are off-limits, even if you ask.
SSH from your pocket
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, check disk space, tail a log. Pipe input straight into a command or write a remote file in one shot, and launch a long-running server in the background so the call returns its process ID instead of hanging on the connection. Works whether you're on WiFi or cell. Watch your home server from a coffee shop without opening a terminal.
Termux + voice transcription
If you have Termux installed, the AI can run real Linux commands on your phone: installing packages, building software, running scripts, or starting a background service that keeps running after the command returns. A dedicated Settings → Termux page lets you tune the command timeout, the per-turn time budget, and other Termux limits when a long install or build needs more room. On top of that, voice notes you send in Telegram get transcribed automatically. Everything runs on your phone, no cloud transcription, no API key, no internet needed.
Music + media
Ask for music and the AI plays it through Android's normal media controls: lock-screen art, headphone keys, the works. Pause, resume, lower the volume for a meeting and bring it back later, all from chat or Telegram. Even after a force-stop the AI can pick up where you left off, same track, same position, via a snapshot fallback. No "you killed the player so it's gone forever". Your queue survives.
Skills
Drop a Markdown skill file into the app and the AI gains a new playbook it'll follow step-by-step: auto-reply to a contact, summarise a notification stack, or run a JavaScript mini-app whose result opens right in the in-app browser. A bundled featured catalog ships with a QR generator, a Wikipedia query box, a piano you can play, an interactive map, and more. Two skills are enabled out of the box: an always-on agent playbook that keeps the assistant proactive and self-improving across sessions, and a converter that adapts OpenClaw skills to run here. Add new skills from a URL, a markdown file you share into the app, or pick from the bundled catalog.
Sub-agents
For long tasks the main assistant can dispatch a focused sub-agent into a clean side-context, optionally on a smaller and cheaper model. Two or more run in parallel: one researches a topic while another updates your server. Each result comes back as a single summary so the main chat doesn't drown in irrelevant tool output, and /stop cascades cancellation through every active child in one tick.
Doctor
A built-in health checkup for the app. Tap Settings, then Doctor, and it runs a top-to-bottom audit of permissions, background services, database integrity, network, Termux, and diagnostics. Missing something? Tap the auto-fix button next to the row to grant the permission, restart the service, or rebuild the chat search index. The same report runs from Telegram via /doctor for remote troubleshooting. It checks every permission your enabled tools actually rely on, including overlay, system-settings, Bluetooth, nearby-WiFi, and background-location, and stays quiet about the ones for tools you haven't turned on.
MCP servers
Connect the assistant to Model Context Protocol servers and the AI gains whatever tools those servers expose. The AI can add, update, and manage MCP connections itself — every connection change is approval-gated, so a server can't be wired in behind your back.
Notifications + external triggers
Pick which apps the AI is allowed to watch, and it can read, summarize, and forward incoming notifications — the whitelist starts empty, so nothing leaves your phone until you choose. Other apps (Tasker, automation tools, ADB) can also hand the agent a task through the External Automation Intent API, so RikkaHub Agent slots into automation flows you already run.
Safety + privacy
Three layers of protection, in order of strictness:
Per-assistant toggles. Every tool starts off. Flip on only what you want.
Per-call approval. Tools that change something on your phone ask before running. Allow once, for this chat, always, or deny.
HARDLINE floor. A short list of genuinely dangerous commands (wipe everything, reboot, fork bombs, system file destruction, and known shell tricks to bypass the rule) is blocked unconditionally. Even if you accidentally tell the AI to do one of these, it won't.
Plus: passwords and API keys never make it into log files. The Telegram bot ignores everyone except people you put on its allowlist. Cloud backups skip your saved server credentials and bot token. The notification listener starts with an empty whitelist, so nothing leaves your phone until you pick the apps to forward.
🚀 Quick Start
Install: download the latest *-release.apk from Releases. Allow install from unknown sources, then open. (One-time note: if you still have an old debug build of RikkaHub Agent installed, uninstall it first — the release build is signed differently and won't upgrade over it.)
Upgrading from a build before 2.3.1-agent.0? The app id changed to excp.rikkahub so the fork installs alongside upstream RikkaHub instead of clashing with it. Android treats the new id as a separate app, so it won't update over an older agent build automatically. To carry your data across: open the old app, make a backup (Settings → Backup), install this release, then restore that backup. Once you've confirmed everything moved over, uninstall the old build.
Add an LLM provider: Settings, then Providers, pick one, paste your API key. OpenRouter is first-class (auto-detected model capabilities and pricing, provider routing controls), and you can sign in to Codex with your ChatGPT account to use your OpenAI plan through OAuth instead of an API key. For fully on-device inference with no key and no network, open the Local · LiteRT provider and download a local model (Gemma, Qwen) — it runs on any device and uses the GPU automatically where supported. Multi
[truncated for AI cost control]