Eseguire comandi locali in sicurezza
Nell’applicazione desktop l’assistente può eseguire comandi e test nella cartella di lavoro della tua chat. Come funziona nella chat è spiegato in Accesso ai file locali. In questa pagina imposti quando può farlo senza chiedere e quanto isolati vengono eseguiti i comandi.
Aprire le impostazioni dei comandi
In una chat apri il pannello Comandi e scegli Impostazioni dei comandi per questa cartella. Le impostazioni valgono per singola cartella.
Quando l’assistente può eseguire un comando?
Scegli una di queste tre modalità:
- Chiedi sempre: approvi ogni comando.
- Comandi attendibili automaticamente: i comandi che hai salvato partono senza chiedere. Gli altri comandi chiedono comunque l’approvazione.
- Automaticamente nella 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 nulla di più di ciò che gli strumenti per i file integrati fanno già senza chiedere. Vengono eseguiti nella sandbox senza rete e solo con percorsi all’interno della cartella di lavoro, anche dopo aver seguito i link (niente percorsi assoluti,~o..). Se un link punta fuori dalla cartella, compare comunque una scheda. Servono una sandbox (macOS e Linux) e i comandi locali attivi, ma non l’opzione Consenti l’esecuzione automatica del tuo amministratore. Nel pannello Comandi compare allora Automatico (comando innocuo). Anche un elenco tra parentesi graffe, comemkdir -p src/{components,utils}, parte senza scheda: l’app lo trasforma in percorsi separati e li controlla tutti. - Ogni scheda mostra il comando esatto e, per le azioni online, l’indirizzo esatto. Sotto, in caratteri più piccoli, c’è la spiegazione dell’assistente.
- Se la sandbox è disponibile e il tuo amministratore consente l’esecuzione automatica, una scheda per un comando eseguito nella sandbox ha anche il pulsante D’ora in poi automaticamente nella sandbox in questa cartella. Imposta la cartella su Automaticamente nella sandbox, così i comandi successivi partono senza scheda. I comandi che richiedono la rete chiedono ancora una volta, a meno che le installazioni di pacchetti siano consentite.
- La prima scheda in una cartella che viene eseguita nella sandbox senza chiedere la rete mostra una sola volta Considera attendibile questo progetto. Esegue il comando, imposta la cartella su Automaticamente nella sandbox e attiva Consenti installazioni di pacchetti senza chiedere. Test e build come
npm test,npm run buildenode --testpartono poi senza scheda, nella sandbox senza rete. I comandi che hanno bisogno della rete per altro o vengono eseguiti fuori dalla sandbox continuano a chiedere. Dopo Esegui o Rifiuta la domanda non torna più in questa cartella; la modalità si cambia nelle impostazioni dei comandi. Se l’esecuzione automatica è disattivata, ogni scheda indica se dipende dal tuo amministratore o dal criterio di gestione di questo computer.
Salvare comandi attendibili
Su un comando scegli Consenti sempre in questa cartella e poi Esattamente questo comando o Tutto ciò che inizia con. Da quel momento i comandi salvati partono senza chiedere. I comandi con caratteri speciali (come ; | > $) chiedono sempre l’approvazione.
Le regole salvate si trovano nelle impostazioni dei comandi in Sempre consentiti in questa cartella. Lì puoi anche eliminarle.
Sandbox e rete
- Usa la sandbox: i comandi possono scrivere solo in questa cartella. Questa opzione è attiva per impostazione predefinita su macOS e Linux.
- Consenti la rete: stabilisce se i comandi hanno accesso a internet. Questa opzione è disattivata per impostazione predefinita. Senza sandbox i comandi hanno sempre accesso alla rete.
Ogni scheda di comando mostra se la sandbox e la rete sono attive.
Se Consenti la rete è disattivato e l’assistente vuole scaricare qualcosa, ad esempio con npm install, la scheda del comando ti chiede se vuoi eseguire esattamente quel comando con la rete. Non devi quindi attivare la rete per l’intera cartella.
Su Windows la sandbox non è ancora disponibile.
Installare pacchetti
L’app include un proprio Node.js con npm. Per questo comandi come node, npm e npx funzionano 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 Electron da sé (electron .) ha bisogno di un Node.js installato da te.
Consenti 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). Vengono sempre eseguite nella sandbox, con la rete. Gli altri comandi seguono la modalità che hai scelto per la cartella.
Queste installazioni mostrano comunque una scheda:
- gli avviatori 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, un URL o un percorso.
L’interruttore funziona solo con una sandbox (macOS e Linux) e se l’amministratore consente l’esecuzione automatica. Altrimenti non puoi attivarlo.
I pacchetti installati in questo modo non eseguono mai i propri script di installazione (npm viene eseguito con --ignore-scripts). I pacchetti Python vengono installati solo come wheel già pronti.
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. Valgono le stesse regole degli altri comandi: approvi il comando esatto, oppure si avvia tramite una regola salvata o automaticamente nella sandbox. Al posto della durata massima, la scheda indica "Resta in esecuzione come server locale finché non lo fermi."
Il server resta in esecuzione dopo la risposta dell’assistente. Nel pannello Comandi la scheda mostra lo stato Server attivo con i pulsanti Apri nel browser e Interrompi. Possono essere in esecuzione al massimo 4 server contemporaneamente. I server si fermano quando li interrompi o chiudi l’app.
Nella sandbox senza rete, un server può restare in ascolto solo su questo computer (localhost). Come l’assistente installa i pacchetti è spiegato in 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. - Quando un file cambia, la pagina si ricarica automaticamente.
Per questo non compare alcuna scheda di approvazione. Il server si trova nel pannello Comandi, con Apri nel browser e Interrompi, e conta per il massimo di 4 server.
Il risultato lo vedi 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 (interrompi durante il caricamento), una barra degli indirizzi e Apri nel 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 in una risposta fai clic 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 a AI-Public, i siti web non ricevono autorizzazioni come fotocamera o microfono e i download non sono possibili.
- Finché è aperto un menu o una finestra di dialogo dell’app, la pagina viene nascosta temporaneamente.
Esempio:
In questa cartella crea una piccola app React con Vite con un contatore. Installa le dipendenze, avvia il server di sviluppo e mostra il risultato nel browser.
Far guardare l’assistente
Se chiedi all’assistente di guardare la pagina del browser integrato, legge l’indirizzo, il titolo, il testo visibile, uno screenshot e gli ultimi messaggi di errore della pagina. Questi vanno al modello di IA.
- L’assistente guarda una pagina di questo computer (
localhosto127.0.0.1) senza chiedere. - Per qualsiasi altro sito, per esempio una pagina in cui hai effettuato l’accesso, l’assistente mostra prima una scheda: «L’assistente vuole guardare onedrive.live.com.» Fai clic su Consenti la visualizzazione o su Rifiuta. Lo chiede ogni volta.
- Se dopo il tuo consenso la pagina passa a un altro sito, l’assistente non legge nulla.
- L’assistente fa clic e digita da solo soltanto su una pagina di questo computer, per provare ciò che ha creato. Sugli altri siti web non fa clic, non digita e non naviga. Non riceve cookie né password.
- In modalità offline l’assistente guarda solo pagine di 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 contenere segreti (come i file
.env, chiavi o token nel codice, anche le chiavi API di Google che iniziano conAIza) non finiscono mai in una versione. L’assistente ti avvisa se salta qualcosa. - Le azioni online (scaricare un progetto, recuperare la versione più recente, pubblicare online 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 un nuovo repository diventa pubblico, la scheda ti avvisa. Quando pubblichi online, la scheda mostra quali file vengono inviati. Scegli Esegui o Rifiuta.
- Anche collegare un repository al di fuori di github.com chiede prima l’autorizzazione.
Come collegare GitHub e pubblicare un progetto online è spiegato in Vibe coding.
In modalità offline i comandi vengono sempre eseguiti nella sandbox senza rete. Le installazioni di pacchetti con rete e le azioni online del git integrato (scaricare, aggiornare, pubblicare e GitHub) non funzionano. Salvare versioni e mostrare una semplice pagina web funzionano ancora.
Impostazioni per gli amministratori
Gli amministratori possono disattivare i comandi locali o l’esecuzione automatica per tutti nell’ambiente. Lo fanno nell’area di amministrazione in Funzionalità (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. Il salvataggio delle versioni e i branch continuano però a funzionare: modificano solo i file nella cartella, come gli strumenti per i file.
- Consenti l’esecuzione automatica: se è disattivato, ogni comando chiede l’approvazione e non puoi attivare Consenti installazioni di pacchetti senza chiedere.
- Consenti il Python dell’app per i 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 attivati, e chiede ogni volta il permesso.