>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
Java

Uruchamianie komunikatora z agentami AI na telefonie: przykład octo-android

OCTO

W większości firmowych czatów boty mogą jedynie wysyłać alerty z systemów monitoringu lub prośby o zatwierdzenie urlopu. Programiści z Mininglamp-OSS postanowili pójść dalej i stworzyli platformę OCTO. Koncepcja jest prosta: cyfrowe bliźniaki zajmują się rutynowymi zadaniami i wstępnym rozumowaniem, podczas gdy ludzie oceniają wyniki i podejmują decyzje.

Repozytorium octo-android to oficjalny klient mobilny tej platformy. W przeciwieństwie do większości nowoczesnych komunikatorów firmowych, autorzy nie opakowali aplikacji webowej w WebView. Otrzymujemy natywne oprogramowanie zbudowane w Kotlinie i Javie.

Co sprawia, że architektura i implementacja są interesujące

Klient mobilny bazuje na projekcie TangSengDaoDaoAndroid i silniku sieciowym WuKongIM. Aplikacja komunikuje się z backendem przez REST API i utrzymuje trwałe połączenie WebSocket.

Oto, z czego składa się strona klienta:

  • Moduł wukong-sdk odpowiada za transport wiadomości w czasie rzeczywistym.
  • Magazynowanie lokalne jest zorganizowane przy użyciu Room DB. Historia czatów i niezapisane szkice są zapisywane bezpośrednio na urządzeniu.
  • Tokeny autoryzacji są przechowywane w bezpiecznych EncryptedSharedPreferences.
  • Powiadomienia w tle docierają przez standardowy serwis i Firebase Cloud Messaging.

Interfejs jest zbudowany zgodnie z wytycznymi Material 3. Niektóre ekrany są napisane w Jetpack Compose, inne używają klasycznych układów XML. Oddzielny pakiet agent zawiera komponenty do pracy z AI: śledzenie statusu generowania, podgląd wywołań narzędzi i wizualizację odpowiedzi w trybie strumieniowym.

Jak wygląda budowanie i dostosowywanie

Deweloperzy deklarują zasadę local-first. Wszystkie dane należą do użytkownika, a backend octo-server w Go można łatwo wdrożyć na własnym serwerze.

Jeśli chcesz zbudować aplikację z kodu źródłowego na potrzeby swojej firmy, musisz przejść obowiązkową listę kontrolną. Projekt jest wydany bez osadzonych sekretów ani kluczy stron trzecich:

  1. Zmień domyślny applicationId z com.example.octo na domenę swojej organizacji.
  2. Utwórz projekt w Firebase i dodaj własny google-services.json do folderu modułu.
  3. Wygeneruj magazyn kluczy (keystore) do podpisywania wersji release i skonfiguruj go w Gradle.
  4. Określ adres instancji octo-server w pliku config.xml.

Bez ukończenia pierwszych trzech kroków Gradle odmówi zbudowania pliku końcowego. Ale przynajmniej na pewno nie ma w kodzie żadnych backdoorów ani certyfikatów testowych stron trzecich.

Aby szybko zapoznać się z projektem, nie musisz budować go ręcznie. Autorzy publikują gotowe pliki APK w sekcji Releases. Po prostu zainstaluj aplikację na smartfonie i wprowadź adres serwera podczas logowania.

Ekosystem i ujednolicony protokół

Samo repozytorium octo-android otwiera tylko część całego systemu. Logika serwera znajduje się w octo-server, menedżer zadań jest wydzielony do octo-matter, a automatyczne podsumowywanie dialogów obsługuje serwis octo-smart-summary.

Wszystkie klienty — aplikacje mobilne i wersja desktopowa w React — działają na tym samym protokole i używają wspólnych kluczy lokalizacji. Upraszcza to utrzymanie: logika agenta AI czy wyświetlanie statusu pisania nie wymagają osobnych przeróbek dla każdej platformy.

Kto znajdzie ten projekt przydatny

Repozytorium będzie przydatne dla zespołów poszukujących otwartego komunikatora z możliwością samodzielnego hostowania i natywną obsługą agentów LLM. Kod źródłowy octo-android będzie również pomocny dla programistów Android. Tutaj można przejrzeć implementację warstwy transportowej opartej na WuKongIM, organizację cache'owania offline w Room oraz wygodny interfejs do strumieniowania odpowiedzi sieci neuronowych.

Powiązane projekty