>_ DevTrendsde

Sprache

Start

Sprachen

Bereiche

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

Einen Messenger mit KI-Agenten auf dem Smartphone betreiben: octo-android Beispiel

OCTO

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:

  1. Ändern Sie die Standard- applicationId von com.example.octo zur Domain Ihrer Organisation.
  2. Erstellen Sie ein Projekt in Firebase und fügen Sie Ihren eigenen google-services.json zum Modulordner hinzu.
  3. Generieren Sie einen Keystore für die Signierung des Release-Builds und konfigurieren Sie ihn in Gradle.
  4. Geben Sie Ihre Instanz- octo-server-Adresse in der config.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