Gyred
Una sala di controllo per agenti AI come finestra desktop nativa, renderizzata senza browser (Rust + Dioxus). Un unico posto per tutte le sessioni: cosa attende, cosa lavora, cosa è pianificato e l'intera conversazione. Lo stesso codice si compila anche per altre piattaforme.
Una finestra desktop nativa per condurre molte sessioni di agenti IA contemporaneamente, costruita in Rust + Dioxus e renderizzata senza browser. Tutte le sessioni in un unico posto - cosa aspetta una decisione, cosa lavora, cosa è pianificato, più la conversazione completa con ciascuna - invece di decine di schede e continuo passaggio.
Introduzione
Gyred è l'incarnazione desktop della sala di controllo degli agenti IA della famiglia Gyre. Gyre è un unico posto in cui si conducono molte sessioni contemporaneamente: le vedi, ci parli, pianifichi il lavoro e ricevi un segnale quando qualcosa richiede un essere umano. Questo caso di studio riguarda il client desktop - la finestra in cui questa sala di controllo vive tutto il giorno, accanto al resto degli strumenti di uno sviluppatore.
Un principio importante di tutto Gyre: il pannello non possiede mai una sessione. Qualunque cosa tu veda nella finestra, la puoi aprire anche nel tuo terminale - Gyred è una vista comoda sulle sessioni, non una gabbia attorno a esse. Per lo stesso flusso di lavoro c'è un client separato per il telefono; il desktop punta sulla densità di informazioni e sulla tastiera alla scrivania.
Il problema delle dieci schede
Quando conduci una sessione di agente, basta una scheda del browser. Quando ne conduci dieci, la scheda diventa una trappola. Non vedi in un colpo d'occhio quale sessione si è fermata e aspetta la tua decisione e quale continua a macinare la sua. Passi in cerchio, perdi il filo e ti lasci sfuggire il momento in cui un agente si è bloccato su una domanda - ed è proprio quel momento il più costoso, perché la sessione resta lì a non fare nulla finché non rispondi.
Gyred ribalta questa disposizione. Invece di una finestra per sessione - una finestra per tutte le sessioni, con una divisione chiara tra ciò che richiede un essere umano ora e ciò che può tranquillamente continuare a lavorare. La lista a sinistra mostra lo stato dell'insieme, il pannello a destra la conversazione completa con la sessione scelta. Non devi ricordare dove si è nascosta quella che aspetta; viene su da sola.
Questa è la differenza tra gestire la propria attenzione e disperderla. Dieci schede pretendono che sia tu a controllare di continuo ciascuna. Una finestra con uno stato chiaro lo fa per te e ti libera dal fare la guardia.
Rust e Dioxus invece di un secondo browser
Un'applicazione che deve girare in background tutto il giorno e aggiornare lo stato di molte sessioni in diretta non può divorare risorse come un secondo browser. Perciò invece di Electron siamo andati su Rust con Dioxus. Dioxus permette di scrivere l'interfaccia nello stile a componenti noto dal front-end, ma compila verso un binario nativo - senza portarsi dietro l'intero motore Chromium solo per disegnare una lista e un campo di testo.
In pratica ciò significa una finestra che si avvia all'istante e mantiene una bassa impronta di memoria anche con una dozzina di sessioni aperte. Per uno strumento che deve restare acceso tutto il tempo, questa non è cosmesi - è la differenza tra un programma che dimentichi e uno che scalda il portatile in background.
Impronta di memoria all'avvio (indicativa, MB)
Un cuore, molte incarnazioni
Gyred non è un programma separato accanto al pannello e all'app mobile. Il cuore della sessione - la connessione, la coda degli eventi, lo stato di ogni conversazione, le regole di ciò che richiede un essere umano - vive in uno strato Rust indipendente da ciò che lo disegna. La vista Dioxus è una scocca sopra quel cuore, collegata a esso tramite tipi condivisi, non tramite un'API separata verso se stessa.
La stessa decisione porta un premio caduto in un certo senso per strada: il codice dei componenti punta anche ad altre piattaforme. Scrivi la vista una volta, e la logica della sessione è unica per ogni incarnazione di Gyre. Una nuova regola o un nuovo stato di sessione viene colto nel cuore e compare ovunque nello stesso commit, invece di essere riscritto tre volte e rotto in tre modi diversi.
Chi aspetta va in cima
Tutto il valore di una finestra come questa si riduce a una cosa: non lasciarsi mai sfuggire una sessione che ti aspetta. Perciò l'ordinamento non va per orario di creazione ma per il fatto che una sessione richieda un essere umano. Un agente bloccato su una domanda deve stare in cima alla lista, non sepolto tra dieci che stanno ancora lavorando.
Una regola semplice che cambia il comfort di lavoro: ordina le sessioni per il fatto che aspettano un essere umano, non per orario di creazione. La coda si dispone da sola, e tu guardi solo la cima della lista invece di scandire l'intero elenco in cerca di quella che si è fermata.
connessione, coda degli eventi e stato di ogni sessione in uno strato indipendente dalla vista.
lista delle sessioni e conversazione completa come componenti, collegate al cuore tramite tipi condivisi.
le sessioni in attesa di una decisione atterrano in cima, il resto sotto, cosicché nulla vada perso.
compilato verso una finestra nativa che si avvia in fretta e mantiene una bassa impronta di memoria.
Qual è il risultato finale
Invece della caccia tra le schede ottieni uno schermo su cui si vede subito dov'è il tuo turno. Rispondi a una sessione direttamente dalla finestra, torni al tuo lavoro, e gli agenti continuano. Meno passaggi, meno decisioni mancate, meno sessioni lasciate ferme nel vuoto solo perché non hai notato la domanda.
E poiché è un binario nativo, non una pagina impacchettata, la finestra si comporta come il resto dei programmi sul desktop: si avvia all'istante, non grava sulla memoria e non si perde in un groviglio di schede. Il cuore Rust è unico per ogni incarnazione di Gyre, cosicché il desktop non è un progetto separato da mantenere - cresce insieme al pannello e all'app mobile.
Una finestra in cui si vede subito di chi è il turno - il resto si mette in coda da solo.
Altri progetti
Altri lavori della stessa categoria - scopri come affrontiamo sfide simili.
Hai un progetto simile?
Contattaci - il preventivo è gratuito e arriva entro un'ora.



