An Android IDE that combines a code editor, multi-shell terminal, and AI chat with agentic tool use — all in one app. LLM traffic routes through litellm on-device via embedded CPython 3.11, giving native access to 20+ providers with no cloud middleman.
- Sora Editor with TextMate syntax highlighting (Python, Kotlin, Java, JS, JSON, XML, Shell, Markdown)
- File browser, file tree sidebar, line numbers, word wrap
- Multi-language code formatter with options dialog
- "Code Assist" button sends editor content to AI chat
- sh — Android shell via
/system/bin/sh - proot Ubuntu — Full Debian userland via proot (apt, node, python, git)
- rish — Elevated Shizuku shell for system-level access
- SSH — Remote connections via JSch
- Tab management for multiple sessions
- Streaming responses from any of 20+ LLM providers
- 11-agent team with specialized roles (architect, dev, QA, security, etc.)
- Agentic tool loop (up to 6 rounds):
read_file,write_file,list_files,search_code,run_shell,fetch_url - Multi-shell agent tools — AI can run commands in sh, proot Ubuntu, or rish
- Native + XML fallback tool calling for models without function calling support
- Reasoning model support (o1/o3/o4) with separate reasoning display
- Multimodal: images, camera, screenshots (PixelCopy), audio, speech-to-text
- On-device OCR via ML Kit
- Conversation management, export, auto-titling
- Gems library for saving snippets, images, OCR results
- Problem Library for local interaction search
- 4 built-in servers with native Kotlin transport (no Node.js required):
- Filesystem — read, write, list, search, move files, get metadata
- Git — status, log, diff
- Fetch — HTTP GET with configurable length
- SQLite — read-only SQL queries against any
.dbfile
- User-added servers via STDIO, SSE, WebSocket, or HTTP transports
- Server management UI
20+ built-in providers with dynamic discovery of 90+ more via litellm's cost DB:
OpenAI · Anthropic · Google AI Studio · Google Vertex AI · AWS Bedrock (SSO + IAM) · Azure OpenAI · Groq · Mistral · Together AI · DeepSeek · OpenRouter · NVIDIA NIM · GitHub Models · Cloudflare AI · xAI · Moonshot · Alibaba Qwen · Snowflake Cortex · Ollama · LM Studio · llama.cpp · Custom OpenAI-compatible
- Three-tier model system: custom models + live-fetched + static defaults
- Per-provider profiles with temperature, top-p, top-k, max tokens, reasoning effort
- Bedrock SSO with full OIDC device auth flow
- Skills — 11 built-in modular LLM capability bundles (code gen, analysis, testing, docs, security, etc.)
- Hooks — 11 built-in event-driven automations (auto code review, error explainer, commit helper, etc.)
- Plugins — Typed extension framework with 14 extension points
MainActivity (3-tab ViewPager2)
├── EditorFragment → Sora Editor + TextMate
├── TerminalFragment → sh / proot / rish / SSH
└── AIChatFragment → LLMOrchestrator
├── Python (litellm via Chaquopy)
├── AgentManager (11 agents)
├── MCPManager (native + remote servers)
└── ChatRepository (Room DB)
| Layer | Technology |
|---|---|
| Language | Kotlin 1.9.20 |
| Embedded scripting | Python 3.11 via Chaquopy 15.0.1 |
| LLM gateway | litellm 1.82.4 |
| Code editor | Sora Editor 0.22.0 + TextMate |
| Terminal | Termux terminal emulator v0.118.0 |
| Database | AndroidX Room 2.6.1 |
| OCR | ML Kit Text Recognition 16.0.0 |
| Markdown | Markwon 4.6.2 |
| Elevated perms | Shizuku 13.1.5 |
| SSH | JSch 0.1.55 |
| Min SDK | 26 (Android 8.0) |
| Target SDK | 34 (Android 14) |
Requires JDK 17, Android SDK 34, and the Chaquopy Gradle plugin.
# Docker build (recommended)
docker exec xnet-dev bash -c 'cd /workspace/aiope && ./gradlew :app:assembleDebug --parallel --build-cache'
# Or use build.sh
./build.sh # full debug build
./build.sh --quick # fast iteration (no PNG crunch)
./build.sh --clean # clean + full build
./build.sh --install # build + adb install
# Install
adb install -r app/build/outputs/apk/debug/app-debug.apkA post-build pipeline patches litellm .imy archives (patch_litellm_imy.py) and injects pre-compiled Rust .so extensions for pydantic_core, jiter, rpds, and fastuuid (inject_native_imy.py).
Add API keys per provider in Settings → Provider Profiles. Bedrock uses SSO device auth (no keys needed). Local providers (Ollama, LM Studio, llama.cpp) need only a base URL.
AGPL-3.0 — See LICENSE file