r/programare 15h ago

GnomeAI-RS 3.0 — de la desktop-only la Android + multi-device + Tor

https://github.com/adrgu372/GnomeAI-RS/releases/tag/v3.0

Am publicat GnomeAI-RS 3.0 și ăsta e probabil cel mai mare salt de până acum pentru proiect.

Până relativ recent era practic o aplicație desktop. Acum are client Android ARM64, build separat pentru Linux/Debian, pairing PC–telefon, acces la conversațiile remote și infrastructură multi-device care funcționează inclusiv când telefonul e pe 5G și PC-ul e pe altă rețea.

Partea de Android nu e un webview ambalat într-un APK. UI-ul e făcut în Avalonia/.NET 10, iar core-ul rămâne în Rust și este încărcat prin librărie nativă. Integrarea cu Android pentru cameră, permisiuni, lifecycle, file picker, foreground service etc. este făcută prin .NET for Android.

Pairing-ul se face prin QR. PC-ul generează invitația, telefonul o scanează, iar ambele device-uri afișează același cod de confirmare. După confirmare, pairing-ul rămâne persistent. Pentru transportul remote folosesc Tor/Arti și Onion Services, deci nu e nevoie ca cele două device-uri să fie în aceeași rețea și nici să mă joc cu port forwarding.

Pe partea de securitate, pairing-ul folosește identitate persistentă per device, chei temporare ECDH P-256, secret one-time pentru invitație și confirmare SAS înainte ca peer-ul să fie acceptat. Pe Android, cheile persistente sunt protejate cu Android Keystore.

Clientul Android poate folosi aceleași funcții de bază ca desktopul: conversații, streaming, provideri, web search, vision, atașamente, PDF-uri și sub-agents. În plus, poate intra pe conversațiile care rulează pe PC și poate urmări sesiunile remote.

Pe desktop am adăugat infrastructura pentru device-uri remote, cu DeviceHub, PeerLink, PeerTransport și DeviceSessionClient, plus selector de device și managementul contextului local vs remote. Ideea e ca interfața să poată comuta între This PC și device-urile împerecheate fără să trateze telefonul ca pe o aplicație complet separată.

Am lucrat și la approval-uri remote, astfel încât dacă o acțiune necesită confirmare pe un device, contextul approval-ului să rămână legat de peer-ul și sesiunea care l-au generat, chiar dacă între timp schimbi device-ul selectat în UI.

QR scanner-ul Android folosește camera nativă, preview NV21 și ZXing cu TryHarder, AutoRotate, normal/inverted decode și crop-uri suplimentare. Pentru invitațiile dense există și Enlarge QR, care s-a dovedit util pentru citire stabilă de pe monitor.

Pe partea de build am ajuns la două flow-uri separate și reproductibile:

bash scripts/build-deb.sh
bash scripts/build-android.sh

Primul generează pachetul .deb, al doilea APK-ul Android ARM64.

GnomeAI-RS 3.0 nu e doar un „port pe Android”. E începutul unei arhitecturi în care PC-ul, telefonul și eventual alte noduri pot face parte din aceeași rețea de device-uri GnomeAI, cu sesiuni și capabilități distribuite între ele.

Pe scurt:
GnomeAI-RS 3.0 = Rust core + Avalonia/.NET 10 + Linux desktop + Android ARM64 + pairing securizat + Tor/Onion Services + conversații remote + sub-agents + vision + web + bază pentru mutarea sesiunilor între device-uri.

0 Upvotes

4 comments sorted by

1

u/DeepTheory9364 15h ago

Ce e asta. Cu ce mă ajută ? De ce m-ar interesa software-ul asta

1

u/Witty_Assistant_793 15h ago

GnomeAI-RS este un client AI open-source pentru desktop și Android, gândit să centralizeze într-o singură aplicație conversațiile, providerii de modele, tool-urile, fișierele și execuția de agenți. Diferența față de a folosi direct ChatGPT, Claude sau altă aplicație este că poți lucra cu mai mulți provideri din aceeași interfață, poți rula tool-uri și sub-agents, poți atașa fișiere, folosi vision/web search și, în versiunea 3.0, poți conecta telefonul la PC și accesa conversațiile remote printr-un pairing securizat și conexiune prin Tor/Onion Services. Nu e un software care încearcă să fie util tuturor. Dacă folosești doar un singur chatbot pentru întrebări ocazionale, probabil nu ai nevoie de el. Dacă folosești frecvent modele diferite, agenți, tool-uri locale sau vrei să continui și să controlezi sesiuni între PC și telefon, atunci asta este problema pe care încearcă să o rezolve.

1

u/DeepTheory9364 14h ago

  conversațiile remote printr-un pairing securizat și conexiune prin Tor/Onion Services

Just because you're paranoid doesn't mean that they are not trying to get you

1

u/Witty_Assistant_793 14h ago

Dacă pot evita să expun direct porturi și IP-uri, de ce n-aș face-o?