Przejdź do głównej treści

Bezpieczne uruchamianie poleceń lokalnych

W aplikacji desktopowej asystent może uruchamiać polecenia i testy w folderze roboczym twojego czatu. Jak to działa w czacie, przeczytasz na stronie Dostęp do lokalnych plików. Na tej stronie ustawiasz, kiedy może to robić bez pytania i jak bardzo odizolowane są uruchamiane polecenia.

Otwieranie ustawień poleceń​

W czacie otwórz panel Polecenia i wybierz Ustawienia poleceń dla tego folderu. Ustawienia obowiązują dla każdego folderu osobno.

Kiedy asystent może uruchomić polecenie?​

Wybierz jeden z trzech trybów:

  • Zawsze pytaj: zatwierdzasz każde polecenie.
  • Zaufane polecenia automatycznie: zapisane przez ciebie polecenia uruchamiają się bez pytania. Inne polecenia nadal proszą o zgodę.
  • Automatycznie w piaskownicy: wszystko uruchamia się bez pytania, ale w odizolowanym środowisku.

W każdym trybie obowiązują też te zasady:

  • Nieszkodliwe polecenia uruchamiają się bez karty: mkdir, ls, cat, head, tail, wc, grep, find (bez -exec i -delete), touch, pwd, tree oraz sprawdzanie wersji (--version, -v lub -V dla node, npm, npx, python, pip i aischool-python). Nie robią nic więcej niż wbudowane narzędzia do plików, które i tak działają bez pytania. Działają w piaskownicy bez sieci i tylko ze ścieżkami wewnątrz folderu roboczego, także po podążeniu za dowiązaniami (bez ścieżek bezwzględnych, ~ ani ..). Jeśli dowiązanie wskazuje poza folder, pojawia się jednak karta. Wymaga to piaskownicy (macOS i Linux) oraz włączonych poleceń lokalnych, ale nie opcji Zezwalaj na automatyczne uruchamianie administratora. W panelu Polecenia widać wtedy Automatycznie (nieszkodliwe polecenie). Lista w nawiasach klamrowych, np. mkdir -p src/{components,utils}, też uruchamia się bez karty: aplikacja zamienia ją na osobne ścieżki i sprawdza każdą z nich.
  • Każda karta pokazuje dokładne polecenie, a przy działaniach online także dokładny adres. Pod spodem, mniejszym tekstem, widać wyjaśnienie asystenta.
  • Jeśli piaskownica jest dostępna, a administrator zezwala na automatyczne uruchamianie, karta polecenia działającego w piaskownicy ma też przycisk Od teraz automatycznie w piaskownicy w tym folderze. Przełącza on folder na tryb Automatycznie w piaskownicy, więc kolejne polecenia uruchamiają się bez karty. Polecenia, które potrzebują sieci, nadal pytają jeden raz, chyba że instalacja pakietów jest dozwolona.
  • Pierwsza karta w folderze, która działa w piaskownicy i nie prosi o sieć, jednorazowo pokazuje Zaufaj temu projektowi. Uruchamia polecenie, przełącza folder na Automatycznie w piaskownicy i włącza Zezwalaj na instalację pakietów bez pytania. Potem testy i buildy, takie jak npm test, npm run build i node --test, uruchamiają się bez karty, w piaskownicy bez sieci. Polecenia, które potrzebują sieci do czegoś innego lub działają poza piaskownicą, nadal pytają. Po Uruchom lub Odrzuć pytanie nie wraca w tym folderze; tryb zmienisz w ustawieniach poleceń. Jeśli automatyczne uruchamianie jest wyłączone, każda karta podaje, czy robi to administrator, czy zasady zarządzania tym komputerem.

Zapisywanie zaufanych poleceń​

Przy poleceniu wybierz Zawsze zezwalaj w tym folderze, a następnie Dokładnie to polecenie lub Wszystko, co zaczyna się od. Zapisane polecenia będą odtąd uruchamiane bez pytania. Polecenia ze znakami specjalnymi (takimi jak ; | > $) zawsze proszą o zgodę.

Zapisane reguły znajdziesz w ustawieniach poleceń w sekcji Zawsze dozwolone w tym folderze. Tam możesz też usuwać te reguły.

Piaskownica i sieć​

  • Używaj piaskownicy: polecenia mogą zapisywać tylko w tym folderze. Ta opcja jest domyślnie włączona w systemach macOS i Linux.
  • Zezwalaj na sieć: określa, czy polecenia mają dostęp do internetu. Ta opcja jest domyślnie wyłączona. Bez piaskownicy polecenia zawsze mają dostęp do sieci.

Każda karta polecenia pokazuje, czy piaskownica i sieć są włączone.

Jeśli opcja Zezwalaj na sieć jest wyłączona, a asystent chce coś pobrać, na przykład przez npm install, karta polecenia zapyta, czy chcesz uruchomić dokładnie to polecenie z dostępem do sieci. Nie musisz więc włączać sieci dla całego folderu.

Windows

W systemie Windows piaskownica nie jest jeszcze dostępna.

Instalowanie pakietów​

Aplikacja ma wbudowane własne środowisko Node.js z npm. Dzięki temu polecenia takie jak node, npm i npx działają nawet wtedy, gdy Node.js nie jest zainstalowany na twoim komputerze. Jeśli masz własną instalację Node.js, aplikacja korzysta z tej wersji. Wyjątek: projekt, który sam uruchamia Electron (electron .), wymaga Node.js zainstalowanego przez ciebie.

Zezwalaj na instalację pakietów bez pytania​

W Ustawienia poleceń dla tego folderu włącz przełącznik Zezwalaj na instalację pakietów bez pytania. Instalacje pakietów o podanej nazwie uruchamiają się wtedy bez karty: npm install <nazwa> i npm install na podstawie package.json, pnpm, yarn lub bun z install lub add oraz pip install <nazwa> (także przez uv). Zawsze działają w piaskownicy, z dostępem do sieci. Pozostałe polecenia działają zgodnie z trybem wybranym dla folderu.

Te instalacje nadal pokazują kartę:

  • startery projektów, takie jak npm create vite@latest i npx create-…, bo uruchamiają własny kod;
  • pip install ., pip install -r requirements.txt, instalacje z innego rejestru (--registry, -i, --index-url) oraz pakiety z adresu git, URL lub ścieżki.

Przełącznik działa tylko z piaskownicą (macOS i Linux) i wtedy, gdy administrator zezwala na automatyczne uruchamianie. W przeciwnym razie nie można go włączyć.

Bez skryptów instalacyjnych

Pakiety instalowane w ten sposób nigdy nie uruchamiają własnych skryptów instalacyjnych (npm działa z --ignore-scripts). Pakiety Pythona są instalowane tylko jako gotowe pliki wheel.

Lokalne serwery i wbudowana przeglądarka​

Asystent może też uruchomić serwer deweloperski, który działa dalej, na przykład npm run dev dla małego projektu React z Vite. Obowiązują te same zasady co dla innych poleceń: zatwierdzasz dokładne polecenie albo uruchamia się ono dzięki zapisanej regule lub automatycznie w piaskownicy. Zamiast maksymalnego czasu działania karta pokazuje "Działa jako lokalny serwer, dopóki go nie zatrzymasz."

Serwer działa dalej po odpowiedzi asystenta. W panelu Polecenia karta pokazuje status Serwer działa oraz przyciski Otwórz w przeglądarce i Zatrzymaj. Jednocześnie mogą działać maksymalnie 4 serwery. Serwery zatrzymują się, gdy je zatrzymasz lub zamkniesz aplikację.

W piaskownicy bez sieci serwer może nasłuchiwać tylko na tym komputerze (localhost). Jak asystent instaluje pakiety, przeczytasz w sekcji Instalowanie pakietów.

Wyświetlanie prostej strony internetowej​

Zwykła strona internetowa (plik index.html z CSS i JavaScriptem, bez etapu budowania) nie wymaga żadnego polecenia. Asystent korzysta wtedy z wbudowanego serwera WWW aplikacji:

  • Folder jest widoczny tylko na tym komputerze, pod adresem http://127.0.0.1 z losowym portem.
  • Ukryte pliki, takie jak .git i .env, nigdy nie są pokazywane.
  • Gdy plik się zmieni, strona automatycznie się przeładuje.

Nie pojawia się przy tym karta zatwierdzenia. Serwer jest widoczny w panelu Polecenia z przyciskami Otwórz w przeglądarce i Zatrzymaj i wlicza się do limitu 4 serwerów.

Wynik oglądasz we wbudowanej przeglądarce: przycisk Przeglądarka (ikona globu) po prawej stronie górnego paska. Panel otwiera się obok czatu i ma przyciski wstecz, dalej, odśwież (zatrzymaj podczas ładowania), pasek adresu oraz Otwórz w domyślnej przeglądarce.

  • Asystent sam otwiera przeglądarkę, aby pokazać wynik lokalnego serwera. Działa to tylko z adresami lokalnymi, takimi jak http://localhost:5173.
  • Jeśli klikniesz w odpowiedzi link localhost, otworzy się on we wbudowanej przeglądarce. Inne linki otwierają się w domyślnej przeglądarce.
  • Możesz też sam wpisać dowolny adres internetowy.
  • Przeglądarka ma własną, oddzielną sesję: nie jesteś w niej zalogowany do AI-Public, strony internetowe nie dostają uprawnień, takich jak kamera czy mikrofon, a pobieranie plików nie jest możliwe.
  • Gdy otwarte jest menu lub okno dialogowe aplikacji, strona jest tymczasowo ukryta.

Przykład:

Utwórz w tym folderze małą aplikację React z Vite z licznikiem. Zainstaluj zależności, uruchom serwer deweloperski i pokaż wynik w przeglądarce.

Podgląd strony przez asystenta​

Gdy poprosisz asystenta o obejrzenie strony we wbudowanej przeglądarce, odczyta adres, tytuł, widoczny tekst, zrzut ekranu i ostatnie komunikaty o błędach strony. Trafiają one do modelu AI.

  • Stronę na tym komputerze (localhost lub 127.0.0.1) asystent ogląda bez pytania.
  • Przy każdej innej witrynie, na przykład stronie, na której jesteś zalogowany, asystent najpierw pokazuje kartę: „Asystent chce obejrzeć onedrive.live.com.” Kliknij Zezwól na podgląd lub Odrzuć. Pyta za każdym razem.
  • Jeśli po twojej zgodzie strona przejdzie do innej witryny, asystent niczego nie odczyta.
  • Asystent sam klika i pisze tylko na stronie na tym komputerze, aby przetestować to, co zrobił. Na innych stronach internetowych nie klika, nie pisze i nie nawiguje. Nie dostaje plików cookie ani haseł.
  • W trybie offline asystent ogląda tylko strony na tym komputerze.

Wersje i GitHub​

Asystent ma wbudowanego gita. Nie musisz więc instalować gita, również w systemie Windows. Asystent może zapisywać wersje, pokazywać, co się zmieniło, tworzyć gałęzie i publikować projekt online.

  • Działania w tym folderze, takie jak zapisanie wersji, uruchamiają się bez pytania. Pliki, które wyglądają na sekrety (takie jak pliki .env, klucze lub tokeny w kodzie, także klucze API Google zaczynające się od AIza), nigdy nie trafiają do wersji. Asystent informuje, gdy coś pominie.
  • Działania online (pobranie projektu, pobranie najnowszej wersji, publikowanie online i tworzenie repozytorium GitHub) najpierw pokazują kartę z dokładnym adresem oraz etykietami Wbudowane w aplikację i Sieć wł.. Jeśli adres to nie github.com albo nowe repozytorium ma być publiczne, karta ostrzega. Przy publikowaniu online karta pokazuje, które pliki zostaną wysłane. Wybierz Uruchom lub Odrzuć.
  • Połączenie z repozytorium spoza github.com też najpierw wymaga zgody.

Jak połączyć GitHub i opublikować projekt online, przeczytasz na stronie Vibe coding.

Tryb offline

W trybie offline polecenia zawsze działają w piaskownicy bez sieci. Instalacja pakietów z siecią i działania online wbudowanego gita (pobieranie, aktualizowanie, wysyłanie i GitHub) wtedy nie działają. Zapisywanie wersji i wyświetlanie prostej strony internetowej nadal działają.

Ustawienia dla administratorów​

Administratorzy mogą wyłączyć polecenia lokalne lub automatyczne uruchamianie dla wszystkich w środowisku. Robią to w panelu administracyjnym w sekcji Funkcje (na poziomie środowiska), na karcie Aplikacja desktopowa:

  • Zezwalaj na polecenia lokalne: gdy ta opcja jest wyłączona, asystent nie może uruchamiać poleceń. Nie działają wtedy również działania online wbudowanego gita. Zapisywanie wersji i gałęzie nadal działają: zmieniają tylko pliki w folderze, tak jak narzędzia do plików.
  • Zezwalaj na automatyczne uruchamianie: gdy ta opcja jest wyłączona, każde polecenie prosi o zgodę i nie można włączyć Zezwalaj na instalację pakietów bez pytania.
  • Zezwalaj na Python aplikacji dla plików Office: do szablonów, wykresów i analiz. Ten Python działa bez internetu, zapisuje tylko w folderze roboczym i nie może uruchamiać innych programów. Jeśli nic nie ustawiono, działa zgodnie z ustawieniem Zezwalaj na polecenia lokalne. Bez piaskownicy (Windows) jest dostępny tylko wtedy, gdy polecenia lokalne są włączone, i za każdym razem prosi o zgodę.