| Demo | Quick Start | Release | Issues | English | 简体中文 |
Unlike traditional mobile AI chat apps, OpenOmniBot runs directly on your device and can operate your Android phone like a human, including apps, gestures, and system settings.
OpenOmniBot is an on-device AI agent built with native Android Kotlin and Flutter. Instead of stopping at chat, it focuses on the full loop of understand -> decide -> execute -> reflect.
Open the settings page from the left sidebar:
Then open the scenario model settings:
Note: Memory embedding requires an embedding model. For the best overall experience, the other scenarios should use multimodal or vision-capable models whenever possible.
The app usually initializes the Alpine environment automatically on startup, and you can also manage that environment from the same settings area.
You can ask OmniBot to install a skill by simply sending it the repository link. Recommended collection: https://github.com/OpenMinis/MinisSkills
Enable or disable skills from the skill repository:
Before starting a task, open the chat page and grant all required permissions from the top-right corner.
Supports both MNN and llama backends.
Scheduled tasks can execute work such as VLM tasks and subagent flows. Alarms are reminder-only. A subagent can be assigned a complete task and behaves like a full agent.
3.9.2+11+git clone https://github.com/omnimind-ai/OpenOmniBot.git
cd OpenOmniBot
# Required only when building the full omniinfer edition.
git submodule update --init third_party/omniinfer
git -C third_party/omniinfer submodule update --init framework/mnn
git -C third_party/omniinfer submodule update --init framework/llama.cpp
cd ui
flutter pub get
If Flutter reports Could not read script '.../ui/.android/include_flutter.groovy', run:
flutter clean
flutter pub get
cd ..
# Slim standard edition, without local inference
./gradlew :app:installDevelopStandardDebug -Ptarget=lib/main_standard.dart
# Full omniinfer edition, with local inference
./gradlew :app:installDevelopOmniinferDebug -Ptarget=lib/main_omniinfer.dart
OpenOmniBot/
├── app/ # Android host app: entry point, agent orchestration, system abilities, MCP, services
├── ui/ # Flutter UI: chat, settings, tasks, memory, and web chat bundle
├── baselib/ # Shared core libraries: database, storage, networking, model config, OCR, permissions
├── assists/ # Automation engine: task scheduling, state machine, visual detection, execution control
├── accessibility/ # Accessibility and screen perception: accessibility service, screenshots, projection
├── omniintelligence/ # AI abstractions: model protocol, task status, request/response models
├── uikit/ # Native overlay UI: floating ball, overlay panels, half-screen surfaces
├── third_party/omniinfer/ # Local inference runtime and Android integration modules
└── ReTerminal/core/ # Embedded terminal experience modules
Thanks to the community (including LINUX)developers supporting OpenOmniBot.
Special thanks to these open-source projects:
![]() |