Esecuzione sicura di comandi locali
Nell’app desktop, l’assistente può eseguire comandi e test nella cartella di lavoro della tua chat. Per sapere come funziona nella chat, consulta Accesso locale ai file. In questa pagina imposti quando può farlo senza chiedere e quanto sono isolati i comandi.
Aprire le impostazioni dei comandi
In una chat, apri il pannello Comandi e scegli Impostazioni 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 richiedono comunque l’autorizzazione.
- 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 nulla di più di quanto facciano già gli strumenti di file integrati senza chiedere. Eseguono nella sandbox senza rete e solo con percorsi dentro la cartella di lavoro, anche dopo aver seguito i link (niente percorsi assoluti,~o..). Se un link punta fuori dalla cartella, compare comunque una scheda. Per questo servono una sandbox (macOS) e i comandi locali, ma non Consenti esecuzione automatica da parte dell’amministratore. Nel pannello Comandi appare allora Automatico (comando innocuo). Anche un elenco tra parentesi graffe, comemkdir -p src/{components,utils}, parte senza scheda: l’app lo espande in percorsi separati e li controlla tutti. - Ogni scheda mostra il comando esatto e, per le azioni online, l’indirizzo esatto. Sotto compare in piccolo la spiegazione dell’assistente.
- Se la sandbox è disponibile e l’amministratore consente l’esecuzione automatica, una scheda per un comando che gira nella sandbox mostra anche il pulsante Da ora 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 ancora una 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. Questa esegue il comando, imposta la cartella su Automaticamente in sandbox e attiva Consenti installazioni di pacchetti senza chiedere. Dopo di ciò, test e build come
npm test,npm run buildenode --testpartono senza scheda, nella sandbox senza rete. I comandi che richiedono ulteriore rete o che girano fuori dalla sandbox continuano a chiedere. Dopo Esegui o Rifiuta, la richiesta in questa cartella non ricompare; la modalità si cambia nelle impostazioni dei comandi. Se l’esecuzione automatica è disattivata, ogni scheda indica se lo fa l’amministratore o la politica di gestione di questo computer.
Salvare 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 ; | > $) richiedono sempre l’autorizzazione.
Le regole salvate si trovano nelle impostazioni dei comandi sotto Sempre consentito in questa cartella. Da 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.
- Consenti 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 comando mostra se sandbox e rete sono attive.
Se Consenti rete è disattivato e l’assistente vuole scaricare qualcosa, per esempio con npm install, la scheda comando chiede se vuoi eseguire esattamente quel comando con la rete. Quindi non devi attivare la rete per l’intera 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 tu Node.js, l’app usa quella versione. Eccezione: un progetto che avvia Electron da solo (electron .) ha bisogno di una Node.js installata da te.
Consentire installazioni di pacchetti senza chiedere
In Impostazioni 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). Girano 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 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 gira 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 del tempo massimo di esecuzione, sulla scheda compare "Resta in esecuzione come server locale finché non lo interrompi."
Il server resta in esecuzione dopo che l’assistente ha risposto. Nel pannello Comandi, la scheda mostra lo stato Server in esecuzione, 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ò ascoltare solo su questo computer (localhost). Per sapere come l’assistente installa i pacchetti, consulta 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 appare nel pannello Comandi, con Apri nel browser e Interrompi, e conta nel limite 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 tuo browser predefinito.
- L’assistente apre da solo il browser per mostrare il risultato di un server locale. Questo è possibile 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 sessione propria e separata: lì non sei connesso ad AI-Corporate, i siti non ricevono autorizzazioni come fotocamera o microfono e non è possibile scaricare.
- Finché è aperto un menu o una finestra di dialogo dell’app, 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.
Lasciare che l’assistente dia un’occhiata
Se chiedi all’assistente di guardare la pagina nel browser integrato, legge l’indirizzo, il titolo, il testo visibile, uno screenshot e gli ultimi messaggi di errore della pagina. Questi vengono inviati al modello AI.
- Una pagina su questo computer (
localhosto127.0.0.1) viene osservata dall’assistente senza chiedere. - Per ogni altro sito web, per esempio una pagina a cui sei connesso, l’assistente mostra prima una scheda: "L’assistente vuole dare un’occhiata a onedrive.live.com." Fai clic su Consenti di osservare oppure su Rifiuta. Te lo chiede ogni volta.
- Se, dopo la tua autorizzazione, la pagina passa a 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. Su altri siti web non fa clic, non digita e non naviga. Non riceve cookie né password.
- In modalità offline, l’assistente osserva solo pagine su questo computer.
Versioni e GitHub
L’assistente ha un git integrato. Quindi non devi 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, comprese le chiavi Google API che iniziano conAIza) non vengono mai inclusi in una versione. L’assistente lo segnala se salta qualcosa. - Le azioni online (scaricare un progetto, recuperare l’ultima versione, 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 se un nuovo repository viene reso pubblico, la scheda mostra un avviso. Durante la pubblicazione, la scheda mostra quali file verranno inviati. Scegli Esegui o Rifiuta.
- Anche collegare un repository fuori da github.com richiede prima l’autorizzazione.
Per sapere come collegare GitHub e pubblicare un progetto online, consulta 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 online e GitHub) non funzionano. Salvare versioni e mostrare una semplice pagina web funzionano.
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 alla voce 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 continuano invece a funzionare: modificano solo i file nella cartella, proprio come gli strumenti di file.
- Consenti esecuzione automatica: se è disattivato, ogni comando richiede autorizzazione e non puoi attivare Consenti installazioni di pacchetti senza chiedere.
- Consenti alla Python dell’app di lavorare con file Office: per modelli, grafici e analisi. Questa 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 l’autorizzazione.