Eseguire comandi locali in sicurezza
Nell’app desktop l’assistente può eseguire comandi e test nella cartella di lavoro della tua chat. Per capire come funziona nella chat, leggi Accesso locale ai file. In questa pagina configuri quando può farlo senza chiedere e quanto sono isolati i comandi.
Aprire le impostazioni dei comandi
Apri nel chat il pannello Comandi e scegli Impostazioni dei comandi per questa cartella. Le impostazioni valgono per cartella.
Quando può l’assistente eseguire un comando?
Scegli una di queste tre modalità:
- Chiedi sempre: approvi ogni comando.
- Comandi fidati automaticamente: i comandi che hai salvato partono senza chiedere. Gli altri comandi chiedono ancora il permesso.
- Automaticamente in sandbox: tutto parte senza chiedere, ma in un ambiente isolato.
In ogni modalità valgono anche queste regole:
- I comandi innocui partono senza scheda:
mkdir,ls,cat,head,tail,wc,grep,find(senza-execo-delete),touch,pwd,treee i controlli di versione (--version,-vo-Vdinode,npm,npx,python,pipeaischool-python). Non fanno più di quanto facciano già gli strumenti file integrati senza chiedere. Eseguono nella sandbox senza rete e solo con percorsi dentro la cartella di lavoro, anche dopo aver seguito link (nessun percorso assoluto,~o..). Se un link punta fuori dalla cartella, appare comunque una scheda. Per questo servono una sandbox (macOS e Linux) e i comandi locali, ma non Consenti esecuzione automatica del tuo amministratore. Nel pannello Comandi compare allora Automaticamente (comando innocuo). Anche un elenco tra parentesi graffe, comemkdir -p src/{components,utils}, parte senza scheda: l’app lo divide in percorsi separati e li controlla tutti. - Ogni scheda mostra il comando esatto e, per le azioni online, l’indirizzo esatto. Sotto c’è, in caratteri più piccoli, la spiegazione dell’assistente.
- Se la sandbox è disponibile e il tuo amministratore consente l’esecuzione automatica, una scheda per un comando che gira nella sandbox mostra anche il pulsante D’ora in poi automaticamente nella sandbox in questa cartella. Questo imposta la cartella su Automaticamente in sandbox, così i comandi successivi partono senza scheda. I comandi che richiedono rete chiedono un’altra volta, a meno che le installazioni di pacchetti siano consentite.
- La prima scheda in una cartella che gira nella sandbox e non richiede rete mostra una sola volta Fidati di questo progetto. Esegue il comando, imposta la cartella su Automaticamente in sandbox e attiva Consenti installazioni di pacchetti senza chiedere. Dopo, test e build come
npm test,npm run buildenode --testpartono senza scheda, nella sandbox senza rete. I comandi che richiedono ulteriormente la rete o che girano fuori dalla sandbox continuano a chiedere. Dopo Esegui o Rifiuta, la domanda non ricompare in questa cartella; cambi la modalità nelle impostazioni dei comandi. Se l’esecuzione automatica è disattivata, ogni scheda indica se lo fa il tuo amministratore o il criterio di gestione di questo computer.
Salvare i comandi fidati
Per un comando scegli Consenti sempre in questa cartella e poi Esattamente questo comando oppure Tutto ciò che inizia con questo. I comandi salvati partiranno d’ora in poi senza chiedere. I comandi con caratteri speciali (come ; | > $) chiedono sempre il permesso.
Le regole salvate si trovano nelle impostazioni dei comandi sotto Sempre consentiti in questa cartella. Lì puoi anche rimuoverle.
Sandbox e rete
- Usa sandbox: i comandi possono scrivere solo in questa cartella. Questa opzione è attiva per impostazione predefinita su macOS e Linux.
- Consenti rete: determina se i comandi hanno accesso a internet. Questa opzione è disattivata per impostazione predefinita. Senza sandbox, i comandi hanno sempre accesso alla rete.
Ogni scheda comando mostra se sandbox e rete sono attive.
Se Consenti rete è disattivato e l’assistente vuole scaricare qualcosa, ad esempio con npm install, la scheda comando ti chiede se vuoi eseguire proprio quel comando con la rete. Non devi quindi attivare la rete per tutta la cartella.
Su Windows la sandbox non è ancora disponibile.
Installare pacchetti
L’app include una propria Node.js con npm. Comandi come node, npm e npx funzionano quindi anche se Node.js non è installato sul tuo computer. Se hai installato Node.js tu stesso, l’app usa quella versione. Eccezione: un progetto che avvia da solo Electron (electron .) ha bisogno di una Node.js che hai installato tu.
Consentire le installazioni di pacchetti senza chiedere
In Impostazioni dei comandi per questa cartella attiva l’interruttore Consenti installazioni di pacchetti senza chiedere. Le installazioni di pacchetti con un nome partono allora senza scheda: npm install <nome> e npm install da package.json, pnpm, yarn o bun con install o add, e pip install <nome> (anche tramite uv). Eseguono sempre nella sandbox, con rete. Gli altri comandi seguono la modalità che hai scelto per la cartella.
Queste installazioni mostrano comunque una scheda:
- starter di progetto come
npm create vite@latestenpx create-…, perché eseguono il proprio codice; pip install .,pip install -r requirements.txt, installazioni da un altro registro (--registry,-i,--index-url) e pacchetti da un indirizzo git, URL o percorso.
L’interruttore funziona solo con una sandbox (macOS e Linux) e se il tuo amministratore consente l’esecuzione automatica. Altrimenti non puoi attivarlo.
I pacchetti così installati non eseguono mai i propri script di installazione (npm viene eseguito con --ignore-scripts). I pacchetti Python vengono installati solo come wheel già pronte.
Server locali e browser integrato
L’assistente può anche avviare un server di sviluppo che resta in esecuzione, come npm run dev per un piccolo progetto React con Vite. Per questo valgono le stesse regole degli altri comandi: approvi il comando esatto, oppure parte tramite una regola salvata o automaticamente nella sandbox. Al posto della durata massima, sulla scheda compare "Resta in esecuzione come server locale finché non lo fermi."
Il server continua a funzionare dopo che l’assistente ha risposto. Nel pannello Comandi la scheda mostra lo stato Server in esecuzione, con i pulsanti Apri nel browser e Ferma. Possono esserci al massimo 4 server in esecuzione contemporaneamente. I server si fermano quando li fermi tu o chiudi l’app.
Nella sandbox senza rete, un server può ascoltare solo su questo computer (localhost). Per sapere come l’assistente installa i pacchetti, vedi Installare pacchetti.
Mostrare una semplice pagina web
Per una normale pagina web (un index.html con CSS e JavaScript, senza fase di build) non serve alcun comando. L’assistente usa allora il server web integrato dell’app:
- La cartella è visibile solo su questo computer, su
http://127.0.0.1con una porta casuale. - I file nascosti, come
.gite.env, non vengono mai mostrati. - Se un file cambia, la pagina si ricarica automaticamente.
Per questo non appare alcuna scheda di approvazione. Il server compare nel pannello Comandi, con Apri nel browser e Ferma, e conta per il massimo di 4 server.
Il risultato lo visualizzi nel browser integrato: il pulsante Browser (l’icona del globo) a destra nella barra superiore. Il pannello si apre accanto alla chat, con indietro, avanti, ricarica (ferma durante il caricamento), una barra degli indirizzi e Apri nel tuo browser predefinito.
- L’assistente apre il browser da solo per mostrare il risultato di un server locale. Funziona solo con indirizzi locali, come
http://localhost:5173. - Se fai clic in una risposta su un link localhost, si apre nel browser integrato. Gli altri link si aprono nel tuo browser predefinito.
- Puoi anche digitare tu stesso qualsiasi indirizzo web.
- Il browser ha una propria sessione separata: lì non hai effettuato l’accesso ad AI-Public, i siti non ricevono autorizzazioni come fotocamera o microfono e non è possibile scaricare.
- Finché un menu o una finestra di dialogo dell’app è aperto, la pagina viene temporaneamente nascosta.
Esempio:
Crea in questa cartella una piccola app React con Vite con un contatore. Installa le dipendenze, avvia il dev server e mostra il risultato nel browser.
Far dare un’occhiata all’assistente
Se chiedi all’assistente di guardare la pagina nel browser integrato, legge l’indirizzo, il titolo, il testo visibile, una schermata e gli ultimi messaggi di errore della pagina. Tutto questo viene inviato al modello AI.
- L’assistente guarda senza chiedere una pagina su questo computer (
localhosto127.0.0.1). - Per qualsiasi altro sito web, ad esempio una pagina su cui hai effettuato l’accesso, l’assistente mostra prima una scheda: "L’assistente vuole guardare su onedrive.live.com." Clicca Consenti di guardare oppure Rifiuta. Lo chiede ogni volta.
- Se dopo il tuo consenso la pagina va su un altro sito web, l’assistente non legge nulla.
- Solo su una pagina su questo computer l’assistente fa clic e digita da solo, per testare ciò che ha creato. Sugli altri siti web non fa clic, non digita e non naviga. Non riceve cookie o password.
- In modalità offline l’assistente guarda solo le pagine su questo computer.
Versioni e GitHub
L’assistente ha un git integrato. Non devi quindi installare git, nemmeno su Windows. L’assistente può salvare versioni, mostrare cosa è cambiato, creare branch e pubblicare un progetto online.
- Le azioni in questa cartella, come salvare una versione, partono senza chiedere. I file che sembrano segreti (come file
.env, chiavi o token nel codice, incluse le chiavi API di Google che iniziano conAIza) non entrano mai in una versione. L’assistente lo segnala quando salta qualcosa. - Le azioni online (scaricare un progetto, recuperare l’ultima versione, pubblicare e creare un repository GitHub) mostrano prima una scheda con l’indirizzo esatto e le etichette Integrato nell’app e Rete attiva. Se l’indirizzo non è github.com o se un nuovo repository viene reso pubblico, la scheda avvisa. Quando pubblichi, la scheda mostra quali file vengono inviati. Scegli Esegui o Rifiuta.
- Collegare un repository esterno a github.com richiede anche prima il permesso.
Come collegare GitHub e pubblicare un progetto online, vedi Vibe coding.
Nella modalità offline i comandi girano sempre nella sandbox senza rete. Le installazioni di pacchetti con rete e le azioni online del git integrato (scaricare, recuperare, pubblicare e GitHub) non funzionano. Salvare versioni e mostrare una semplice pagina web funzionano invece.
Impostazioni per gli amministratori
Gli amministratori possono disattivare i comandi locali o l’esecuzione automatica per tutti nell’ambiente. Lo fanno nell’ambiente di gestione sotto Funzioni (a livello di ambiente), nella scheda App desktop:
- Consenti comandi locali: se è disattivato, l’assistente non può eseguire comandi. Anche le azioni online del git integrato non funzionano. Salvare versioni e branch continua invece a funzionare: cambiano solo file nella cartella, proprio come gli strumenti file.
- Consenti esecuzione automatica: se è disattivato, ogni comando chiede il permesso e non puoi attivare Consenti installazioni di pacchetti senza chiedere.
- Consenti Python dell’app per file Office: per modelli, grafici e analisi. Questo Python funziona senza internet, scrive solo nella cartella di lavoro e non può avviare altri programmi. Se non è impostato nulla, segue Consenti comandi locali. Senza sandbox (Windows) è disponibile solo se i comandi locali sono attivi, e chiede ogni volta il permesso.