Przejdź do głównej treści

Bezpieczne uruchamianie lokalnych poleceń

W aplikacji desktopowej asystent może uruchamiać polecenia i testy w katalogu roboczym czatu. Jak to działa w czacie, przeczytasz w sekcji Dostęp do lokalnych plików. Na tej stronie ustawisz, kiedy może to robić bez pytania i jak 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 tych trzech trybów:

  • Zawsze pytaj: zatwierdzasz każde polecenie.
  • Zaufane polecenia automatycznie: zapisane przez Ciebie polecenia uruchamiają się bez pytania. Inne polecenia nadal wymagają zgody.
  • Automatycznie w sandboxie: 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 ani -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 plikowe, które już działają bez pytania. Działają w sandboxie bez sieci i tylko z ścieżkami w obrębie katalogu roboczego, także po podążeniu za linkami (bez ścieżek bezwzględnych, ~ ani ..). Jeśli link prowadzi poza folder, karta jednak się pojawi. Wymaga to sandboxa (macOS) oraz lokalnych poleceń, ale nie Zezwalaj na automatyczne uruchamianie od administratora. W panelu Polecenia widnieje wtedy Automatycznie (nieszkodliwe polecenie). Również lista w nawiasach klamrowych, np. mkdir -p src/{components,utils}, uruchamia się bez karty: aplikacja rozwija ją na osobne ścieżki i sprawdza wszystkie.
  • Każda karta pokazuje dokładne polecenie i, w przypadku działań online, dokładny adres. Poniżej znajduje się mniejszym drukiem wyjaśnienie asystenta.
  • Jeśli sandbox jest dostępny i administrator zezwala na automatyczne uruchamianie, karta dla polecenia uruchamianego w sandboxie ma też przycisk Od teraz automatycznie w sandboxie w tym folderze. Ustawia on folder na Automatycznie w sandboxie, więc kolejne polecenia uruchamiają się bez karty. Polecenia wymagające sieci nadal pytają jeszcze raz, chyba że instalacje pakietów są dozwolone.
  • Pierwsza karta w folderze, która uruchamia się w sandboxie i nie wymaga sieci, pokazuje jednorazowo Zaufaj temu projektowi. Uruchamia ona polecenie, ustawia folder na Automatycznie w sandboxie i włącza Zezwalaj na instalacje pakietów bez pytania. Od tego momentu testy i buildy, takie jak npm test, npm run build i node --test, uruchamiają się bez karty, w sandboxie bez sieci. Polecenia, które nadal wymagają sieci albo działają poza sandboxem, wciąż pytają. Po Uruchom lub Odrzuć pytanie w tym folderze nie wróci; tryb zmienisz w ustawieniach poleceń. Jeśli automatyczne uruchamianie jest wyłączone, każda karta informuje, że robi to administrator lub 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 tego. Zapisane polecenia będą się od teraz uruchamiać bez pytań. Polecenia ze znakami specjalnymi (takimi jak ; | > $) zawsze wymagają zgody.

Zapisane reguły znajdują się w ustawieniach poleceń pod Zawsze dozwolone w tym folderze. Tam możesz je też usunąć.

Sandbox i sieć​

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

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

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

Windows

Na Windowsie sandbox nie jest jeszcze dostępny.

Instalowanie pakietów​

Aplikacja ma własny 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 sam zainstalowałeś Node.js, aplikacja użyje tej wersji. Wyjątek: projekt, który sam uruchamia Electron (electron .), wymaga Node.js zainstalowanego przez Ciebie.

Zezwalaj na instalacje pakietów bez pytania​

W Ustawieniach poleceń dla tego folderu włącz przełącznik Zezwalaj na instalacje pakietów bez pytania. Instalacje pakietów po nazwie będą wtedy uruchamiać się bez karty: npm install <nazwa> oraz npm install z package.json, pnpm, yarn lub bun z install albo add, a także pip install <nazwa> (również przez uv). Zawsze działają w sandboxie, z siecią. Inne polecenia stosują tryb wybrany dla folderu.

Te instalacje nadal wyświetlają kartę:

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

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

Brak 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 wyłącznie jako gotowe wheel’e.

Lokalne serwery i wbudowana przeglądarka​

Asystent może też uruchomić serwer deweloperski, który działa stale, na przykład npm run dev dla małego projektu React z Vite. Obowiązują przy tym te same zasady co dla innych poleceń: zatwierdzasz dokładne polecenie albo uruchamia się ono przez zapisaną regułę lub automatycznie w sandboxie. Zamiast maksymalnego czasu działania na karcie widnieje tekst: „Pozostaje uruchomiony jako lokalny serwer, dopóki go nie zatrzymasz”.

Serwer pozostaje uruchomiony po odpowiedzi asystenta. W panelu Polecenia karta pokazuje status Serwer działa, z przyciskami Otwórz w przeglądarce i Zatrzymaj. Jednocześnie może działać maksymalnie 4 serwery. Serwery zatrzymują się, gdy je zatrzymasz lub zamkniesz aplikację.

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

Pokazywanie prostej strony internetowej​

Dla zwykłej strony internetowej (pliku index.html z CSS i JavaScript, bez etapu budowania) nie jest potrzebne żadne polecenie. Asystent używa wtedy wbudowanego serwera WWW aplikacji:

  • Folder jest widoczny tylko na tym komputerze, pod 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ę odświeża.

Nie pojawia się przy tym karta zgody. Serwer znajduje się 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, z przyciskami wstecz, dalej, odśwież (zatrzymaj podczas ładowania), paskiem adresu i opcją Otwórz w domyślnej przeglądarce.

  • Asystent sam otwiera przeglądarkę, aby pokazać wynik lokalnego serwera. Działa to tylko z lokalnymi adresami, takimi jak http://localhost:5173.
  • Jeśli klikniesz link localhost w odpowiedzi, otworzy się on we wbudowanej przeglądarce. Inne linki otwierają się w domyślnej przeglądarce.
  • Możesz też sam wpisać dowolny adres WWW.
  • Przeglądarka ma własną, oddzielną sesję: nie jesteś tam zalogowany do AI-School, witryny nie otrzymują uprawnień, takich jak kamera czy mikrofon, a pobieranie plików nie jest możliwe.
  • Dopóki 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.

Pozwól asystentowi podglądać​

Gdy poprosisz asystenta, by spojrzał na stronę w wbudowanej przeglądarce, odczyta adres, tytuł, widoczny tekst, zrzut ekranu i ostatnie komunikaty błędów 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 zajrzeć na onedrive.live.com.” Kliknij Zezwól na podgląd albo Odrzuć. Pyta za każdym razem.
  • Jeśli po Twojej zgodzie strona przejdzie na inną witrynę, asystent niczego nie odczyta.
  • Tylko na stronie na tym komputerze asystent sam klika i pisze, aby przetestować to, co stworzył. Na innych witrynach nie klika, nie pisze i nie nawiguję. Nie dostaje cookies ani haseł.
  • W trybie offline asystent ogląda tylko strony na tym komputerze.

Wersje i GitHub​

Asystent ma wbudowany git. Nie musisz więc instalować gita, nawet na Windowsie. Asystent może zapisywać wersje, pokazywać zmiany, tworzyć gałęzie i publikować projekt online.

  • Akcje 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 Google API zaczynające się od AIza), nigdy nie trafiają do wersji. Asystent zgłasza, jeśli coś pomija.
  • Akcje online (pobieranie projektu, pobieranie najnowszej wersji, publikowanie i tworzenie repozytorium GitHub) najpierw pokazują kartę z dokładnym adresem oraz etykietami Wbudowane w aplikację i Sieć włączona. Jeśli adres nie jest github.com albo nowa organizacja ma być publiczna, karta wyświetla ostrzeżenie. Przy publikowaniu karta pokazuje, jakie pliki zostaną wysłane. Wybierz Uruchom albo Odrzuć.
  • Połączenie repozytorium spoza github.com również wymaga najpierw zgody.

Jak połączyć GitHub i opublikować projekt, przeczytasz w sekcji Vibe coding.

Tryb offline

W trybie offline polecenia zawsze działają w sandboxie bez sieci. Instalacje pakietów wymagające sieci oraz działania online wbudowanego gita (pobieranie, aktualizowanie, publikowanie i GitHub) nie działają wtedy. Zapisywanie wersji i wyświetlanie prostej strony działają.

Ustawienia dla administratorów​

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

  • Zezwalaj na lokalne polecenia: jeśli to wyłączone, asystent nie może uruchamiać poleceń. Działania online wbudowanego gita też wtedy nie działają. Zapisywanie wersji i gałęzie nadal działają: zmieniają tylko pliki w folderze, tak jak narzędzia plikowe.
  • Zezwalaj na automatyczne uruchamianie: jeśli to wyłączone, każde polecenie wymaga zgody i nie można włączyć Zezwalaj na instalacje pakietów bez pytania.
  • Zezwalaj na Pythona aplikacji do plików Office: dla szablonów, wykresów i analiz. Ten Python działa bez internetu, zapisuje tylko w katalogu roboczym i nie może uruchamiać innych programów. Jeśli nic nie jest ustawione, obowiązuje to z Zezwalaj na lokalne polecenia. Bez sandboxa (Windows) jest dostępny tylko wtedy, gdy lokalne polecenia są włączone, i za każdym razem pyta o zgodę.