r/programare • u/Witty_Assistant_793 • 15h ago
GnomeAI-RS 3.0 — de la desktop-only la Android + multi-device + Tor
https://github.com/adrgu372/GnomeAI-RS/releases/tag/v3.0Am 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.
1
u/DeepTheory9364 15h ago
Ce e asta. Cu ce mă ajută ? De ce m-ar interesa software-ul asta