Skip to main content

Zulassen und Verweigern der Verwendung von Tools

Steuern Sie, welche Tools Copilot CLI verwendet werden können, um unbeabsichtigte Änderungen zu vermeiden.

Einführung

          Copilot CLI verwendet eine Vielzahl von Tools zum Ausführen von Aufgaben für Sie. 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, erfordern Tools, die Ihr System ändern können, z. B. das Ausführen destruktiver Shellbefehle, das Bearbeiten von Dateien oder den Zugriff auf URLs, ihre explizite Genehmigung, bevor Copilot sie verwendet werden 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 Copilot CLI keine Berechtigung erteilt haben, werden Sie jedes Mal zur Berechtigung aufgefordert, wenn ein potentiell destruktives Handeln erforderlich ist. 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 erkunden, Änderungen vornehmen und Änderungen übernehmen, aber nicht das Internet erreichen, beliebige Subagenten ausführen oder auf den Git-Verlauf ü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 die 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. Sie sollten niemals einen Alias verwenden, um jedes Mal, wenn Sie Copilot CLI starten, eine dieser Optionen anzuwenden, da dies Copilot die Verwendung eines Tools ohne Ihre ausdrückliche Erlaubnis jedes Mal ermöglichen würde, wenn Sie die CLI verwenden, was zu unbeabsichtigten Folgen 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.

Mit der Verwendung /reset-allowed-tools werden die Berechtigungen auf die Standardeinstellung oder auf den Zustand zurückgesetzt, der von allen Befehlszeilenoptionen definiert wird, die Sie beim Starten Copilot CLIverwendet haben. Wenn Sie beispielsweise eine Copilot CLI interaktive Sitzung mit der Option --allow-tool='shell(git:*)'starten und dann weitere Berechtigungen während der Sitzung zulassen und verweigern, indem Sie auf Eingabeaufforderungen antworten, wenn Sie dann den /reset-allowed-tools Befehl verwenden, kehren die Berechtigungen der CLI in den ursprünglichen --allow-tool='shell(git:*)' Zustand zurück, ohne dass andere Berechtigungen zulässig oder verweigert wurden. Wenn Sie weiterhin in der Sitzung arbeiten, werden Sie erneut 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)