Skip to main content

Informationen zu Erweiterungen für GitHub Copilot-CLI

Mit Erweiterungen können Sie GitHub Copilot-CLI eigene Tools und Slash-Befehle hinzufügen – und zwar ausschließlich mit dem SDK, das mit der CLI ausgeliefert wird.

Wer kann dieses Feature verwenden?

GitHub Copilot-CLI ist mit allen Copilot Tarifen verfügbar. Wenn Sie Copilot von einer Organisation erhalten, muss die Copilot CLI-Richtlinie in den Einstellungen der Organisation aktiviert sein.

Hinweis

GitHub Copilot-CLI Erweiterungen sind derzeit ein experimentelles Feature und können geändert werden.

Mit einer Erweiterung können Sie Copilot CLI eigene Funktionen hinzufügen. Jede Erweiterung ist ein kleines Node.js Modul, das zusammen mit Ihrer interaktiven Sitzung als separater Prozess ausgeführt wird und eine Verbindung damit herstellt. Über diese Verbindung kann eine Erweiterung Folgendes hinzufügen:

  •           **Tools**, die Copilot bei der Arbeit für Sie aufrufen kann.
    
  • Slash-Befehle, die Sie selbst ausführen.

Da eine Erweiterung echten Code auf Ihrem Computer ausführt, können Sie funktionen hinzufügen, die die integrierten Tools nicht haben. Beispielsweise kann eine Erweiterung überwachen, was in einer Sitzung passiert, und eine laufende Summe über Toolaufrufe hinweg führen, die ein einmaliger Shellbefehl nicht ausführen kann.

In diesem Artikel wird erläutert, wie Erweiterungen funktionieren und wie Copilot CLI sie behandelt werden. Eine praktische Anleitung zum Erstellen eigener Erweiterungen finden Sie unter Erstellen von Erweiterungen für GitHub Copilot-CLI.

Warnung

Erweiterungen werden auf Ihrem Computer mit Ihren Berechtigungen ausgeführt. Laden Sie nur Erweiterungscode, dem Sie vertrauen, auf die gleiche Weise, wie Sie nur ein anderes Skript ausführen würden, das Sie selbst nicht geschrieben haben.

Wie Erweiterungen ermittelt werden

Wenn Copilot CLI startet, sucht es an mehreren Orten nach Erweiterungen. Jede Erweiterung befindet sich in einem eigenen Unterverzeichnis, und dieses Unterverzeichnis muss eine Einstiegsdatei mit dem Namen extension.mjs, extension.cjs oder extension.js enthalten. Dies sind alle JavaScript-Dateien: Die Copilot CLI Eingabedatei wird direkt mit Node.jsausgeführt, daher muss eine Erweiterung in JavaScript geschrieben werden. TypeScript und andere Sprachen werden derzeit nicht unterstützt.

Der Name des Unterverzeichnisses wird zum Namen der Erweiterung.

SourceOrtVerfügbarkeit
Projekt
.github/extensions/NAME/ im aktuellen RepositoryVerfügbar für alle Personen, die in diesem Repository arbeiten.
Benutzer~/.copilot/extensions/NAME/In all deinen CLI-Sitzungen, in jedem Verzeichnis verfügbar.
Plug-InEin installiertes Plug-InVerfügbar, wo das Plug-In aktiviert ist.

Auswählen, wo eine Erweiterung gespeichert ist

Wo Sie das Erweiterungsverzeichnis ablegen, bestimmt, wer es verwenden kann:

  • Fügen Sie sie in .github/extensions/ ein Repository ein, wenn die Erweiterung spezifisch für dieses Projekt ist und Sie sie für alle Personen freigeben möchten, die dort arbeiten.
  • Setzen Sie sie ein ~/.copilot/extensions/ , wenn die Erweiterung in allen Ihren eigenen Sitzungen verfügbar sein soll, unabhängig davon, in welchem Verzeichnis Sie die CLI starten.

Die beiden Speicherorte folgen genau der gleichen Struktur , einem benannten Unterverzeichnis, das eine extension.mjs Datei enthält, sodass Sie eine Erweiterung einfach von einer zur anderen verschieben können, indem Sie den Ordner neu verschieben.

Aktivieren von Erweiterungen

Erweiterungen sind derzeit ein experimentelles Feature, daher müssen Sie experimentelle Features aktivieren. Dazu können Sie eine der folgenden Aktionen ausführen:

  • Starten Sie die CLI mit der --experimental Kennzeichnung.
  • Führen Sie den /experimental on Slash-Befehl in einer interaktiven Sitzung aus.

Ändern der Behandlung von Erweiterungen durch die CLI

Sie können den Zugriff auf Erweiterungen einschränken Copilotoder sie vollständig deaktivieren, indem Sie den /extensions mode Befehl verwenden. Wenn Sie diesen Befehl verwenden, erhalten Sie drei Optionen:

  • Load & Augment (Standard) – die CLI führt Ihre Erweiterungen aus _und_Copilot kann sie verwalten.
  • Nur Laden—die CLI führt Ihre Erweiterungen aus, kann sie aber Copilot nicht verwalten.
  • Deaktiviert – Erweiterungen werden vollständig in der aktuellen Sitzung deaktiviert und bleiben in zukünftigen Sitzungen deaktiviert, bis Sie zu einer der anderen beiden Einstellungen wechseln. Andere aktuelle Sitzungen sind nicht betroffen.

Alle änderungen, die Sie vornehmen, werden sofort in der aktuellen Sitzung wirksam:

  • Durch den Wechsel zu "Disabled" werden alle derzeit ausgeführten Erweiterungen beendet. Ihre Prozesse werden heruntergefahren, und ihre Tools sind nicht mehr verfügbar.
  • Wenn Sie von "Deaktiviert" zu einer der anderen Einstellungen wechseln, werden Ihre Erweiterungen gestartet.
  • Der Wechsel zwischen Nur laden und Laden und erweitern ändert nur, ob Copilot Ihre Erweiterungen verwalten kann.

Was "Erweiterungen verwalten" bedeutet

Im Load & Augment-Modus wird Copilot eine kleine Auswahl zusätzlicher Werkzeuge zur Verfügung gestellt, mit denen es direkt im Erweiterungssystem arbeiten kann, um Ihre Anfragen auszuführen. Mit diesen Tools kann Copilot Folgendes tun:

  • Listet die erkannten Erweiterungen auf, und sehen Sie deren Status.
  • Überprüfen Sie eine Erweiterung, einschließlich der letzten Zeilen ihrer Protokolldatei, um die Diagnose einer Erweiterung zu erleichtern, die fehlgeschlagen ist oder sich fehlerhaft verhält.
  • Erstellen Sie ein Gerüst für eine neue Erweiterung– generieren Sie eine Startdatei extension.mjs , auf der Sie aufbauen können.
  • Erweiterungen neu laden, damit von ihnen (oder Ihnen) gerade geschriebener Code wirksam wird, ohne die Sitzung neu zu starten.

Das macht es möglich, Copilot zu bitten, eine Erweiterung für Sie zu erstellen. Copilot kann die Datei erstellen, den Code schreiben und neu laden, ohne die Sitzung verlassen zu müssen.

Wählen Sie Nur laden, wenn Sie eine bekannte, vertrauenswürdige Gruppe von Erweiterungen weiter ausführen lassen möchten, aber nicht möchten, dass Copilot Erweiterungscode erstellt, neu lädt oder anderweitig verändert, der auf Ihrem Computer ausgeführt wird, als Nebeneffekt seiner Arbeit. Ihre vorhandenen Erweiterungen werden weiterhin ausgeführt und Copilot können weiterhin die von ihnen bereitgestellten Tools aufrufen. Sie können die Erweiterungen einfach nicht selbst verwalten.

Erweiterungen im Vergleich zu Plug-Ins

Sowohl Erweiterungen als auch Plug-Ins fügen Funktionen hinzu Copilot CLI, aber sie dienen unterschiedlichen Zwecken:

  • Eine Erweiterung ist ein einzelnes JavaScript-Modul, das Sie schreiben, um Tools und Schrägstrichbefehle hinzuzufügen, die von Code unterstützt werden, der in Ihrer Sitzung ausgeführt wird.
  • Ein Plug-In ist ein installierbares Paket, das wiederverwendbare Komponenten wie Agents, Fähigkeiten, Hooks und Integrationen bündelt und über einen Marketplace verteilt werden kann.

Weitere Informationen zu Plug-Ins finden Sie unter Informationen zu GitHub Copilot Plug-Ins.

Weiterführende Lektüre