Repository navigation
Interfaccia
Barra superiore, progetti, temi e comandi dell'interfaccia.
Sopra la chat, tra le due barre laterali (solo su schermo largo):
| Elemento | Cosa fa |
|---|---|
| Ruolo | Banana, Tutor Polimi, Revisore di codice, Traduttore, Ultra-sintetico: aggiunge un'istruzione al prompt di sistema, vale per tutte le chat |
| Comandi rapidi | Riassumi, Traduci, Spiega, Correggi, Quiz: inseriscono un modello di richiesta nel messaggio |
| Stato | modello caricato, velocità dell'ultima risposta (token/s), RAM del modello, swap e memoria libera, indicatori di Web e Archivio |
RAM e swap arrivano da store_server.py (endpoint /stats), che li legge dal sistema; si aggiornano ogni 6 secondi.
Barra laterale destra (icona cartella), speculare a quella delle chat: raggruppa più chat sullo stesso argomento.
| Azione | Come |
|---|---|
| Creare un progetto | Nuovo progetto |
| Chat nuova nel progetto | + accanto al progetto |
| Aggiungere una chat esistente | aprila, poi Aggiungi/Sposta la chat corrente dentro il progetto |
| Istruzioni e memoria | matita: istruzioni del progetto e fatti da ricordare; Banana aggiunge da sola i fatti emersi dalle chat (obiettivi, decisioni, scadenze), modificabili a mano |
| Documenti del progetto | nella matita: Aggiungi documento (PDF o testo); li usano solo le chat del progetto, mentre quelli del pulsante Doc restano globali |
| Collegamento tra chat | istruzioni, memoria e titoli delle altre chat del progetto sono passati ad Banana in ogni chat del progetto |
I progetti sono salvati nel browser (localStorage) e inclusi nel backup Importa/Esporta. Eliminare un progetto non elimina le chat.
Scrivendo / come primo carattere nella casella di testo si apre una tendina con i comandi; continuando a scrivere la lista si filtra. Frecce per scegliere, Invio o Tab per confermare, Esc per chiudere.
| Comando | Effetto |
|---|---|
/riassumi /traduci /spiega /correggi /quiz
|
inserisce il modello di richiesta nella casella |
/help |
guida con tutti i comandi, le azioni e le funzioni (il testo sta in src/lib/utils/banana-help.ts) |
/nuova |
nuova chat |
/memoria |
apre il pannello Memoria |
/esporta |
scarica la chat in Markdown |
/web /auto /avviso
|
attiva/disattiva ricerca web, scelta automatica, avviso a fine risposta |
/ruolo-banana /ruolo-tutor /ruolo-codice /ruolo-traduttore /ruolo-sintetico
|
cambia ruolo |
Pulsante Memoria nella barra superiore: elenca i fatti che Banana ricorda in tutte le chat (max 50). Puoi aggiungerne, modificarli, eliminarli o cancellare tutto; le modifiche valgono dal messaggio successivo e vengono salvate anche su file. La memoria dei singoli progetti si gestisce dalla barra dei progetti.
Pulsante Esporta .md nella barra superiore (attivo con una chat aperta). Scarica <titolo>_<data>.md con solo titolo, ## Domanda e ## Risposta: niente metadati, allegati o ragionamento interno. Esporta il ramo visualizzato.
Pulsante Avviso: on/off nella barra superiore. Quando una risposta finisce e la finestra non è in primo piano, Banana emette un suono breve e una notifica di sistema (il browser chiede il permesso la prima volta). Con la finestra in primo piano non fa nulla.
Mentre Banana scrive, la barra superiore mostra "~N s rimasti". La stima usa la lunghezza media e la velocità (tok/s) delle ultime 5 risposte e il testo già generato; compare dopo la prima risposta della sessione. È solo un ordine di grandezza: non include l'elaborazione iniziale del prompt e sbaglia se la risposta è insolitamente breve o lunga.
Pulsante Tema nella barra superiore (in alto a destra, accanto al modello caricato), 9 temi. Chiari: Chiaro, Seppia (carta color sabbia, con sfondo virato seppia), Lavanda, Menta. Scuri: Scuro (predefinito, blu-oro), Mezzanotte (indaco), Foresta (verde), Oceano (ciano), Grafite (grigio caldo con accento arancio). Sotto, la dimensione del testo: Piccolo / Normale / Grande. Le scelte sono salvate nel browser. Per aggiungere un tema: tavolozza html.palette-<nome> in app.css e voce in banana-theme.svelte.ts.
Font: interfaccia in Plus Jakarta Sans, risposte di Banana in Lora (serif dal tratto calligrafico, a metà tra corsivo e sans), codice in monospazio. Entrambi i font sono variabili e inclusi nella build (@fontsource-variable/...): funzionano offline. Per cambiarlo, installa un altro pacchetto @fontsource-variable/... e aggiorna @import e --font-sans in llama.cpp/tools/ui/src/app.css.
Dopo una modifica alla UI (ricompilata e riavviato il server), la pagina aperta rileva la nuova versione (subito all'apertura, al ritorno sulla finestra e ogni minuto), la applica e si ricarica da sola, aspettando che non ci sia una risposta in corso. Non serve più svuotare la cache né fare "Unregister" del service worker; chat, memoria e impostazioni non vengono toccate. Solo la prima volta dopo questo aggiornamento può servire un ricaricamento manuale (Cmd+Shift+R, oppure il pulsante "Reload" dell'avviso "Aggiornamento disponibile").
Tutte con il tasto Alt (Opzione su Mac), valgono anche con la tastiera in italiano.
| Scorciatoia | Azione |
|---|---|
Alt + N |
nuova chat |
Alt + L |
cursore nella casella di testo |
Alt + M |
apre/chiude la Memoria |
Alt + E |
esporta la chat in Markdown |
Alt + H |
apre/chiude la guida |
Alt + R |
ruolo successivo (compare un avviso con il nome) |
Alt + T |
tema successivo (compare un avviso con il nome) |
L'elenco è anche in /help.
Comandi /
|
Lavanda | Seppia |
|---|---|---|
![]() |
![]() |
![]() |
| Oceano | Foresta |
|---|---|
![]() |
![]() |




