Sari la conținutul principal

Executarea în siguranță a comenzilor locale

În aplicația desktop, asistentul poate executa comenzi și teste în folderul de lucru al chatului tău. Cum funcționează asta în chat, citești la Acces local la fișiere. Pe această pagină stabilești când se poate face asta fără a întreba și cât de izolat rulează comenzile.

Deschiderea setărilor pentru comenzi​

Într-un chat, deschide panoul Comenzi și alege Setări de comenzi pentru acest folder. Setările se aplică per folder.

Când poate asistentul executa o comandă?​

Alege una dintre aceste trei stări:

  • Întreabă întotdeauna: aprobi fiecare comandă.
  • Comenzi de încredere automat: comenzile pe care le-ai salvat pornesc fără a întreba. Alte comenzi cer în continuare permisiune.
  • Automat în sandbox: totul pornește fără a întreba, dar într-un mediu izolat.

În fiecare stare se aplică și aceste reguli:

  • Comenzile inofensive pornesc fără cartelă: mkdir, ls, cat, head, tail, wc, grep, find (fără -exec sau -delete), touch, pwd, tree și verificările de versiune (--version, -v sau -V pentru node, npm, npx, python, pip și aischool-python). Nu fac mai mult decât pot face deja, fără întrebări, uneltele de fișiere încorporate. Rulează în sandbox fără rețea și doar cu căi din interiorul folderului de lucru, chiar și după urmărirea legăturilor simbolice (fără căi absolute, ~ sau ..). Dacă o legătură duce în afara folderului, apare totuși o cartelă. Pentru asta ai nevoie de un sandbox (macOS și Linux) și de comenzi locale, dar nu de Permite executarea automată de la administratorul tău. În panoul Comenzi apare atunci Automat (comandă inofensivă). Și o listă între acolade, cum ar fi mkdir -p src/{components,utils}, pornește fără cartelă: aplicația o desparte în căi individuale și le verifică pe toate.
  • Fiecare cartelă arată comanda exactă și, pentru acțiuni online, adresa exactă. Sub aceasta apare, mai mic, explicația asistentului.
  • Dacă sandbox-ul este disponibil și administratorul permite executarea automată, atunci o cartelă pentru o comandă care rulează în sandbox are și butonul De acum înainte automat în sandbox în acest folder. Acesta setează folderul pe Automat în sandbox, astfel încât comenzile următoare pornesc fără cartelă. Comenzile care au nevoie de rețea mai cer încă o dată, cu excepția cazului în care instalările de pachete sunt permise.
  • Prima cartelă dintr-un folder care rulează în sandbox și nu cere rețea afișează o singură dată Ai încredere în acest proiect. Aceasta execută comanda, setează folderul pe Automat în sandbox și activează Permite instalarea pachetelor fără a întreba. După aceea, testele și build-urile precum npm test, npm run build și node --test pornesc fără cartelă, în sandbox fără rețea. Comenzile care au în continuare nevoie de rețea sau care rulează în afara sandbox-ului continuă să ceară. După Execută sau Respinge, întrebarea nu mai apare în acest folder; schimbi starea din setările pentru comenzi. Dacă executarea automată este dezactivată, atunci fiecare cartelă indică dacă administratorul tău sau politica de administrare a acestui computer face asta.

Salvarea comenzilor de încredere​

La o comandă, alege Permite întotdeauna în acest folder și apoi Exact această comandă sau Tot ce începe cu aceasta. Comenzile salvate pornesc apoi fără întrebări. Comenzile cu caractere speciale (cum ar fi ; | > $) cer întotdeauna permisiune.

Regulile salvate se află în setările pentru comenzi, la Permise întotdeauna în acest folder. Acolo le poți și șterge.

Sandbox și rețea​

  • Folosește sandbox-ul: comenzile pot scrie doar în acest folder. Această opțiune este activată implicit pe macOS și Linux.
  • Permite rețeaua: stabilește dacă comenzile au acces la internet. Această opțiune este dezactivată implicit. Fără sandbox, comenzile au întotdeauna acces la rețea.

Fiecare cartelă de comandă arată dacă sandbox-ul și rețeaua sunt active.

Dacă Permite rețeaua este dezactivată și asistentul vrea să descarce ceva, de exemplu cu npm install, atunci cartela de comandă întreabă dacă vrei să execuți exact acea comandă cu rețea. Așadar nu trebuie să activezi rețeaua pentru întregul folder.

Windows

Pe Windows, sandbox-ul nu este încă disponibil.

Instalarea pachetelor​

Aplicația are un Node.js propriu, cu npm inclus. De aceea, comenzile precum node, npm și npx funcționează și dacă Node.js nu este instalat pe computerul tău. Dacă ai instalat tu Node.js, aplicația folosește acea versiune. Excepție: un proiect care pornește singur Electron (electron .) are nevoie de un Node.js pe care l-ai instalat tu.

Permite instalarea pachetelor fără a întreba​

În Setări de comenzi pentru acest folder, activează comutatorul Permite instalarea pachetelor fără a întreba. Instalațiile de pachete cu un nume pornesc atunci fără cartelă: npm install <nume> și npm install din package.json, pnpm, yarn sau bun cu install sau add, și pip install <nume> (și prin uv). Ele rulează întotdeauna în sandbox, cu rețea. Alte comenzi urmează starea pe care ai ales-o pentru folder.

Aceste instalări afișează totuși o cartelă:

  • pornitori de proiecte precum npm create vite@latest și npx create-…, deoarece acestea rulează propriul lor cod;
  • pip install ., pip install -r requirements.txt, instalări dintr-un alt registru (--registry, -i, --index-url) și pachete de la o adresă git, URL sau cale.

Comutatorul funcționează doar cu un sandbox (macOS și Linux) și dacă administratorul tău permite executarea automată. Altfel, nu îl poți activa.

Fără scripturi de instalare

Pachetele instalate astfel nu își execută niciodată propriile scripturi de instalare (npm rulează cu --ignore-scripts). Pachetele Python sunt instalate doar ca wheel-uri gata pregătite.

Servere locale și browserul încorporat​

Asistentul poate porni și un server de dezvoltare care rămâne activ, precum npm run dev pentru un proiect React mic cu Vite. Pentru asta se aplică aceleași reguli ca pentru alte comenzi: aprobi comanda exactă, sau pornește printr-o regulă salvată ori automat în sandbox. În loc de durata maximă de rulare, pe cartelă apare „Rămâne activ ca server local până îl oprești.”

Serverul rămâne activ după ce asistentul a răspuns. În panoul Comenzi, cartela arată starea Serverul rulează, cu butoanele Deschide în browser și Oprește. Pot rula cel mult 4 servere simultan. Serverele se opresc când le oprești sau când închizi aplicația.

În sandbox fără rețea, un server poate asculta doar pe acest computer (localhost). Cum instalează asistentul pachete, citești la Instalarea pachetelor.

Afișarea unei pagini web simple​

Pentru o pagină web obișnuită (un index.html cu CSS și JavaScript, fără etapă de build) nu este nevoie de nicio comandă. Atunci asistentul folosește serverul web încorporat al aplicației:

  • Folderul este vizibil doar pe acest computer, la http://127.0.0.1 cu un port aleatoriu.
  • Fișierele ascunse, precum .git și .env, nu sunt afișate niciodată.
  • Dacă se modifică un fișier, pagina se reîncarcă automat.

Pentru asta nu apare nicio cartelă de aprobare. Serverul apare în panoul Comenzi, cu Deschide în browser și Oprește, și intră în limita de 4 servere.

Rezultatul îl vezi în browserul încorporat: butonul Browser (pictograma globului) din dreapta sus în bara de sus. Panoul se deschide lângă chat, cu înapoi, înainte, reîncarcă (oprește în timpul încărcării), o bară de adrese și Deschide în browserul tău implicit.

  • Asistentul deschide singur browserul pentru a arăta rezultatul unui server local. Asta funcționează doar cu adrese locale, precum http://localhost:5173.
  • Dacă dai clic într-un răspuns pe un link localhost, acesta se deschide în browserul încorporat. Alte linkuri se deschid în browserul tău implicit.
  • Poți introduce și tu manual orice adresă web.
  • Browserul are o sesiune proprie, separată: nu ești autentificat acolo în AI-Public, site-urile nu primesc permisiuni precum cameră sau microfon, iar descărcarea nu este posibilă.
  • Atâta timp cât un meniu sau o fereastră de dialog a aplicației este deschisă, pagina este ascunsă temporar.

Exemplu:

Creează în acest folder o aplicație React mică cu Vite, cu un contor. Instalează dependențele, pornește serverul de dezvoltare și arată rezultatul în browser.

Permițând asistentului să urmărească​

Dacă îi ceri asistentului să se uite la pagina din browserul încorporat, el citește adresa, titlul, textul vizibil, o captură de ecran și ultimele mesaje de eroare ale paginii. Acestea merg la modelul AI.

  • O pagină de pe acest computer (localhost sau 127.0.0.1) este vizualizată de asistent fără să întrebe.
  • Pentru orice alt site, de exemplu o pagină pe care ești autentificat, asistentul afișează mai întâi o cartelă: "Asistentul vrea să urmărească pe onedrive.live.com." Apasă pe Permite urmărirea sau pe Respinge. Va cere asta de fiecare dată.
  • Dacă pagina, după permisiunea ta, trece la un alt site, asistentul nu mai citește nimic.
  • Doar pe o pagină de pe acest computer, asistentul dă clic și tastează singur, pentru a testa ce a creat. Pe alte site-uri nu dă clic, nu tastează și nu navighează. Nu primește cookie-uri sau parole.
  • În modul offline, asistentul vizualizează doar pagini de pe acest computer.

Versiuni și GitHub​

Asistentul are un git încorporat. Așadar, nu trebuie să instalezi git, nici pe Windows. Asistentul poate salva versiuni, afișa ce s-a schimbat, crea branch-uri și publica un proiect online.

  • Acțiunile din acest folder, cum ar fi salvarea unei versiuni, pornesc fără să întrebe. Fișierele care par secrete (cum ar fi fișiere .env, chei sau token-uri în cod, inclusiv cheile Google API care încep cu AIza) nu sunt incluse niciodată într-o versiune. Asistentul raportează când sare peste ceva.
  • Acțiunile online (descărcarea unui proiect, preluarea ultimei versiuni, publicarea online și crearea unui depozit GitHub) afișează mai întâi o cartelă cu adresa exactă și etichetele Încorporat în aplicație și Rețea activă. Dacă adresa nu este github.com sau dacă un nou depozit devine public, cartela avertizează. La publicare, cartela arată ce fișiere sunt trimise. Alege Execută sau Respinge.
  • Asocierea unui depozit din afara github.com cere, de asemenea, mai întâi permisiune.

Cum conectezi GitHub și cum publici un proiect online, citești la Vibe coden.

Mod offline

În modul offline, comenzile rulează întotdeauna în sandbox fără rețea. Instalările de pachete cu rețea și acțiunile online ale git-ului încorporat (descărcare, preluare, publicare și GitHub) nu funcționează atunci. Salvarea versiunilor și afișarea unei pagini web simple funcționează.

Setări pentru administratori​

Administratorii pot dezactiva comenzile locale sau executarea automată pentru toți din mediu. Fac asta în mediul de administrare, la Funcții (la nivel de mediu), în cartela Aplicație desktop:

  • Permite comenzile locale: dacă este dezactivată, asistentul nu poate executa comenzi. Nici acțiunile online ale git-ului încorporat nu funcționează atunci. Salvarea versiunilor și branch-urile continuă să funcționeze: ele modifică doar fișierele din folder, la fel ca uneltele de fișiere.
  • Permite executarea automată: dacă este dezactivată, fiecare comandă cere permisiune și nu poți activa Permite instalarea pachetelor fără a întreba.
  • Permite Python-ul aplicației pentru fișiere Office: pentru șabloane, grafice și analize. Acest Python funcționează fără internet, scrie doar în folderul de lucru și nu poate porni alte programe. Dacă nu este setat nimic, urmează Permite comenzile locale. Fără sandbox (Windows), este disponibil doar dacă comenzile locale sunt activate, iar de fiecare dată cere permisiune.