Zum Hauptinhalt springen

Lokale Befehle sicher ausführen

In der Desktop-Anwendung kann der Assistent Befehle und Tests im Arbeitsordner deines Chats ausführen. Wie das im Chat funktioniert, liest du unter Lokalen Dateizugriff. Auf dieser Seite legst du fest, wann das ohne Nachfragen erlaubt ist und wie stark Befehle abgeschirmt ausgeführt werden.

Befehls-Einstellungen öffnen​

Öffne in einem Chat das Panel Befehle und wähle Befehls-Einstellungen für diesen Ordner. Die Einstellungen gelten pro Ordner.

Wann darf der Assistent einen Befehl ausführen?​

Wähle einen dieser drei Modi:

  • Immer fragen: Du genehmigst jeden Befehl.
  • Vertrauenswürdige Befehle automatisch: Befehle, die du gespeichert hast, starten ohne Nachfragen. Andere Befehle fragen weiterhin um Zustimmung.
  • Automatisch in der Sandbox: Alles startet ohne Nachfragen, aber in einer abgeschirmten Umgebung.

In jedem Modus gelten außerdem diese Regeln:

  • Unschädliche Befehle starten ohne Karte: mkdir, ls, cat, head, tail, wc, grep, find (ohne -exec oder -delete), touch, pwd, tree und Versionsprüfungen (--version, -v oder -V von node, npm, npx, python, pip und aischool-python). Sie tun nicht mehr, als die eingebauten Dateitools ohnehin ohne Nachfrage tun. Sie laufen in der Sandbox ohne Netzwerk und nur mit Pfaden innerhalb des Arbeitsordners, auch nach dem Folgen von Links (keine absoluten Pfade, ~ oder ..). Verweist ein Link nach außerhalb des Ordners, erscheint dennoch eine Karte. Dafür sind eine Sandbox (macOS und Linux) und lokale Befehle nötig, aber nicht Automatisches Ausführen erlauben von deinem Administrator. Im Panel Befehle steht dann Automatisch (unschädlicher Befehl). Auch eine Liste in geschweiften Klammern, wie mkdir -p src/{components,utils}, startet ohne Karte: Die App macht daraus einzelne Pfade und prüft sie alle.
  • Jede Karte zeigt den exakten Befehl und, bei Online-Aktionen, die exakte Adresse. Darunter steht kleiner die Erklärung des Assistenten.
  • Ist die Sandbox verfügbar und erlaubt dein Administrator automatisches Ausführen, dann hat eine Karte für einen Befehl, der in der Sandbox läuft, auch die Schaltfläche Ab jetzt automatisch in der Sandbox in diesem Ordner. Diese setzt den Ordner auf Automatisch in der Sandbox, sodass künftige Befehle ohne Karte starten. Befehle, die Netzwerk benötigen, fragen noch einmal, außer Paketinstallationen sind erlaubt.
  • Die erste Karte in einem Ordner, die in der Sandbox läuft und kein Netzwerk anfordert, zeigt einmalig Diesem Projekt vertrauen. Diese führt den Befehl aus, setzt den Ordner auf Automatisch in der Sandbox und aktiviert Paketinstallationen ohne Nachfragen erlauben. Danach starten Tests und Builds wie npm test, npm run build und node --test ohne Karte, in der Sandbox ohne Netzwerk. Befehle, die weiterhin Netzwerk benötigen oder außerhalb der Sandbox laufen, fragen weiterhin. Nach Ausführen oder Ablehnen kommt die Frage in diesem Ordner nicht erneut; den Modus änderst du in den Befehls-Einstellungen. Ist automatisches Ausführen ausgeschaltet, dann meldet jede Karte, ob dein Administrator oder die Richtlinie dieses Computers das vorgibt.

Vertrauenswürdige Befehle speichern​

Wähle bei einem Befehl Immer in diesem Ordner erlauben und danach Genau diesen Befehl oder Alles, was damit beginnt. Gespeicherte Befehle starten anschließend ohne Rückfragen. Befehle mit Sonderzeichen (wie ; | > $) fragen immer um Zustimmung.

Die gespeicherten Regeln stehen in den Befehls-Einstellungen unter Immer in diesem Ordner erlaubt. Dort kannst du sie auch wieder entfernen.

Sandbox und Netzwerk​

  • Sandbox verwenden: Befehle können nur in diesen Ordner schreiben. Diese Option ist auf macOS und Linux standardmäßig aktiviert.
  • Netzwerk erlauben: Legt fest, ob Befehle Internetzugang haben. Diese Option ist standardmäßig deaktiviert. Ohne Sandbox haben Befehle immer Netzwerkzugang.

Jede Befehlskarte zeigt, ob Sandbox und Netzwerk aktiviert sind.

Ist Netzwerk erlauben ausgeschaltet und der Assistent möchte etwas herunterladen, zum Beispiel mit npm install, dann fragt die Befehlskarte, ob du genau diesen Befehl mit Netzwerk ausführen möchtest. Du musst das Netzwerk also nicht für den ganzen Ordner aktivieren.

Windows

Auf Windows ist noch keine Sandbox verfügbar.

Pakete installieren​

Die App bringt ein eigenes Node.js mit npm mit. Befehle wie node, npm und npx funktionieren daher auch dann, wenn Node.js nicht auf deinem Computer installiert ist. Hast du Node.js selbst installiert, verwendet die App diese Version. Ausnahme: Ein Projekt, das selbst Electron startet (electron .), benötigt ein Node.js, das du selbst installiert hast.

Paketinstallationen ohne Nachfragen erlauben​

Aktiviere in Befehls-Einstellungen für diesen Ordner den Schalter Paketinstallationen ohne Nachfragen erlauben. Installationen von Paketen mit einem Namen starten dann ohne Karte: npm install <name> und npm install aus package.json, pnpm, yarn oder bun mit install oder add, sowie pip install <name> (auch über uv). Sie laufen immer in der Sandbox, mit Netzwerk. Andere Befehle folgen dem Modus, den du für den Ordner gewählt hast.

Diese Installationen zeigen trotzdem noch eine Karte:

  • Projektstarter wie npm create vite@latest und npx create-…, weil sie eigenen Code ausführen;
  • pip install ., pip install -r requirements.txt, Installationen aus einer anderen Registry (--registry, -i, --index-url) und Pakete von einer git-Adresse, URL oder einem Pfad.

Der Schalter funktioniert nur mit einer Sandbox (macOS und Linux) und wenn dein Administrator automatisches Ausführen erlaubt. Andernfalls kannst du ihn nicht aktivieren.

Keine Installationsskripts

Pakete, die so installiert werden, führen niemals ihre eigenen Installationsskripte aus (npm läuft mit --ignore-scripts). Python-Pakete werden nur als fertige Wheels installiert.

Lokale Server und der eingebaute Browser​

Der Assistent kann auch einen Entwicklungsserver starten, der weiterläuft, etwa npm run dev für ein kleines React-Projekt mit Vite. Dafür gelten dieselben Regeln wie für andere Befehle: Du genehmigst den exakten Befehl, oder er startet über eine gespeicherte Regel oder automatisch in der Sandbox. Statt der maximalen Laufzeit steht auf der Karte: „Bleibt als lokaler Server laufen, bis du ihn stoppst.“

Der Server läuft weiter, nachdem der Assistent geantwortet hat. Im Panel Befehle zeigt die Karte den Status Server läuft, mit den Schaltflächen Im Browser öffnen und Stoppen. Es können maximal 4 Server gleichzeitig laufen. Server stoppen, wenn du sie stoppst oder die App schließt.

In der Sandbox ohne Netzwerk darf ein Server nur auf diesem Computer lauschen (localhost). Wie der Assistent Pakete installiert, liest du unter Pakete installieren.

Eine einfache Webseite anzeigen​

Für eine normale Webseite (eine index.html mit CSS und JavaScript, ohne Build-Schritt) ist kein Befehl nötig. Der Assistent verwendet dann den eingebauten Webserver der App:

  • Der Ordner ist nur auf diesem Computer sichtbar, unter http://127.0.0.1 mit einem zufälligen Port.
  • Versteckte Dateien wie .git und .env werden nie angezeigt.
  • Wenn sich eine Datei ändert, lädt die Seite automatisch neu.

Dafür erscheint keine Bestätigungskarte. Der Server steht im Panel Befehle, mit Im Browser öffnen und Stoppen, und zählt zum Maximum von 4 Servern mit.

Das Ergebnis betrachtest du im eingebauten Browser: die Schaltfläche Browser (das Globus-Symbol) rechts in der oberen Leiste. Das Panel öffnet sich neben dem Chat, mit Zurück, Vorwärts, Neu laden (Stoppen beim Laden), einer Adressleiste und In deinem Standardbrowser öffnen.

  • Der Assistent öffnet den Browser selbst, um das Ergebnis eines lokalen Servers zu zeigen. Das geht nur mit lokalen Adressen, etwa http://localhost:5173.
  • Klickst du in einer Antwort auf einen localhost-Link, öffnet er sich im eingebauten Browser. Andere Links öffnen sich in deinem Standardbrowser.
  • Du kannst auch selbst jede Webadresse eingeben.
  • Der Browser hat eine eigene, separate Sitzung: Du bist dort nicht bei AI-Public angemeldet, Websites erhalten keine Berechtigungen wie Kamera oder Mikrofon und Herunterladen ist nicht möglich.
  • Solange ein Menü oder Dialogfenster der App offen ist, wird die Seite vorübergehend ausgeblendet.

Beispiel:

Erstelle in diesem Ordner eine kleine React-App mit Vite und einem Zähler. Installiere die Abhängigkeiten, starte den Dev-Server und zeige das Ergebnis im Browser.

Den Assistenten mitsehen lassen​

Wenn du den Assistenten bittest, sich die Seite im eingebauten Browser anzusehen, liest er die Adresse, den Titel, den sichtbaren Text, einen Screenshot und die letzten Fehlermeldungen der Seite. Diese gehen an das KI-Modell.

  • Eine Seite auf diesem Computer (localhost oder 127.0.0.1) betrachtet der Assistent ohne Nachfrage.
  • Bei jeder anderen Website, etwa einer Seite, auf der du angemeldet bist, zeigt der Assistent zuerst eine Karte: „Der Assistent möchte sich onedrive.live.com ansehen.“ Klicke auf Mitsehen erlauben oder auf Ablehnen. Das fragt er jedes Mal erneut.
  • Wechselt die Seite nach deiner Zustimmung zu einer anderen Website, liest der Assistent nichts.
  • Nur auf einer Seite auf diesem Computer klickt und tippt der Assistent selbst, um zu testen, was er erstellt hat. Auf anderen Websites klickt, tippt und navigiert er nicht. Er erhält keine Cookies oder Passwörter.
  • Im Offline-Modus betrachtet der Assistent nur Seiten auf diesem Computer.

Versionen und GitHub​

Der Assistent hat ein eingebautes git. Du musst git also nicht installieren, auch nicht unter Windows. Der Assistent kann Versionen speichern, zeigen, was sich geändert hat, Branches erstellen und ein Projekt online stellen.

  • Aktionen in diesem Ordner, etwa eine Version speichern, starten ohne Nachfrage. Dateien, die wie Geheimnisse aussehen (etwa .env-Dateien, Schlüssel oder Tokens im Code, auch Google-API-Schlüssel, die mit AIza beginnen), kommen nie in eine Version. Der Assistent meldet, wenn er etwas überspringt.
  • Online-Aktionen (ein Projekt herunterladen, die neueste Version abrufen, online stellen und ein GitHub-Repository erstellen) zeigen zuerst eine Karte mit der exakten Adresse und den Labels In die App eingebaut und Netzwerk an. Ist die Adresse nicht github.com oder wird ein neues Repository öffentlich, warnt die Karte. Beim Online-Stellen zeigt die Karte, welche Dateien gesendet werden. Wähle Ausführen oder Ablehnen.
  • Ein Repository außerhalb von github.com zu verbinden, fragt ebenfalls zuerst um Zustimmung.

Wie du GitHub verbindest und ein Projekt online stellst, liest du unter Vibe coden.

Offline-Modus

Im Offline-Modus laufen Befehle immer in der Sandbox ohne Netzwerk. Paketinstallationen mit Netzwerk und die Online-Aktionen des eingebauten git (herunterladen, abrufen, online stellen und GitHub) funktionieren dann nicht. Versionen speichern und eine einfache Webseite anzeigen funktionieren aber.

Einstellungen für Administratoren​

Administratoren können lokale Befehle oder automatisches Ausführen für alle in der Umgebung deaktivieren. Das tun sie in der Verwaltungsumgebung unter Funktionen (auf Ebene der Umgebung), in der Karte Desktop-App:

  • Lokale Befehle erlauben: Ist das ausgeschaltet, kann der Assistent keine Befehle ausführen. Auch die Online-Aktionen des eingebauten git funktionieren dann nicht. Versionen speichern und Branches bleiben trotzdem möglich: Sie ändern nur Dateien im Ordner, genau wie die Dateitools.
  • Automatisches Ausführen erlauben: Ist das ausgeschaltet, fragt jeder Befehl um Zustimmung und du kannst Paketinstallationen ohne Nachfragen erlauben nicht aktivieren.
  • Python der App für Office-Dateien erlauben: Für Vorlagen, Diagramme und Analysen. Dieses Python arbeitet ohne Internet, schreibt nur in den Arbeitsordner und kann keine anderen Programme starten. Ist nichts eingestellt, folgt dies Lokale Befehle erlauben. Ohne Sandbox (Windows) ist es nur vorhanden, wenn lokale Befehle aktiviert sind, und fragt jedes Mal um Zustimmung.