Skip to main content

Verwenden einer lokalen Sandbox

Aktivieren Sie die lokale Sandbox-Ausführung, damit Copilot CLI die Befehle und Werkzeuge, die es in Ihrem Namen aufruft, in einer Betriebssystem-Sandbox ausführt.

Hinweis

Lokale Sandkasten sind GitHub Copilot in Öffentliche Vorschau und können geändert werden.

Wichtig

Für lokale Sandboxing auf Windows ist ein Windows Insider-Build erforderlich.

Informationen zum lokalen Sandkasten

Sandboxing ist derzeit eine experimentelle Funktion. Um sie zu verwenden, beginnen Sie Copilot CLI mit der ‑‑experimental Befehlszeilenoption, oder geben Sie /experimental on während einer Sitzung ein.

Wenn Sie lokales Sandboxing aktivieren, führt Copilot CLI die meisten Befehle und Tools, die es für Sie aufruft, in einer Betriebssystem-Sandbox aus. Nachdem Sie die lokale Sandbox aktiviert haben, wird sie für alle Ihre Copilot CLI-Sitzungen verwendet, bis Sie sie deaktivieren oder sie für eine bestimmte Sitzung ausschalten. Wenn von Unternehmen verwaltete Einstellungen Sandboxing erfordern, können die normale Konfiguration, die Befehlszeilenoption --no-sandbox und der Befehl /sandbox disable dies nicht deaktivieren. Wenn die effektive Richtlinie jedoch die Umgehung der Sandbox zulässt, können Sie die Sandbox-Isolierung für den Rest der aktuellen Sitzung über eine aktive Aufforderung für eine Umgehungsberechtigung explizit deaktivieren.

Standardmäßig können Sandkastenbefehle und -tools in Ihr aktuelles Arbeitsverzeichnis und temporäre Ordner schreiben. Ihr Benutzerprofilverzeichnis (Home) sowie System- und Toolspeicherorte sind schreibgeschützt. Andere Datenträgerspeicherorte werden blockiert. In einem Git-Repository ist der Rest des Repositorys über Ihrem aktuellen Arbeitsverzeichnis lesbar, aber nicht schreibbar. Der Zugriff auf Ihr lokales und privates Netzwerk ist zulässig, ebenso wie ausgehender Internetzugriff.

Standardmäßig funktionieren authentifizierte Git- und GitHub CLI-Vorgänge (gh) innerhalb der Sandbox weiterhin, da Copilot CLI Ihre GitHub Anmeldeinformationen für in der Sandbox ausgeführte Befehle zur Verfügung stellt. Dadurch können Aktionen wie git push und gh pr create erfolgreich ausgeführt werden. Sie können dies in Ihren Sandkasteneinstellungen deaktivieren.

Eine konzeptionelle Übersicht zum Sandboxing in Copilot CLI finden Sie unter Informationen zu Cloud- und lokalen Sandboxes für GitHub Copilot.

Sandbox-Befehle

Sie verwalten lokales Sandboxing in einer Copilot CLI-Sitzung mithilfe des /sandbox Slash-Befehls. Sie verfügt über die folgenden Unterbefehle.

BefehlBeschreibung
/sandbox statusGibt an, ob Sandboxing derzeit für die Sitzung verwendet wird. Siehe Überprüfen, ob Sandboxing verwendet wird.
/sandbox policyZeigen Sie die effektive Dateisystemrichtlinie für das aktuelle Verzeichnis an – die Pfade, die lesbar, schreibbar oder blockiert sind, und den in Kraft getretenen Netzwerkzugriff. Weitere Informationen findest du unter Grundlegendes zu Dateisystemrichtlinien für lokale Sandboxing in GitHub Copilot CLI.
/sandbox configÖffnen Sie die Interaktive Einstellungsschnittstelle. Die Eingabe von /sandbox allein bewirkt dasselbe. Weitere Informationen findest du unter Konfigurieren lokaler Sandkasteneinstellungen.
/sandbox enableAktivieren Sie lokales Sandboxing. Weitere Informationen finden Sie unter Aktivieren der lokalen Sandkastenumgebung.
/sandbox disableDeaktivieren Sie die lokale Sandbox. Wenn für unternehmensverwaltete Einstellungen Sandboxing erforderlich ist, wird dies abgelehnt. Weitere Informationen finden Sie unter "Deaktivieren der lokalen Sandboxing".

Lokale Sandbox aktivieren

Um die lokale Sandboxing zu aktivieren, geben Sie den folgenden Befehl in einer interaktiven Copilot CLI Sitzung ein:

Shell
/sandbox enable

Sandboxing kommt für die aktuelle Sitzung sofort zum Einsatz.

Nachdem Sie lokale Sandkastenfunktionen aktiviert haben, wird sie weiterhin für die aktuellen und zukünftigen interaktiven Sitzungen und für programmgesteuerte Sitzungen verwendet.

Hinweis

Wenn Sie /sandbox enable eingeben, während andere Sitzungen geöffnet sind, wird Sandboxing in diesen Sitzungen nicht sofort verwendet. Wenn Sie Sandboxing in einer bereits offenen Sitzung verwenden möchten, führen Sie in dieser Sitzung einen der folgenden Schritte aus:

  • Schließen Sie die Sitzung, und starten Sie sie neu, z. B. durch Ausführen copilot --continue.
  • Geben Sie /sandbox enable ein.

Lokale Sandbox deaktivieren

Wenn von Unternehmen verwaltete Einstellungen Sandboxing erfordern, wird /sandbox disable verweigert. Wenn die wirksame Richtlinie die Sandbox-Umgehung zulässt, können Sie stattdessen in einer aktiven Aufforderung für die Umgehungsberechtigung die Sandbox für den Rest der aktuellen Sitzung ausdrücklich deaktivieren.

Um die Verwendung des lokalen Sandkastens zu beenden, geben Sie den folgenden Befehl in einer interaktiven Copilot CLI Sitzung ein:

Shell
/sandbox disable

Sandboxing wird weder in der aktuellen Sitzung noch in neuen und neu gestarteten Sitzungen verwendet.

Ihre Wahl, ob lokale Sandboxing verwendet werden soll, wird als sandbox.enabled Einstellung in Ihrer persönlichen Einstellungsdatei für die CLI (~/.copilot/settings.json standardmäßig) gespeichert.

Verwenden von Sandkasten für eine einzelne Sitzung

Sie können die --sandbox Befehlszeilenoption verwenden, um Sandkasten für eine einzelne Sitzung zu verwenden, ohne Sandkasten für Ihre anderen Sitzungen zu aktivieren. Wenn die Sandkastenumgebung bereits aktiviert ist, können Sie sie für eine einzelne Sitzung mithilfe der --no-sandbox Option deaktivieren. Die --no-sandbox Option kann keine vom Unternehmen verwalteten Einstellungen außer Kraft setzen, die Sandboxing erfordern.

Sie können diese Optionen mit der -p Befehlszeilenoption kombinieren, um die Sandkastenanwendung für die programmgesteuerte Verwendung der CLI zu steuern. Beispiel:

Shell
copilot --sandbox -p "PROMPT"

Ausführen eines einzelnen Befehls außerhalb der Sandbox

Wenn ein Befehl weitergehenden Zugriff benötigt, als die Sandbox zulässt, kann Copilot anfordern, diesen einzelnen Befehl außerhalb der Sandbox auszuführen. Sie werden eine Bestätigungsaufforderung angezeigt, die den Befehl beschreibt. Sie können diesen einzelnen Befehl genehmigen, in der Sandbox ausführen oder die Sandbox für den Rest der aktuellen Sitzung deaktivieren. Die Deaktivierung der Sitzung ist nur verfügbar, während auf eine aktive Aufforderung zur Umgehung geantwortet wird, und nur, wenn die geltende Richtlinie die Umgehung der Sandbox zulässt.

Dieses Verhalten ist standardmäßig aktiviert und kann in Den Sandkasteneinstellungen deaktiviert werden.

Überprüfen, ob Sandkasten verwendet wird

Um zu überprüfen, ob lokale Sandboxing für die aktuelle Sitzung verwendet wird, geben Sie Folgendes ein:

Shell
/sandbox status

Copilot CLI meldet, ob die Sandkasten-Funktion für die Sitzung aktiviert ist. Wenn die von Ihrer Organisation verwalteten Einstellungen Sandboxing erfordern, wird auch im Status darauf hingewiesen. Da der Status widerspiegelt, was die Sitzung tatsächlich erzwingt, ist dies der zuverlässigste Weg, um zu überprüfen, ob die von Copilot ausgeführten Befehle in einer Sandbox ausgeführt werden.

Um nicht nur zu sehen, ob Sandboxing aktiviert ist, sondern auch, welche Pfade genau lesbar, schreibbar oder blockiert sind, geben Sie /sandbox policy ein. Weitere Informationen findest du unter Grundlegendes zu Dateisystemrichtlinien für lokale Sandboxing in GitHub Copilot CLI.

Sie können den Sandbox-Status auch auf einen Blick in der Statuszeile erkennen, die sandbox enabled enthält, wenn Sandboxing verwendet wird. Die Anzeige von Sandkasteninformationen in der Statuszeile ist standardmäßig aktiviert. Wenn sie deaktiviert wurde, können Sie sie wieder aktivieren:

  1. Geben Sie /statusline ein.
  2. Bewegen Sie die Auswahl in der Optionsliste nach unten bis zu sandbox.
  3. Drücken Sie die EINGABETASTE , um die Einstellung so umzuschalten, dass ein Häkchen angezeigt wird.

Weiterführende Lektüre