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 zur lokalen Sandkastenkonfiguration
Sie können den /sandbox Schrägstrichbefehl verwenden, um zusätzliche Pfade zu gewähren, den Netzwerkzugriff anzupassen oder sandkastenbasiertes Aktivieren oder Deaktivieren zu aktivieren oder zu deaktivieren.
Eine konzeptionelle Übersicht über Cloud- und lokale Sandboxes Copilotfinden Sie unter Informationen zu Cloud- und lokalen Sandboxes für GitHub Copilot.
Öffnen der Sandkastenkonfiguration
-
Starten Sie eine Copilot CLI Sitzung.
-
Geben Sie den
/sandboxSchrägstrichbefehl ein.Dadurch wird eine interaktive Konfigurationsschnittstelle mit vier Registerkarten geöffnet: Allgemein, Authentifizierung, Dateisystem und Netzwerk. Verwenden Sie TAB , um zwischen Registerkarten zu wechseln. Drücken Sie ESC , um Ihre Änderungen zu speichern und die Konfiguration zu schließen.
Konfigurieren allgemeiner Einstellungen
Auf der Registerkarte " Allgemein " wird das Verhalten der Sandbox auf oberster Ebene gesteuert. Wenn vom Unternehmen verwaltete Einstellungen einen Wert erzwingen, beschriftt das Dialogfeld die Einstellung als (managed) und verhindert, dass Sie ihn ändern.
| Setting | Description |
|---|---|
| Aktivieren von Sandkasten | Führen Sie Shellbefehle innerhalb der Sandbox aus. Sie können dies auch mit /sandbox enable und /sandbox disable umschalten. |
| Sandkastenumgehung zulassen | Lassen Sie die Modellanforderung anfordern, dass einzelne Befehle außerhalb der Sandbox ausgeführt werden, vorbehaltlich der Genehmigung. Standardmäßig aktiviert. Weitere Informationen finden Sie unter Zulassen der Sandkastenumgehung. |
| Sandkasten-MCP-Server | Führen Sie MCP-Server innerhalb der Sandbox aus. Standardmäßig aktiviert. |
| Sandkasten-LSP-Server | Führen Sie Sprachserver (LSP-Server) innerhalb der Sandbox aus. Standardmäßig aktiviert. |
Zulassen der Sandkastenumgehung
Die Einstellung "Sandkastenumgehung zulassen " steuert, was passiert, wenn Copilot ein Befehl nicht erfolgreich innerhalb der Sandbox ausgeführt werden kann.
- On (default): If a command fails inside the sandbox, you are prompted to allow Copilot to run the command outside the sandbox. Ihre Antwort auf diese Eingabeaufforderung gilt für diesen spezifischen Versuch, den Befehl auszuführen. Optional können Sie den Sandkasten für die restliche Sitzung deaktivieren (sofern von Ihrem Unternehmen zugelassen), oder Sie können stattdessen eine Anweisung Copilot für die Arbeit eingeben.
- Deaktiviert: Wenn Copilot ein Befehl nicht erfolgreich im Sandkasten ausgeführt werden kann, funktioniert er nicht mehr an der Aufgabe und meldet den Fehler.
Konfigurieren von Authentifizierungseinstellungen
Auf der Registerkarte "Authentifizierung " wird gesteuert, ob Ihre Anmeldeinformationen für Befehle verfügbar gemacht werden, die innerhalb der Sandbox ausgeführt werden. Wie auf den anderen Registerkarten wird ein unternehmensverwalteter Wert angezeigt und (managed) kann nicht geändert werden.
| Setting | Description |
|---|---|
| Git authentifizieren | Einfügen eines GitHub Tokens, sodass authentifizierte HTTPS git innerhalb der Sandbox ohne Anmeldeinformationshilfsprogramm funktioniert. Für Nicht-GitHub-Hosts werden stattdessen Ihre eigenen gespeicherten Anmeldeinformationen für Sandkastenbefehle git zur Verfügung gestellt. Standardmäßig aktiviert. |
| Authentifizieren gh | Exportieren Sie GH_TOKEN so, dass GitHub CLI (Hinweis: die gh CLI, nicht copilot) innerhalb der Sandbox funktioniert, ohne ihre gespeicherten Anmeldeinformationen (Konfigurationsverzeichnis oder Betriebssystemschlüsselbund) zu erreichen, die die Sandbox blockiert. Standardmäßig aktiviert. |
| Zulassen des Schlüsselbundzugriffs | Nur unter macOS verfügbar. Lassen Sie Sandkastenbefehle die macOS-Schlüsselkette verwenden, z. B. für den Zugriff auf Anmeldeinformationen, die von git und gh Anmeldeinformationshilfsern verwendet werden. Standardmäßig deaktiviert. |
Konfigurieren von Dateisystemeinstellungen
Auf der Registerkarte "Dateisystem " wird gesteuert, auf welche Verzeichnisse und Dateien der Sandkastenprozess zugreifen kann.
Standardmäßig Copilot wird Lese-/Schreibberechtigungen für alles im und unter dem aktuellen Arbeitsverzeichnis gewährt. Wenn Sie sich in einem Git-Repository befinden, Copilot wird auch Folgendes gewährt:
- Lese-/Schreibberechtigung für alles im Und unter dem Verzeichnis des Repositorys
.git. - Leseberechtigung für alles andere im Repository oberhalb des aktuellen Arbeitsverzeichnisses. Das Arbeitsverzeichnis selbst bleibt lese-/schreibzugriff, da die spezifischere Erteilung gewinnt, wo sich die beiden überlappen.
| Setting | Description |
|---|---|
| Arbeitsverzeichnis einschließen | Standardmäßig aktiviert. Das aktuelle Arbeitsverzeichnis (und das Verzeichnis des eingeschlossenen Repositorys .git , falls vorhanden) wird automatisch der Liste der Lese-/Schreibpfade hinzugefügt. Deaktivieren Sie diese Option, wenn dem Arbeitsverzeichnis automatisch Lese-/Schreibzugriff gewährt werden soll, und lassen Sie den Zugriff manuell auf bestimmte Pfade zu. |
| Zugriff auf Entwicklertools zulassen | Standardmäßig aktiviert. Gewährt Sandkastenbefehlen Lesezugriff auf Entwicklertoolkonfigurationen und -caches – einschließlich Paket-Manager-Registrierungen und der token, die sie speichern – und Lese-/Schreibzugriff auf freigegebene Buildcaches, sodass Installationen und Builds innerhalb der Sandbox funktionieren. Dies wird als Dev-Tool-Zugriff im /sandbox policy Bericht angezeigt. Deaktivieren Sie die Option, damit diese Speicherorte explizit erteilt werden müssen. |
Wichtig
Wenn Sie die Option "Arbeitsverzeichnis einschließen" deaktivieren, wird der Zugriff auf alles in und unterhalb des .git Verzeichnisses eines Git-Repositorys entfernt. Daher treten Git-Vorgänge wie status, add, commit, und diff schlagen fehl, es sei denn, Sie fügen manuell Zugriff für dieses Verzeichnis hinzu.
Hinzufügen von Dateisystempfadregeln
Sie können Pfade angeben, die Sie der Sandbox hinzufügen möchten. Auf diese Weise können Sie Schreibschutz oder Lese-/Schreibzugriff auf Verzeichnisse und Dateien außerhalb des Arbeitsverzeichnisses gewähren. Sie können auch den Zugriff verweigern, um Verzeichnisse und Dateien aus der Sandbox auszuschließen.
-
Drücken Sie auf der Registerkarte " Dateisystem " A , um eine neue Pfadregel hinzuzufügen.
-
Geben Sie eine Datei oder einen Verzeichnispfad ein. Verwenden Sie einen absoluten Pfad,
/Users/octocat/projects/appz. B. unter macOS oder Linux oderC:\Users\octocat\projects\appauf Windows. Betätigen Sie anschließend die Eingabetaste.Hinweis
Das Hinzufügen eines Verzeichnisses enthält die gesamte Unterstruktur. Wildcards werden nicht unterstützt.
-
Verwenden Sie die NACH-LINKS- und NACH-RECHTS-TASTE auf der Tastatur, um zwischen den Berechtigungsoptionen zu navigieren: Lese-/Schreibzugriff, Schreibgeschützt, verweigert. Drücken Sie dann die EINGABETASTE , um eine Option auszuwählen.
Nachdem Sie Dateisystempfade hinzugefügt haben, können Sie sie bearbeiten oder löschen.
- Verwenden Sie die NACH-OBEN- und NACH-UNTEN-TASTE, um einen Pfad auszuwählen.
- Drücken Sie die EINGABETASTE , um den Pfad zu bearbeiten, oder D , um ihn zu löschen.
Konfigurieren von Netzwerkeinstellungen
Auf der Registerkarte "Netzwerk " wird gesteuert, ob Sandkastenprozesse Netzwerkverbindungen herstellen können.
| Setting | Description |
|---|---|
| Ausgehende Verbindungen zulassen | Standardmäßig aktiviert. Wenn diese Option aktiviert ist, kann der Sandkastenprozess externe Hosts im Internet erreichen. Deaktivieren Sie diese Option, um den Sandkasten vollständig vom Netzwerk zu isolieren. |
| Lokales Netzwerk zulassen | Standardmäßig aktiviert. Wenn diese Option aktiviert ist, kann der Sandbox-Prozess Hosts in Ihrem lokalen Netzwerk erreichen (zum Beispiel localhost oder andere Geräte in Ihrem LAN). Deaktivieren Sie diese Option, um zu verhindern, dass der Sandkasten lokale oder private Netzwerkdienste erreicht. |
| HTTP-Proxy | Leiten Sie den ausgehenden Datenverkehr des Sandkastens über einen HTTP-Proxy weiter. Siehe Routingdatenverkehr über einen HTTP-Proxy. |
Routing des Datenverkehrs über einen HTTP-Proxy
Wählen Sie auf der Registerkarte "Netzwerk" DEN HTTP-Proxy aus, um den ausgehenden Datenverkehr des Sandkastens über einen Proxyserver zu senden. Geben Sie die Proxy-URL und optional einen Benutzernamen und ein Kennwort ein. Um den Proxy zu entfernen, löschen Sie die URL.
Beachten Sie Folgendes:
- Der Proxy gilt nur, wenn ausgehende Verbindungen zulassen aktiviert sind. Wenn Sie ausgehende Verbindungen deaktivieren, wird der Proxy in Ihren Einstellungen beibehalten, bleibt aber inaktiv.
- Das Kennwort wird sicher im Anmeldeinformationsspeicher Ihres Betriebssystems gespeichert. Sie können auch einen
${VAR}Umgebungsvariablenverweis anstelle eines Literalkennworts eingeben. - Unter Linux und macOS ist der Proxy kooperativ: Er wird über Standardproxyumgebungsvariablen angewendet und hängt von jedem Tool ab, das sie berücksichtigt. Bei Windows erzwingt der Sandkasten den Proxy.
- Ihre Organisation kann die Proxy-URL über verwaltete Einstellungen erzwingen. Wenn dies der Fall ist, wird die URL als
(managed)angezeigt, Aber Sie können weiterhin Ihre eigenen Anmeldeinformationen angeben, die in Ihren Benutzereinstellungen gespeichert sind.
Schnelles Aktivieren und Deaktivieren der Sandbox
Sie können den Sandkasten ein- oder ausschalten, ohne die vollständige Konfigurationsschnittstelle zu öffnen:
- Enable: Geben Sie
/sandbox enablein der Copilot CLI-Sitzung ein. - Deaktivieren: Geben Sie
/sandbox disablein die Copilot CLI-Sitzung ein.
Diese Befehle ändern die Einstellung "Sandkasten aktivieren " auf der Registerkarte " Allgemein ".
Anzeigen ihrer aktuellen Sandkasteneinstellungen
Einstellungen werden unter dem settings.json Schlüssel in Ihrem sandbox Konfigurationsverzeichnis gespeichertCopilot CLI. Weitere Informationen zum Konfigurationsverzeichnis finden Sie unter GitHub Copilot CLI-Konfigurationsverzeichnis.
Sie können Ihre aktuellen Sandkasteneinstellungen innerhalb einer Copilot CLI Sitzung anzeigen.
- Geben Sie
/settingsein. - Drücken Sie / , um nach Einstellungen zu suchen.
- Geben Sie den Typ
sandboxein, um die Liste der Einstellungen zu filtern.
In den obigen Schritten werden Ihre gespeicherten Einstellungen angezeigt. Wenn Sie die effektive Dateisystemrichtlinie anzeigen möchten– die Pfade mit Lese-/Schreibzugriff, schreibgeschützt und verweigert, die sich ergeben, sobald Ihre Einstellungen, die automatischen Zuschüsse und alle verwalteten Richtlinien kombiniert werden , geben Sie die Eingabetaste /sandbox policyein. Weitere Informationen findest du unter Grundlegendes zu Dateisystemrichtlinien für lokale Sandboxing in GitHub Copilot CLI.