Lokale commando’s veilig uitvoeren
In de desktop applicatie kan de assistent commando’s en tests uitvoeren in de werkmap van je chat. Hoe dat in de chat werkt, lees je bij Lokale bestandstoegang. Op deze pagina stel je in wanneer dat zonder te vragen mag en hoe afgeschermd commando’s draaien.
Commando-instellingen openen
Open in een chat het paneel Commando’s en kies Commando-instellingen voor deze map. De instellingen gelden per map.
Wanneer mag de assistent een commando uitvoeren?
Kies een van deze drie standen:
- Altijd vragen: je keurt elk commando goed.
- Vertrouwde commando’s automatisch: commando’s die je hebt opgeslagen, starten zonder te vragen. Andere commando’s vragen nog steeds om toestemming.
- Automatisch in sandbox: alles start zonder te vragen, maar in een afgeschermde omgeving.
In elke stand gelden ook deze regels:
- Onschuldige commando’s starten zonder kaart:
mkdir,ls,cat,head,tail,wc,grep,find(zonder-execof-delete),touch,pwd,treeen versiecontroles (--version,-vof-Vvannode,npm,npx,python,pipenaischool-python). Ze doen niet meer dan de ingebouwde bestandstools al zonder vragen doen. Ze draaien in de sandbox zonder netwerk en alleen met paden binnen de werkmap, ook na het volgen van links (geen absolute paden,~of..). Wijst een link naar buiten de map, dan verschijnt wel een kaart. Daarvoor zijn een sandbox (macOS en Linux) en lokale commando’s nodig, maar niet Automatisch uitvoeren toestaan van je beheerder. In het paneel Commando’s staat dan Automatisch (onschuldig commando). Ook een lijst tussen accolades, zoalsmkdir -p src/{components,utils}, start zonder kaart: de app maakt er losse paden van en controleert ze allemaal. - Elke kaart toont het exacte commando en, bij online acties, het exacte adres. Daaronder staat kleiner de uitleg van de assistent.
- Is de sandbox beschikbaar en staat je beheerder automatisch uitvoeren toe, dan heeft een kaart voor een commando dat in de sandbox draait ook de knop Voortaan automatisch in de sandbox in deze map. Die zet de map op Automatisch in sandbox, zodat volgende commando’s zonder kaart starten. Commando’s die netwerk nodig hebben, vragen nog één keer, tenzij pakketinstallaties zijn toegestaan.
- De eerste kaart in een map die in de sandbox draait en geen netwerk vraagt, toont eenmalig Dit project vertrouwen. Die voert het commando uit, zet de map op Automatisch in sandbox en zet Pakketinstallaties toestaan zonder te vragen aan. Daarna starten tests en builds zoals
npm test,npm run buildennode --testzonder kaart, in de sandbox zonder netwerk. Commando’s die verder netwerk nodig hebben of buiten de sandbox draaien, blijven vragen. Na Uitvoeren of Weigeren komt de vraag in deze map niet terug; de stand wijzig je in de commando-instellingen. Staat automatisch uitvoeren uit, dan meldt elke kaart of je beheerder of het beheerbeleid van deze computer dat doet.
Vertrouwde commando’s opslaan
Kies bij een commando Altijd toestaan in deze map en daarna Precies dit commando of Alles wat hiermee begint. Opgeslagen commando’s starten voortaan zonder vragen. Commando’s met speciale tekens (zoals ; | > $) vragen altijd om toestemming.
De opgeslagen regels staan in de commando-instellingen onder Altijd toegestaan in deze map. Daar kun je ze ook weer verwijderen.
Sandbox en netwerk
- Sandbox gebruiken: commando’s kunnen alleen in deze map schrijven. Deze optie staat standaard aan op macOS en Linux.
- Netwerk toestaan: bepaalt of commando’s internet hebben. Deze optie staat standaard uit. Zonder sandbox hebben commando’s altijd netwerktoegang.
Elke commandokaart laat zien of de sandbox en het netwerk aan staan.
Staat Netwerk toestaan uit en wil de assistent iets downloaden, bijvoorbeeld met npm install, dan vraagt de commandokaart of je precies dat commando met netwerk wilt uitvoeren. Je hoeft het netwerk dus niet voor de hele map aan te zetten.
Op Windows is nog geen sandbox beschikbaar.
Pakketten installeren
De app heeft een eigen Node.js met npm aan boord. Commando’s als node, npm en npx werken daardoor ook als Node.js niet op je computer is geïnstalleerd. Heb je Node.js zelf geïnstalleerd, dan gebruikt de app die versie. Uitzondering: een project dat zelf Electron start (electron .), heeft een Node.js nodig die je zelf hebt geïnstalleerd.
Pakketinstallaties toestaan zonder te vragen
Zet in Commando-instellingen voor deze map de schakelaar Pakketinstallaties toestaan zonder te vragen aan. Installaties van pakketten met een naam starten dan zonder kaart: npm install <naam> en npm install vanuit package.json, pnpm, yarn of bun met install of add, en pip install <naam> (ook via uv). Ze draaien altijd in de sandbox, met netwerk. Andere commando’s volgen de stand die je voor de map hebt gekozen.
Deze installaties tonen nog wel een kaart:
- projectstarters zoals
npm create vite@latestennpx create-…, omdat die hun eigen code uitvoeren; pip install .,pip install -r requirements.txt, installaties uit een ander register (--registry,-i,--index-url) en pakketten van een git-adres, URL of pad.
De schakelaar werkt alleen met een sandbox (macOS en Linux) en als je beheerder automatisch uitvoeren toestaat. Anders kun je hem niet aanzetten.
Pakketten die zo worden geïnstalleerd, voeren nooit hun eigen installatiescripts uit (npm draait met --ignore-scripts). Python-pakketten worden alleen als kant-en-klare wheels geïnstalleerd.
Lokale servers en de ingebouwde browser
De assistent kan ook een ontwikkelserver starten die blijft draaien, zoals npm run dev voor een klein React-project met Vite. Daarvoor gelden dezelfde regels als voor andere commando’s: je keurt het exacte commando goed, of het start via een opgeslagen regel of automatisch in de sandbox. In plaats van de maximale looptijd staat op de kaart "Blijft draaien als lokale server tot je hem stopt."
De server blijft draaien nadat de assistent heeft geantwoord. In het paneel Commando’s toont de kaart de status Server draait, met de knoppen Openen in browser en Stoppen. Er kunnen maximaal 4 servers tegelijk draaien. Servers stoppen als je ze stopt of de app afsluit.
In de sandbox zonder netwerk mag een server alleen luisteren op deze computer (localhost). Hoe de assistent pakketten installeert, lees je bij Pakketten installeren.
Een eenvoudige webpagina tonen
Voor een gewone webpagina (een index.html met CSS en JavaScript, zonder bouwstap) is geen commando nodig. De assistent gebruikt dan de ingebouwde webserver van de app:
- De map is alleen op deze computer te zien, op
http://127.0.0.1met een willekeurige poort. - Verborgen bestanden, zoals
.giten.env, worden nooit getoond. - Verandert er een bestand, dan laadt de pagina automatisch opnieuw.
Hiervoor verschijnt geen goedkeuringskaart. De server staat in het paneel Commando’s, met Openen in browser en Stoppen, en telt mee voor het maximum van 4 servers.
Het resultaat bekijk je in de ingebouwde browser: de knop Browser (het wereldbolpictogram) rechts in de bovenbalk. Het paneel opent naast de chat, met terug, vooruit, opnieuw laden (stoppen tijdens het laden), een adresbalk en Openen in je standaardbrowser.
- De assistent opent de browser zelf om het resultaat van een lokale server te tonen. Dat kan alleen met lokale adressen, zoals
http://localhost:5173. - Klik je in een antwoord op een localhost-link, dan opent die in de ingebouwde browser. Andere links openen in je standaardbrowser.
- Je kunt ook zelf elk webadres intypen.
- De browser heeft een eigen, aparte sessie: je bent daar niet ingelogd bij AI-Public, websites krijgen geen toestemmingen zoals camera of microfoon en downloaden kan niet.
- Zolang een menu of dialoogvenster van de app open is, wordt de pagina tijdelijk verborgen.
Voorbeeld:
Maak in deze map een kleine React-app met Vite met een teller. Installeer de dependencies, start de dev-server en laat het resultaat zien in de browser.
De assistent laten meekijken
Vraag je de assistent naar de pagina in de ingebouwde browser te kijken, dan leest hij het adres, de titel, de zichtbare tekst, een schermafbeelding en de laatste foutmeldingen van de pagina. Die gaan naar het AI-model.
- Een pagina op deze computer (
localhostof127.0.0.1) bekijkt de assistent zonder te vragen. - Bij elke andere website, bijvoorbeeld een pagina waarop je bent ingelogd, toont de assistent eerst een kaart: "De assistent wil meekijken op onedrive.live.com." Klik op Meekijken toestaan of op Weigeren. Dat vraagt hij elke keer opnieuw.
- Gaat de pagina na je toestemming naar een andere website, dan leest de assistent niets.
- Alleen op een pagina op deze computer klikt en typt de assistent zelf, om te testen wat hij gemaakt heeft. Op andere websites klikt, typt en navigeert hij niet. Hij krijgt geen cookies of wachtwoorden.
- In de offline modus bekijkt de assistent alleen pagina’s op deze computer.
Versies en GitHub
De assistent heeft een ingebouwde git. Je hoeft git dus niet te installeren, ook niet op Windows. De assistent kan versies opslaan, laten zien wat er veranderd is, branches maken en een project online zetten.
- Acties in deze map, zoals een versie opslaan, starten zonder te vragen. Bestanden die op geheimen lijken (zoals
.env-bestanden, sleutels of tokens in code, ook Google API-sleutels die metAIzabeginnen) komen nooit in een versie. De assistent meldt het als hij iets overslaat. - Online acties (een project downloaden, de nieuwste versie ophalen, online zetten en een GitHub-opslagplaats maken) tonen eerst een kaart met het exacte adres en de labels Ingebouwd in de app en Netwerk aan. Is het adres niet github.com of wordt een nieuwe opslagplaats openbaar, dan waarschuwt de kaart. Bij online zetten toont de kaart welke bestanden worden verstuurd. Kies Uitvoeren of Weigeren.
- Een opslagplaats buiten github.com koppelen vraagt ook eerst toestemming.
Hoe je GitHub koppelt en een project online zet, lees je bij Vibe coden.
In de offline modus draaien commando’s altijd in de sandbox zonder netwerk. Pakketinstallaties met netwerk en de online acties van de ingebouwde git (downloaden, ophalen, online zetten en GitHub) werken dan niet. Versies opslaan en een eenvoudige webpagina tonen werken wel.
Instellingen voor beheerders
Beheerders kunnen lokale commando’s of automatisch uitvoeren voor iedereen in de omgeving uitzetten. Dat doen ze in de beheeromgeving bij Features (op het niveau van de omgeving), in de kaart Desktop-app:
- Lokale commando’s toestaan: staat dit uit, dan kan de assistent geen commando’s uitvoeren. Ook de online acties van de ingebouwde git werken dan niet. Versies opslaan en branches blijven wel werken: die wijzigen alleen bestanden in de map, net als de bestandstools.
- Automatisch uitvoeren toestaan: staat dit uit, dan vraagt elk commando om toestemming en kun je Pakketinstallaties toestaan zonder te vragen niet aanzetten.
- Python van de app voor Office-bestanden toestaan: voor sjablonen, grafieken en analyses. Deze Python werkt zonder internet, schrijft alleen in de werkmap en kan geen andere programma's starten. Staat er niets ingesteld, dan volgt dit Lokale commando’s toestaan. Zonder sandbox (Windows) is ze er alleen als lokale commando's aan staan, en vraagt elke keer om toestemming.