Einen Messenger mit KI-Agenten auf dem Smartphone betreiben: octo-android Beispiel
In den meisten Unternehmens-Chats können Bots nur Warnungen von Überwachungssystemen senden oder Urlaubsanträge zur Genehmigung anfordern. Die Entwickler von Mininglamp-OSS beschlossen, einen Schritt weiter zu gehen, und erstellten die OCTO-Plattform. Das Konzept ist einfach: Digitale Zwillinge erledigen Routineaufgaben und führen erste Überlegungen durch, während Menschen die Ergebnisse bewerten und Entscheidungen treffen.
Repository octo-android ist der offizielle mobile Client für diese Plattform. Im Gegensatz zu den meisten modernen Unternehmensmessengern haben die Autoren keine Web-App in WebView eingewickelt. Es wird native Software angeboten, die mit Kotlin und Java erstellt wurde.
Was die Architektur und Implementierung interessant macht
Der mobile Client basiert auf dem TangSengDaoDaoAndroid-Projekt und der WuKongIM-Netzwerk-Engine. Die App kommuniziert mit dem Backend über eine REST-API und unterhält eine persistente WebSocket-Verbindung.
Hier ist, woraus die Client-Seite aufgebaut ist:
- Modul
wukong-sdkübernimmt den Echtzeit-Nachrichtentransport. - Der lokale Speicher ist mit Room DB organisiert. Der Chatverlauf und zwischengespeicherte Entwürfe werden direkt auf dem Gerät gespeichert.
- Autorisierungs-Token werden in sicheren EncryptedSharedPreferences gespeichert.
- Hintergrundbenachrichtigungen werden über den Standarddienst und Firebase Cloud Messaging zugestellt.
Die Benutzeroberfläche folgt den Material-3-Richtlinien. Einige Bildschirme sind in Jetpack Compose geschrieben, andere verwenden klassische XML-Layouts. Ein separates Paket agent enthält Komponenten für die Arbeit mit KI: Generierungsstatus-Verfolgung, Tool-Aufruf-Vorschau und Visualisierung von Antworten im Streaming-Modus.
Wie ist es, das Projekt zu bauen und anzupassen
Die Entwickler verfolgen das Local-First-Prinzip. Alle Daten gehören dem Benutzer, und das Backend octo-server in Go kann einfach auf einem eigenen Server bereitgestellt werden.
Wenn Sie die App aus dem Quellcode für die Bedürfnisse Ihres Unternehmens erstellen möchten, müssen Sie eine obligatorische Checkliste durchlaufen. Das Projekt wird ohne eingebettete Geheimnisse oder Drittanbieter-Schlüssel veröffentlicht:
- Ändern Sie die Standard-
applicationIdvoncom.example.octozur Domain Ihrer Organisation. - Erstellen Sie ein Projekt in Firebase und fügen Sie Ihren eigenen
google-services.jsonzum Modulordner hinzu. - Generieren Sie einen Keystore für die Signierung des Release-Builds und konfigurieren Sie ihn in Gradle.
- Geben Sie Ihre Instanz-
octo-server-Adresse in derconfig.xml-Datei an.
Ohne die ersten drei Schritte abzuschließen, verweigert Gradle den Bau der endgültigen Datei. Aber zumindest gibt es definitiv keine Hintertüren von Drittanbietern oder Testzertifikate im Code.
git clone https://github.com/Mininglamp-OSS/octo-android.git
cd octo-android
# Сборка отладочной версии через CLI
./gradlew :app:assembleDebug
# Установка на подключенное устройство
./gradlew :app:installDebug
Für eine schnelle Einführung müssen Sie das Projekt nicht manuell erstellen. Die Autoren veröffentlichen fertige APKs im Releases-Bereich. Installieren Sie einfach die App auf Ihrem Smartphone und geben Sie die Serveradresse während der Anmeldung ein.
Ökosystem und einheitliches Protokoll
Das Repository octo-android selbst öffnet nur einen Teil des Gesamtsystems. Die Serverlogik befindet sich in octo-server, der Aufgabenmanager ist in octo-matter ausgelagert, und die automatische Dialogzusammenfassung wird vom Dienst octo-smart-summary erledigt.
Alle Clients – mobile Apps und die Desktop-Version in React – arbeiten mit demselben Protokoll und verwenden gemeinsame Lokalisierungsschlüssel. Dies vereinfacht die Wartung: Die KI-Agentenlogik oder die Anzeige des Tippstatus erfordern keine separaten Anpassungen für jede Plattform.
Für wen ist dieses Projekt nützlich
Das Repository ist für Teams nützlich, die einen offenen Messenger mit Self-Hosting-Möglichkeit und nativer LLM-Agenten-Unterstützung suchen. Der Quellcode octo-android ist auch für Android-Entwickler hilfreich. Hier können Sie sich die Implementierung der Transport-Schicht basierend auf WuKongIM, die Organisation des Offline-Cachings in Room und eine komfortable Oberfläche für Streaming neuronaler Netzwerkantworten ansehen.
Ähnliche Projekte