Skip to main content

Zulassen und Verweigern der Verwendung von Tools

Kontrollieren Sie, welche Tools Copilot CLI verwenden dürfen, um unbeabsichtigte Änderungen zu vermeiden.

Einführung

Copilot CLI verwendet eine Vielzahl von Werkzeugen, um Aufgaben für Sie zu erledigen. Sie kann Shellbefehle ausführen, Dateien lesen und schreiben, Ihre Codebasis durchsuchen, Webinhalte abrufen und Aufgaben an spezialisierte Unter-Agents delegieren.

Während schreibgeschützte Vorgänge wie Suchen, Lesen von Dateien und Ausführen schreibgeschützter Shellbefehle automatisch zulässig sind, sind Tools, die Ihr System ändern können, z. B. das Ausführen destruktiver Shellbefehle, das Bearbeiten von Dateien oder den Zugriff auf URLs, erfordern ihre explizite Genehmigung, bevor Copilot sie verwenden können. Dadurch wird die Verwendung der CLI vermieden, was zu Änderungen führt, die Sie nicht beabsichtigt haben, da ein Shellbefehl beispielsweise alles tun kann, was Ihr Benutzerkonto tun kann: Installieren von Paketen, Löschen von Dateien, Pushcode oder Senden von Netzwerkanforderungen.

Sie können Berechtigungen für Tools entweder beim Starten der CLI oder während der interaktiven Sitzung zulassen oder verweigern. Wenn Sie vor dem Starten einer Sitzung keine Berechtigung erteilt haben, fordert Copilot CLI Sie jedes Mal um Erlaubnis auf, wenn es eine potenziell destruktive Aktion ausführen muss. Sie können das Tool dieses Mal oder für den Rest der Sitzung zulassen.

Ebenen von Toolsteuerelementen

Es gibt zwei Steuerungsebenen, die Sie beim Angeben von Toolberechtigungen in Befehlszeilenoptionen verwenden können. Sie haben folgende Möglichkeiten:

  • Beschränken Sie die Auswahl der tools, die für das KI-Modell verfügbar sind.
  • Berechtigung für bestimmte Tools zulassen oder verweigern.

Einschränken der Auswahl der verfügbaren Tools für das KI-Modell

Die Optionen --available-tools und --excluded-tools beschränken die Menge der Werkzeuge, die dem KI-Modell bekannt sind, und dies beeinflusst die Auswahl des Modells bei der Bestimmung, wie es eine Aufgabe abschließen soll.

  •         `--available-tools` deaktiviert alle anderen Tools als die von Ihnen angegebenen Tools.
    
  •         `--excluded-tools` deaktiviert nur die angegebenen Tools.
    

Wenn Sie beide Optionen zusammen verwenden, wendet die CLI die in der Zulassungsliste angegebene --available-tools an und ignoriert die in der Sperrliste angegebene --excluded-tools.

Wenn sich ein Tool nicht im verfügbaren Satz befindet, kann das KI-Modell es überhaupt nicht verwenden, auch wenn Sie es mit der --allow-tool Option angeben. In einer interaktiven Sitzung, in der Sie keinen verfügbaren Toolsatz angeben, kann das KI-Modell versuchen, ein Tool zu verwenden, nur um verweigert zu werden. Die Optionen --available-tools und --excluded-tools verhindern, dass Sie auf diese Weise Interaktionen mit dem Modell verschwenden.

Exemplarischer Anwendungsfall

Sie beginnen eine CLI-Sitzung, um Benchmarking für Ihr Projekt durchzuführen und verhindern dass das KI-Modell überhaupt versucht, die Websuche zu verwenden.

copilot --excluded-tools='web_fetch, web_search'

Hinweis

Ausführliche Informationen zur Syntax für diese und andere in diesem Artikel erwähnte Befehlszeilenoptionen finden Sie unter GitHub Copilot CLI-Befehlsreferenz.

Zulassen oder Verweigern der Berechtigung für bestimmte Tools

Die --allow-tool Optionen --deny-tool erlauben oder verweigern die Berechtigung für bestimmte Tools oder Toolunterbefehle.

Der Wert für jede dieser Optionen ist eine durch Trennzeichen getrennte Liste von Tooltypen, die optional genaue Tools und Unterbefehlsmuster angeben können.

Wenn Sie ein Tool mit --allow-toolangeben, kann das KI-Modell auswählen, dass dieses Tool verwendet werden soll, ohne Sie zur Berechtigung aufzufordern. Wenn Sie ein Tool mit --deny-toolangeben, kann das KI-Modell dieses Tool überhaupt nicht verwenden, auch wenn es die beste Wahl für die Durchführung einer Aufgabe wäre.

Ablehnungsregeln haben immer Vorrang vor Erlaubnisregeln, auch wenn --allow-all festgelegt ist.

Beispiele

AuswahlAuswirkung
--allow-tool=shellAlle Shellbefehle zulassen.
--allow-tool='shell(git commit)'Lassen Sie den git commit Befehl zu.
--allow-tool='shell(git:*)' --deny-tool='shell(git push)'Zulassen Sie alle git Befehle außer git push.
--deny-tool=writeAlle Dateischreibvorgänge verweigern.
--allow-tool='read, write(.github/copilot-instructions.md)'Alle Lesevorgänge zulassen und Schreibvorgänge für eine bestimmte Datei zulassen.
--allow-tool='MyMCP(create_issue), MyMCP(delete_issue)'Erlauben Sie die create_issue- und delete_issue-Werkzeuge vom MyMCP MCP-Server.
--available-tools='bash,edit,view,grep,glob' --allow-tool='shell(git:*)' --deny-tool='shell(git push)'Kombinieren Sie beide Steuerungsebenen für eine eingeschränkte CLI-Sitzung. Copilot kann den Code untersuchen, Änderungen vornehmen und Änderungen festschreiben, aber nicht auf das Internet zugreifen, beliebige Subagenten ausführen oder in das Git-Repository übertragen.

Ausführliche Informationen zu den unterstützten Tooltypen finden Sie unter GitHub Copilot CLI-Befehlsreferenz.

Zulässige Optionen

Die folgenden Befehlszeilenoptionen erteilen Copilot CLI Berechtigung, alle verfügbaren Tools zu verwenden.

  •         `--allow-all-tools` — Vollzugriff auf die verfügbaren Tools.
    
  •         `--allow-all` oder `--yolo` — Entspricht der Nutzung aller Optionen `--allow-all-tools`, `--allow-all-paths` und `--allow-all-urls` beim Starten der CLI.
    

    Innerhalb einer interaktiven Sitzung können Sie die /allow-all Befehle oder /yolo Schrägstriche verwenden, um alle Tools zuzulassen, ohne die Sitzung neu starten zu müssen.

    Hinweis

    Es wird dringend empfohlen, diese Optionen nur in einer isolierten Umgebung zu verwenden. Verwenden Sie nie einen Alias, um jedes Mal, wenn Sie Copilot CLI starten, eine dieser Optionen anzuwenden. Andernfalls könnte Copilot jedes verfügbare Werkzeug ohne Ihre ausdrückliche Zustimmung nutzen, was zu ungewollten Konsequenzen führen könnte.

Zurücksetzen von Berechtigungen

Der /reset-allowed-tools Schrägstrichbefehl widerruft alle Berechtigungen, die Sie während der aktuellen interaktiven Sitzung erteilt haben. Dies gilt gleichermaßen für Berechtigungen, die Sie erteilt haben, indem Sie auf Eingabeaufforderungen reagiert haben, und die Verwendung von /allow-all oder /yolo Schrägstrich-Befehlen.

Durch die Verwendung von /reset-allowed-tools werden die Berechtigungen auf die Standardeinstellung oder auf den Zustand zurückgesetzt, der von beliebigen Befehlszeilenoptionen definiert wurde, die Sie beim Starten von Copilot CLI verwendet haben. Wenn Sie z. B. eine Copilot CLI interaktive Sitzung mit der Option --allow-tool='shell(git:*)' starten und dann weitere Berechtigungen zulassen und verweigern, indem Sie auf Eingabeaufforderungen antworten, verwenden Sie dann den /reset-allowed-tools Befehl, kehren die Berechtigungen der CLI in den ursprünglichen --allow-tool='shell(git:*)' Zustand zurück, ohne dass andere Berechtigungen erlaubt oder verweigert werden. Während Sie in der Sitzung weiterarbeiten, werden Sie erneut dazu aufgefordert, falls Copilot zusätzliche Berechtigungen benötigt.

Weiterführende Lektüre

  •         [AUTOTITLE](/copilot/how-tos/copilot-cli/cli-best-practices#configure-allowed-tools)
    
  •         [AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-command-reference)