by Natfii
Run AI agents 24/7 on your Android phone. Native Rust core, 25+ providers (OpenAI, Claude, Gemini, Groq, DeepSeek, Ollama), encrypted key storage, plugin browser, Material You UI. Self-hosted alternative to Mac Mini setups. MIT licensed.
# Add to your Claude Code skills
git clone https://github.com/Natfii/ZeroClaw-AndroidYour old phone in a drawer is a better AI server than you think.
ZeroClaw-Android turns your Android phone into an always-on AI agent host. Not a Termux hack. Not a WebView. Native Rust compiled to ARM. Connect to 32+ providers -- OpenAI, Claude, Gemini, Groq, DeepSeek, Ollama, LM Studio, vLLM, Novita, Telnyx, and more -- and run autonomous agents around the clock with encrypted API key storage (AES-256-GCM) and a battery-optimized foreground service. No server required. No cloud bills. Just your phone.
Got an old phone? Give it a new job.
The onboarding wizard walks you through all of this on first launch.
Disclaimer: This app is a personal project not associated with the ZeroClaw Labs team. It might break.
START_STICKY foreground service with OEM battery killer detection, auto-restart on boot, network transition handlingcatch_unwind at every FFI boundary. No JNI crashes.
The Terminal replaces the old Console with a command-line interface for interacting with the ZeroClaw daemon. Type natural language to chat with your agent, or use slash commands to access every gateway operation directly.
You type: /cost daily 2026 2 27
Kotlin: translates to Rhai expression "cost_daily(2026, 2, 27)"
Rust (FFI): eval_repl() evaluates the expression in the Rhai engine
Rhai engine: calls the registered cost_daily() function
Result: JSON string returned to Kotlin for rich terminal rendering
Plain text (anything not starting with /) is routed as a chat message through the agent, same as before.
| Command | Description |
|---|---|
| /status | Show daemon status |
| /version | Show ZeroClaw version |
| /health [component] | Health summary or component detail |
| /doctor | Run diagnostic checks |
| /cost | Total cost summary |
| /cost daily <y> <m> <d> | Cost for a specific day |
| /cost monthly <y> <m> | Cost for a specific month |
| /budget <amount> | Check spend against budget |
| /events [limit] | Show recent events |
| /cron | List all cron jobs |
| /cron add <expr> <cmd> | Add a recurring job |
| /cron oneshot <delay> <cmd> | Add a one-shot delayed job |
| /cron get/pause/resume/remove <id> | Manage individual jobs |
| /skills | List installed skills |
| /skills install/remove/tools <arg> | Manage skills |
| /tools | List available tools |
| /memories [category] | List memories |
| /memory recall <query> | Search memories |
| /memory forget <key> | Delete a memory |
| /memory count | Total memory count |
| /help | Show available commands |
| /clear | Clear terminal history |
Attach images through the input bar to send vision messages. Staged images appear as text labels (terminal aesthetic), and the attached files are passed to the vision API alongside your message.
Power users can type Rhai expressions directly for scripting:
let x = cost_daily(2026, 2, 27); x.total
The Rhai engine has access to all 33 gateway functions, so any combination of calls works.
surfaceContainerLowest) even in light theme⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏) while awaiting responses, with static fallback in battery saver modesp, no fixed-height containers)You already carry a computer with a multi-core ARM chip, 8GB RAM, always-on connectivity, and a built-in battery backup. Why buy another one?
Phones are designed to stay on. They handle push notifications, background services, and power management better than any Raspberry Pi. Add a cellular fallback and WiFi, and you have an always-connected edge device in your pocket.
Best for:
Not ideal for:
| | Old Android Phone | Mac Mini M4 | | ----------------- | ------------------------------- | ------------------------------- | | Cost | $0 (you already own it) | $499+ | | Power draw | 2-5W idle | 10-25W idle | | Battery backup | Built in | Requires UPS ($50+) | | Cellular fallback | Built in | Requires hotspot or dongle | | Always-on design | Yes (it's a phone) | Yes (but no battery) | | Local inference | Limited (API routing) | Strong (16-32GB unified memory) | | Setup time | 5 minutes | 30+ minutes | | Also a phone | Yes | No |
API keys are stored in EncryptedSharedPreferences backed by Android Keystore with AES-256-GCM encryption. On devices with a hardware security module (StrongBox), the master key is hardware-backed and never leaves the secure enclave.
Your API keys never leave your device unencrypted. Not to a cloud. Not to a marketplace. Not to us.
OpenAI, Anthropic (Claude), Google Gemini, Ollama, LM Studio, vLLM, LocalAI, OpenRouter, Groq, DeepSeek, Mistral, xAI (Grok), Together AI, Fireworks AI, Perplexity, Cohere, GitHub Copilot, Amazon Bedrock, Cloudflare AI, Novita AI, Telnyx, and more. Any OpenAI-compatible or Anthropic-compatible endpoint works via the custom provider options.
| Provider | Auth Type | Category | | --------------------------- | ------------------ | --------- | | OpenAI | API Key | Primary | | Anthropic | API Key | Primary | | Google Gemini | API Key | Primary | | OpenRouter | API Key | Pri
No comments yet. Be the first to share your thoughts!