>_ DevTrendsde

Sprache

Start

Sprachen

Bereiche

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicherheit
Kotlin

Ein eigenständiger KI-Agent direkt auf Ihrem Telefon — OpenDroid unter der Lupe

Traditionelle mobile Assistenten wie Google Assistant oder Siri haben schon lange eine Grenze erreicht. Sie sind gut darin, Timer zu setzen und Apps zu öffnen, aber versuchen Sie einmal, Ihr Telefon zu bitten, eine Kette zusammenhängender Aktionen auszuführen: Wettervorhersage prüfen, eine Nachricht an Ihre Frau auf WhatsApp senden und einen Wecker stellen. Normalerweise erhalten Sie entweder einen Vorschlag, das Web zu durchsuchen, oder einen Erkennungsfehler.

Der Entwickler Yashab Alam hat das Problem anders angepackt und das OpenDroid-Projekt auf GitHub veröffentlicht. Es handelt sich um einen vollständig quelloffenen autonomen KI-Agenten für Android, der Ihr Smartphone in eine LLM-Ausführungsumgebung verwandelt.

OpenDroid Logo

Warum noch ein Assistent gebraucht wird

Die Hauptidee hinter OpenDroid ist es, dem neuronalen Netz direkte Kontrolle über das Gerät durch standardmäßige Android-Dienste zu geben. Anstatt einfacher Vorlagen nutzt das System einen vollständigen Planungs- und Ausführungszyklus.

Wenn Sie einen komplexen Befehl geben, zerlegt der Agent ihn in Teilaufgaben, überprüft die Ergebnisse jedes Schritts und baut den Plan neu auf, wenn etwas schiefgeht. Der Quellcode des Projekts ist vollständig offen, und Sie wählen, welches Modell Sie verwenden möchten – cloudbasiert oder vollständig lokal.

Das Projekt hat bereits über 600 Sterne auf GitHub gesammelt und zieht Aufmerksamkeit durch seine solide Kotlin-basierte Architektur auf sich.

So funktioniert der Agent unter der Haube

OpenDroids Architektur folgt den Prinzipien der Clean Architecture mit Dependency Injection durch Dagger-Hilt. Text und Logik sind in klare Module getrennt, und die Oberfläche ist in Jetpack Compose geschrieben.

com.opendroid.ai

├── accessibility/      Автоматизация сторонних приложений
├── actions/            60+ исполнителей действий в 10 модулях
├── core/
   ├── agent/          AgentLoop, PlanManager, IntentClassifier
   ├── llm/            Провайдеры LLM, цепочки фоллбеков, промпты
   ├── memory/         4-уровневая система памяти
   └── voice/          Детекция активационного слова, STT, TTS
├── data/               База данных Room и хранилище DataStore
└── ui/                 16 экранов на Jetpack Compose

Im Inneren arbeiten mehrere spezialisierte Engines, von denen jede für ihren eigenen Arbeitsbereich verantwortlich ist.

Aktionsplaner und Fehlerbehandlung

Das PlanManager Modul verarbeitet eingehende Befehle. Es akzeptiert Text oder Sprache, sendet sie an die KI und erhält einen sequentiellen Plan als Ausgabe.

Wenn der Befehl mehrere Intents enthielt, zum Beispiel „WhatsApp öffnen und eine Nachricht schreiben", zerlegt die Engine ihn korrekt in Schritte unter Berücksichtigung von Abhängigkeiten. Wenn die Internetverbindung während der Ausführung abbricht oder eine App abstürzt, fängt AgentLoop den Fehler ab und versucht, eine alternative Aktion durchzuführen.

Bildschirmverständnis über die Accessibility API

Eine der interessantesten Komponenten ist die Vision Engine. Für die Analyse dessen, was auf dem Bildschirm passiert, nimmt OpenDroid Screenshots über Barrierefreiheitsdienste (Accessibility API) auf und sendet sie an ein multimodales neuronales Netzwerk.

Auf älteren Geräten oder bei der Arbeit mit leichtgewichtigen lokalen Modellen wechselt der Assistent zum Parsen des Accessibility-Baums, wobei die Textstruktur von UI-Elementen ohne Bildverarbeitung extrahiert wird.

OpenDroid Interface Planner Memory System Alarm Management

Vier Speicherebenen

Menschlicher Kontext passt selten in einen einzigen Dialog. OpenDroid nutzt ein vierstufiges Informationsspeichersystem:

  • Arbeitsspeicher verarbeitet den aktuellen Kontext der ausgeführten Aufgabe.
  • Episodischer Speicher speichert die Geschichte vergangener Ausführungen und ihrer Ergebnisse.
  • Semantischer Speicher merkt sich Fakten über den Benutzer und seine Präferenzen.
  • Prozeduraler Speicher enthält Benutzermakros und fertige Szenarien.

Alle lokalen Informationen werden in eine Room-Datenbank mit sieben Tabellen geschrieben, und Geheimnisse wie API-Schlüssel werden im Android Keystore mit AES-GCM-Verschlüsselung gespeichert.

Unterstützung für 12 KI-Anbieter

OpenDroid bindet Entwickler nicht an einen bestimmten Dienst. Die App unterstützt 12 neuronale Netzwerkanbieter mit konfigurierbaren Fallback-Ketten. Wenn das primäre Modell nicht antwortet, geht die Anfrage automatisch zum nächsten Anbieter.

Die Liste umfasst Google Gemini, Anthropic Claude, OpenAI, Groq, DeepSeek, Mistral, OpenRouter, Cohere, Together AI und GitHub Copilot.

Für Datenschutz-Enthusiasten gibt es zwei Optionen für den lokalen Betrieb:

  1. Verbindung zu einem lokalen Ollama-Server in Ihrem Heimnetzwerk.
  2. Integrierter LiteRT-LM-Manager, der Modelle direkt auf Ihrem Smartphone im Offline-Modus herunterladen und ausführen kann.

Was der Assistent in der Praxis leisten kann

Das Repository enthält über 60 einsatzbereite Aktionen. Sie decken fast alle alltäglichen Smartphone-Nutzungsszenarien ab:

  • Systemeinstellungen: Wi-Fi, Bluetooth, Taschenlampe, Bitte-nicht-stören-Modus umschalten, Helligkeit und Lautstärke anpassen.
  • Kommunikation: Anrufe, SMS senden, WhatsApp-Nachrichten, E-Mail-Entwürfe erstellen.
  • Navigation und Transport: Routenplanung in Google Maps, Taxi rufen.
  • Finanzen: schnelle Überweisungen, Rechnungen teilen.
  • Medien: Musikwiedergabe steuern, auf YouTube suchen, Fotos mit der Kamera aufnehmen.

So erstellen und starten Sie das Projekt

Für den Build des Projekts werden Android SDK 35 (Android 15) und JDK 21 benötigt. Die JDK-Version ist strikt in der Gradle-Konfiguration festgelegt.

Der Build ist Standard:

git clone https://github.com/yashab-cyber/opendroid.git
cd opendroid

./gradlew assembleDebug

Die fertige APK-Datei befindet sich im app/build/outputs/apk/debug/app-debug.apk Verzeichnis.

Beim ersten Start fordert die App Sie auf, mehrere Systemberechtigungen zu erteilen. Dazu gehören die Berechtigung für den Barrierefreiheitsdienst, den Benachrichtigungszugriff und die Audioaufzeichnung für das Tracking des Aktivierungsworts.

Anschließend müssen Sie nur noch in die Einstellungen gehen und den API-Schlüssel für Ihren gewählten Anbieter eingeben oder die Ollama-Serveradresse angeben.

Lohnt es sich, den OpenDroid-Code zu studieren

Das Projekt ist für Android-Entwickler nützlich, die verstehen möchten, wie man autonome KI-Agenten erstellt. Hier können Sie eine Live-Implementierung komplexer Planungszyklen und UI-Parsing direkt auf einem Mobilgerät sehen.

Zu den Nachteilen gehört das hohe Maß an Berechtigungen, die für den Betrieb erforderlich sind, was für diese Art von Utilities ziemlich natürlich ist. Außerdem erfordern vollständige Bildschirm-Vision-Funktionen Flaggschiff-Modelle oder leistungsstarke Smartphone-Hardware.

OpenDroid zeigt, wohin die mobile Automatisierung steuert, und bietet eine einsatzbereite Architektur für Ihre eigenen Experimente.

Ähnliche Projekte