Przejdź do głównej treści

Bezpieczne uruchamianie lokalnych poleceń

W aplikacji desktopowej asystent może uruchamiać polecenia i testy w folderze roboczym Twojego czatu. O tym, jak działa to w czacie, przeczytasz w Dostępie do lokalnych plików. Na tej stronie ustawisz, kiedy może to robić bez pytania oraz jak odizolowane są uruchamiane polecenia.

Otwieranie ustawień poleceń​

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

Kiedy asystent może uruchomić polecenie?​

Wybierz jeden z trzech trybów:

  • Zawsze pytaj: zatwierdzasz każde polecenie.
  • Zaufane polecenia automatycznie: polecenia, które zapisałeś, uruchamiają się bez pytania. Inne nadal wymagają zgody.
  • 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 lub -delete), touch, pwd, tree oraz sprawdzanie wersji (--version, -v lub -V dla node, npm, npx, python, pip i aischool-python). Nie robią nic ponad to, co wbudowane narzędzia plikowe mogą już robić bez pytania. Działają w piaskownicy bez sieci i tylko z ścieżkami w obrębie folderu roboczego, także po podążeniu za linkami (bez ścieżek bezwzględnych, ~ ani ..). Jeśli link prowadzi poza folder, pokaże się karta. Wymaga to piaskownicy (macOS i Linux) oraz lokalnych poleceń, ale nie wymaga 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}, startuje bez karty: aplikacja rozbija ją na osobne ścieżki i sprawdza wszystkie.
  • Każda karta pokazuje dokładne polecenie, a przy akcjach online także dokładny adres. Poniżej mniejszym drukiem widnieje wyjaśnienie od asystenta.
  • Jeśli piaskownica jest dostępna i administrator zezwala na automatyczne uruchamianie, karta dla polecenia uruchamianego w piaskownicy ma też przycisk Zawsze uruchamiaj w piaskownicy w tym folderze. Ustawia on folder na Automatycznie w piaskownicy, więc kolejne polecenia startują bez karty. Polecenia wymagające sieci nadal pytają jeszcze raz, chyba że instalacje pakietów są dozwolone.
  • Pierwsza karta w folderze, które polecenie uruchamia w piaskownicy i nie wymaga sieci, pokazuje jednorazowo Zaufaj temu projektowi. Uruchamia to polecenie, ustawia folder na Automatycznie w piaskownicy i włącza Zezwalaj na instalacje 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 nadal potrzebują sieci lub działają poza piaskownicą, pozostają z pytaniem. Po Uruchom lub Odmów pytanie w tym folderze nie pojawia się ponownie; tryb zmienisz w ustawieniach poleceń. Jeśli automatyczne uruchamianie jest wyłączone, każda karta informuje, że robi to administrator albo polityka zarządzania tego komputera.

Zapisywanie zaufanych poleceń​

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

Zapisane reguły znajdziesz w ustawieniach poleceń pod Zawsze dozwolone w tym folderze. Możesz je tam też usunąć.

Piaskownica i sieć​

  • Używaj piaskownicy: polecenia mogą zapisywać tylko w tym folderze. Ta opcja jest domyślnie włączona na 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 Zezwalaj na sieć jest wyłączone, a asystent chce coś pobrać, na przykład przez npm install, karta polecenia zapyta, czy chcesz uruchomić dokładnie to polecenie z siecią. Nie musisz więc włączać sieci dla całego folderu.

Windows

Na Windows piaskownica nie jest jeszcze dostępna.

Instalowanie pakietów​

Aplikacja ma własny Node.js z npm. Polecenia takie jak node, npm i npx działają więc 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.

Zezwalanie 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 z nazwą uruchamiają się wtedy bez karty: npm install <nazwa> i npm install z package.json, pnpm, yarn lub bun z install albo add, oraz pip install <nazwa> (także przez uv). Zawsze działają w piaskownicy, z siecią. Inne polecenia podlegają trybowi wybranemu dla folderu.

Te instalacje nadal pokazują kartę:

  • startery projektów, takie jak npm create vite@latest i npx create-…, ponieważ 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) oraz jeśli administrator zezwala na automatyczne uruchamianie. W przeciwnym razie nie da się 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 tylko jako gotowe wheels.

Lokalne serwery i wbudowana przeglądarka​

Asystent może też uruchomić serwer deweloperski, który działa bez końca, 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 piaskownicy. Zamiast maksymalnego czasu działania na karcie widnieje informacja: „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 oraz przyciski Otwórz w przeglądarce i Zatrzymaj. Mogą działać maksymalnie 4 serwery jednocześnie. Serwery zatrzymują się, gdy je zatrzymasz lub zamkniesz aplikację.

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

Pokazywanie prostej strony internetowej​

Dla zwykłej strony internetowej (plik index.html z CSS i JavaScriptem, bez etapu budowania) nie jest potrzebne żadne polecenie. 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 zmieni się plik, strona automatycznie się przeładowuje.

Nie pojawia się tu karta zatwierdzenia. Serwer znajduje się w panelu Polecenia, z opcjami Otwórz w przeglądarce i Zatrzymaj, i liczy się do limitu 4 serwerów.

Wynik oglądasz we wbudowanej przeglądarce: przycisk Przeglądarka (ikona globusa) po prawej stronie górnego paska. Panel otwiera się obok czatu, z przyciskami wstecz, dalej, odśwież (zatrzymaj podczas ładowania), paskiem adresu oraz 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 w odpowiedzi link do localhost, 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-Public, witryny nie dostają uprawnień takich jak kamera lub mikrofon, a pobieranie nie działa.
  • 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 i licznikiem. Zainstaluj zależności, uruchom serwer deweloperski i pokaż wynik w przeglądarce.

Pozwalanie asystentowi na podgląd​

Jeśli poprosisz asystenta, by spojrzał na stronę w wbudowanej przeglądarce, odczyta on adres, tytuł, widoczny tekst, zrzut ekranu oraz 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 podejrzeć onedrive.live.com.” Kliknij Zezwól na podgląd albo Odmów. Zapyta za każdym razem.
  • Jeśli po Twojej zgodzie strona przejdzie do innej witryny, asystent niczego nie odczytuje.
  • Tylko na stronie na tym komputerze asystent sam klika i wpisuje, aby przetestować to, co stworzył. Na innych witrynach nie klika, nie wpisuje ani nie nawiguję. Nie otrzymuje plików cookie 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 Windows. 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 wyglądające 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ś pominie.
  • Akcje online (pobranie projektu, pobranie najnowszej wersji, publikacja i utworzenie 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 tworzone jest nowe publiczne repozytorium, karta wyświetla ostrzeżenie. Przy publikacji karta pokazuje, które pliki zostaną wysłane. Wybierz Uruchom albo Odmów.
  • Podłączenie repozytorium spoza github.com również najpierw wymaga zgody.

O tym, jak podłączyć GitHub i opublikować projekt, przeczytasz w Kodowaniu vibe.

Tryb offline

W trybie offline polecenia zawsze działają w piaskownicy bez sieci. Instalacje pakietów wymagające sieci oraz akcje online wbudowanego gita (pobieranie, aktualizacja, publikacja i GitHub) wtedy nie działają. Zapisywanie wersji i pokazywanie prostej strony internetowej działa.

Ustawienia dla administratorów​

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

  • Zezwalaj na lokalne polecenia: jeśli to wyłączone, asystent nie może uruchamiać poleceń. Akcje online wbudowanego gita też wtedy nie działają. Zapisywanie wersji i gałęzi nadal działa: 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 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 jest ustawione, obowiązuje to Zezwalaj na lokalne polecenia. Bez piaskownicy (Windows) jest dostępny tylko wtedy, gdy lokalne polecenia są włączone, i za każdym razem wymaga zgody.