Executarea sigură 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ă setezi 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 unul dintre aceste trei moduri:
- Întreabă mereu: 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 mod se aplică și aceste reguli:
- Comenzile inofensive pornesc fără cartelă:
mkdir,ls,cat,head,tail,wc,grep,find(fără-execsau-delete),touch,pwd,treeși verificările de versiune (--version,-vsau-Vpentrunode,npm,npx,python,pipșiaischool-python). Ele nu fac mai mult decât fac deja, fără întrebare, instrumentele de fișiere încorporate. Rulează în sandbox fără rețea și doar cu căi din interiorul folderului de lucru, chiar și după urmarea legăturilor (fără căi absolute,~sau..). Dacă o legătură indică în afara folderului, apare totuși o cartelă. Pentru asta sunt necesare un sandbox (macOS) și comenzi locale, dar nu Permite executarea automată din partea administratorului tău. În panoul Comenzi apare atunci Automat (comandă inofensivă). Și o listă între acolade, cum ar fimkdir -p src/{components,utils}, pornește fără cartelă: aplicația o descompune în căi separate și le verifică pe toate. - Fiecare cartelă arată comanda exactă și, în cazul acțiunilor online, adresa exactă. Dedesubt apare, mai mic, explicația asistentului.
- Dacă sandboxul 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 să pornească fără cartelă. Comenzile care au nevoie de rețea 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 instalările de pachete fără a întreba. După aceea, teste și builduri precum
npm test,npm run buildșinode --testpornesc fără cartelă, în sandbox fără rețea. Comenzile care mai au nevoie de rețea sau care rulează în afara sandboxului vor continua să ceară permisiune. După Execută sau Refuză, întrebarea nu mai apare în acest folder; modului i se schimbă din setările pentru comenzi. Dacă executarea automată este oprită, 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 mereu în acest folder și apoi Exact această comandă sau Tot ce începe cu aceasta. Comenzile salvate pornesc de acum fără întrebări. Comenzile cu caractere speciale (cum ar fi ; | > $) cer întotdeauna permisiune.
Regulile salvate se află în setările pentru comenzi, la Permis mereu în acest folder. De acolo le poți și șterge.
Sandbox și rețea
- Folosește sandboxul: comenzile pot scrie doar în acest folder. Această opțiune este activată implicit pe macOS.
- Permite rețeaua: stabilește dacă comenzile au internet. Această opțiune este dezactivată implicit. Fără sandbox, comenzile au întotdeauna acces la rețea.
Fiecare cartelă de comandă arată dacă sandboxul și rețeaua sunt activate.
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ă rulezi exact acea comandă cu rețea. Nu trebuie să activezi rețeaua pentru tot folderul.
Pe Windows, sandboxul nu este încă disponibil.
Instalarea pachetelor
Aplicația are un Node.js propriu cu npm inclus. Comenzi precum node, npm și npx funcționează astfel chiar 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 instalat de tine.
Permite instalările de pachete fără a întreba
În Setări de comenzi pentru acest folder, activează comutatorul Permite instalările de pachete fără a întreba. Instalările de pachete cu un nume pornesc apoi 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ă modul pe care l-ai ales pentru folder.
Aceste instalări tot afișează o cartelă:
- inițiatoare de proiecte precum
npm create vite@latestșinpx create-…, deoarece își execută propriul cod; pip install .,pip install -r requirements.txt, instalări din alt registry (--registry,-i,--index-url) și pachete de la o adresă git, URL sau cale.
Comutatorul funcționează doar cu un sandbox (macOS) și dacă administratorul tău permite executarea automată. Altfel, nu îl poți activa.
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 făcute.
Servere locale și browserul încorporat
Asistentul poate porni și un server de dezvoltare care rămâne activ, cum ar fi 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 locul duratei maxime, 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 Server 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 închizi aplicația.
În sandbox fără rețea, un server poate asculta doar pe acest computer (localhost). Cum instalează asistentul pachetele, 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ă pas 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.1cu un port aleatoriu. - Fișierele ascunse, precum
.gitși.env, nu sunt afișate niciodată. - Când 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, î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 afișa rezultatul unui server local. Asta este posibil doar cu adrese locale, precum
http://localhost:5173. - Dacă dai clic pe un link localhost într-un răspuns, acesta se deschide în browserul încorporat. Alte linkuri se deschid în browserul tău implicit.
- Poți introduce și tu orice adresă web.
- Browserul are o sesiune separată, proprie: acolo nu ești autentificat la AI-School, site-urile nu primesc permisiuni precum camera sau microfonul și nu se pot face descărcări.
- Atâta timp cât este deschis un meniu sau o fereastră de dialog a aplicației, 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.
Lasă asistentul să privească
Dacă îi ceri asistentului să se uite la pagina din browserul încorporat, acesta 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 (
localhostsau127.0.0.1) este vizualizată de asistent fără a întreba. - Pe orice alt site, de exemplu o pagină pe care ești autentificat, asistentul afișează mai întâi o cartelă: „Asistentul vrea să se uite pe onedrive.live.com.” Apasă pe Permite să privească sau pe Refuză. Cere asta de fiecare dată din nou.
- Dacă pagina trece la un alt site după ce ai dat permisiunea, asistentul nu citește nimic.
- Doar pe o pagină de pe acest computer, asistentul face clic și tastează singur, ca să testeze ce a creat. Pe alte site-uri nu face 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. Deci nu trebuie să instalezi git, nici măcar pe Windows. Asistentul poate salva versiuni, arăta ce s-a schimbat, crea ramuri și publica un proiect online.
- Acțiunile din acest folder, cum ar fi salvarea unei versiuni, pornesc fără a întreba. Fișierele care par secrete (cum ar fi fișiere
.env, chei sau tokenuri în cod, inclusiv chei Google API care încep cuAIza) nu ajung niciodată într-o versiune. Asistentul anunță dacă omite ceva. - Acțiunile online (descărcarea unui proiect, preluarea celei mai noi versiuni, publicarea și crearea unui depozit GitHub) afișează mai întâi o cartelă cu adresa exactă și etichetele Integrat în aplicație și Rețea activă. Dacă adresa nu este github.com sau dacă un depozit nou devine public, cartela avertizează. La publicare, cartela arată ce fișiere sunt trimise. Alege Execută sau Refuză.
- Conectarea unui depozit din afara github.com cere de asemenea permisiune mai întâi.
Cum conectezi GitHub și publici un proiect, citești la Cody vibe.
Î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 nivelul mediului), î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 vor funcționa. Salvarea versiunilor și ramurile continuă să funcționeze: acestea modifică doar fișierele din folder, la fel ca instrumentele de fișiere.
- Permite executarea automată: dacă este dezactivat, fiecare comandă cere permisiune și nu poți activa Permite instalările de pachete 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, acesta urmează Permite comenzile locale. Fără sandbox (Windows), este disponibil doar dacă comenzile locale sunt activate, iar de fiecare dată cere permisiune.