One AI agent that lives on your Android phone. Bring your own model. Free and open source.
Kotlin
5
4 commits
updated Oct 5, 2026
One AI agent that lives on your Android phone. You bring the model.

Agent is open source and free. It is not a product: there is no account, no server of ours, and nothing to pay. It is aimed at technical people for now.
Use it at your own risk. It is an agent with a browser and access to whatever you connect, and it will make mistakes. Read Risks before you install.
[[links]] between pages and tags on every entry. You can read, edit, pin or delete anything.Anything that spends money or sends something on your behalf waits until you hold an approve button. Phone permissions are off until the agent needs one.
Onboarding walks you through this. In order:
Name and style. Name your agent, pick a colour and a face. The face becomes the app's icon.
Power. Choose one:
| Option | What you need | Notes |
|---|---|---|
| API key | A key from DeepSeek, OpenRouter, Gemini, Anthropic, OpenAI or OpenCode Zen/Go | Runs on the app's own Kotlin agent loop. Fastest to set up. |
| Any OpenAI-compatible endpoint | Base URL, model name, key | Works for self-hosted servers in principle (llama.cpp, Ollama, vLLM). Not tested yet. |
| ChatGPT subscription | A ChatGPT account (free worked in testing) | Runs OpenAI Codex on the phone through the bundled runtime. Sign in in-app. |
| Claude subscription | Claude Pro or Max | Runs Claude Code on the phone through the bundled runtime. See the Risks section first. |
After a key is checked you can pick the model. Switch models any time from the chip at the top of the chat.
Connections (optional). Paste your Composio API key under Connections, then connect the apps you want. The agent can also ask to connect an app when it needs one, and the sign-in opens inside the app's browser.
Voice (optional). Settings > Voice: add a Google/Gemini, OpenAI or ElevenLabs key for spoken voice notes. A Gemini key also turns on live calls.
Notifications (optional). Choose which apps the agent may read notifications from. Nothing is read until you do.
EncryptedSharedPreferences, keyed by the Android Keystore.You need JDK 17, the Android SDK (compileSdk 37), and for the runtime pack curl, ar, patchelf and Node/npm.
git clone https://github.com/Past-da-king/agent
cd [REPO_DIR]
# Downloads Termux's Node build, Codex and ripgrep and packs them as jniLibs + assets
# (git-ignored). Only needed for the subscription paths; API keys work without it.
./tools/build-runtime-pack.sh
./gradlew assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apk
Tests: ./gradlew testDebugUnitTest (unit tests plus Robolectric/Roborazzi screenshots in light and dark).
lib*.so files, because Android only lets an app execute files from its native library folder. Claude Code (Agent SDK 0.2.112) and Codex run on it. The app's own tools are served to them over a local MCP server on 127.0.0.1 with a per-install token.MIT. See LICENSE.
One AI agent that lives on your Android phone. Bring your own model. Free and open source.
Kotlin
5
4 commits
updated Oct 5, 2026
One AI agent that lives on your Android phone. You bring the model.

Agent is open source and free. It is not a product: there is no account, no server of ours, and nothing to pay. It is aimed at technical people for now.
Use it at your own risk. It is an agent with a browser and access to whatever you connect, and it will make mistakes. Read Risks before you install.
[[links]] between pages and tags on every entry. You can read, edit, pin or delete anything.Anything that spends money or sends something on your behalf waits until you hold an approve button. Phone permissions are off until the agent needs one.
Onboarding walks you through this. In order:
Name and style. Name your agent, pick a colour and a face. The face becomes the app's icon.
Power. Choose one:
| Option | What you need | Notes |
|---|---|---|
| API key | A key from DeepSeek, OpenRouter, Gemini, Anthropic, OpenAI or OpenCode Zen/Go | Runs on the app's own Kotlin agent loop. Fastest to set up. |
| Any OpenAI-compatible endpoint | Base URL, model name, key | Works for self-hosted servers in principle (llama.cpp, Ollama, vLLM). Not tested yet. |
| ChatGPT subscription | A ChatGPT account (free worked in testing) | Runs OpenAI Codex on the phone through the bundled runtime. Sign in in-app. |
| Claude subscription | Claude Pro or Max | Runs Claude Code on the phone through the bundled runtime. See the Risks section first. |
After a key is checked you can pick the model. Switch models any time from the chip at the top of the chat.
Connections (optional). Paste your Composio API key under Connections, then connect the apps you want. The agent can also ask to connect an app when it needs one, and the sign-in opens inside the app's browser.
Voice (optional). Settings > Voice: add a Google/Gemini, OpenAI or ElevenLabs key for spoken voice notes. A Gemini key also turns on live calls.
Notifications (optional). Choose which apps the agent may read notifications from. Nothing is read until you do.
EncryptedSharedPreferences, keyed by the Android Keystore.You need JDK 17, the Android SDK (compileSdk 37), and for the runtime pack curl, ar, patchelf and Node/npm.
git clone https://github.com/Past-da-king/agent
cd [REPO_DIR]
# Downloads Termux's Node build, Codex and ripgrep and packs them as jniLibs + assets
# (git-ignored). Only needed for the subscription paths; API keys work without it.
./tools/build-runtime-pack.sh
./gradlew assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apk
Tests: ./gradlew testDebugUnitTest (unit tests plus Robolectric/Roborazzi screenshots in light and dark).
lib*.so files, because Android only lets an app execute files from its native library folder. Claude Code (Agent SDK 0.2.112) and Codex run on it. The app's own tools are served to them over a local MCP server on 127.0.0.1 with a per-install token.MIT. See LICENSE.