Note
GitHub Copilot Extensions befinden sich in der public preview und können noch geändert werden.
Informationen zu Copilot Extensions
Copilot Extensions sind Integrationen, die die Funktionalität von Copilot Chat erweitern, sodass Entwickler*innen externe Tools, Dienste und benutzerdefinierte Verhaltensweisen in die Chat-Erfahrung integrieren können. Sie können Copilot Extensions auf vielfältige Weise einsetzen, um die Funktionen von Copilot Chat zu erweitern, z. B.:
- Abfrage von Dokumentation: Eine Copilot Extension kann dem Copilot Chat erlauben, den Dokumentationsdienst eines Drittanbieters abzufragen, um Informationen zu einem bestimmten Thema zu finden.
- KI-gestützte Codierung: Eine Copilot Extension kann ein KI-Modell eines Drittanbieters verwenden, um Codevorschläge bereitzustellen.
- Datenabruf: Eine Copilot Extension kann dem Copilot Chat erlauben, den Datendienst eines Drittanbieters abzufragen, um Informationen zu einem bestimmten Thema abzurufen.
- Aktionsausführung: Eine Copilot Extension kann dem Copilot Chat erlauben, eine bestimmte Aktion auszuführen, z. B. das Posten in einem Message Board oder das Aktualisieren eines Nachverfolgungselements in einem externen System.
Informationen zum Erstellen von GitHub Copilot Extensions
GitHub Copilot Extensions sind ein Typ von Copilot Extension, der mit GitHub Apps erstellt wird. GitHub Copilot Extensions eignen sich am besten für Entwickler*innen, die plattformübergreifende Kompatibilität und App-Verwaltung und Unterstützung von GitHub wünschen.
Unterstützte Clients und IDEs
Clients und IDEs | GitHub Copilot Extensions Unterstützung |
---|---|
Visual Studio Code | |
Visual Studio | |
GitHub.com | |
GitHub Mobile | |
JetBrains-IDEs | |
GitHub Codespaces | |
Vim/Neovim | |
Copilot in the CLI | |
Xcode |
Informationen zur Sichtbarkeit von GitHub Copilot Extensions
GitHub Copilot Extensions können privat, öffentlich und teilbar oder öffentlich und auf dem GitHub Marketplace gelistet sein. Welche Sichtbarkeitsoption Sie auswählen, hängt von Ihrem Anwendungsfall und Ihrer Zielgruppe ab.
- Private Erweiterungen werden häufig von großen Firmen oder Unternehmen bevorzugt, die:
- Eine stärkere Anpassung und Kontrolle über den Datenzugriff wünschen
- Interne Dokumente und Datenbanken in großem Umfang integrieren müssen
- Strenge Sicherheitsrichtlinien haben, die das Autorisieren von Berechtigungen für Drittanbieter erschweren
- Öffentliche Erweiterungen eignen sich für:
- Open-Source-Projekte
- Gemeinsame Entwicklung und Nutzung in Organisationen innerhalb eines Unternehmens
- Freigeben des Tool und Einholen von Feedback vor der Veröffentlichung auf dem GitHub Marketplace
- GitHub Marketplace-Erweiterungen eignen sich ideal für Drittanbieter, die:
- Ihren Dienst einem breiteren Publikum anbieten möchten
- Ihr Tool in den Entwicklerworkflow in GitHub und der IDE integrieren möchten
- Das GitHub-Ökosystem nutzen möchten, um das Bewusstsein für ihr Produkt zu steigern
Informationen zu Skillsets und Agents
Mit Skillsets und Agents können die Funktionen und der Kontext von Copilot mithilfe der Copilot Extensibility Platform erweitert werden. Damit kannst du externe Dienste und APIs mit Copilot Chat integrieren. Jede Instanz hat verschiedene Anwendungsfälle und unterschiedliche Kontrollmöglichkeiten und Komplexitätsniveaus:
- Skillsets sind einfach, optimiert und für Entwickler erstellt, die Copilot zum Durchführen bestimmter Aufgaben mit geringem Setup benötigen, z. B. Abrufen von Daten oder einfache Vorgänge. Routing, das Erstellen von Prompts, das Auswerten von Funktionen und das Generieren von Antworten wird automatisch verarbeitet. Daher eignen sich Skillsets ideal für schnelle und einfache Integrationen. Weitere Informationen zu Skillsets findest du unter Informationen zu Copilot-Skillsets.
- Agents sind für komplexe Integrationen vorgesehen, die vollständige Kontrolle darüber erfordern, wie Anforderungen verarbeitet und Antworten generiert werden. So kannst du benutzerdefinierte Logik implementieren, mit anderen LLMs und/oder der Copilot-API integrieren, Unterhaltungskontext verwalten und dich um alle Aspekte der Benutzerinteraktion kümmern. Während Agents mehr Engineering und Wartung erfordern, bieten sie maximale Flexibilität für anspruchsvolle Workflows. Weitere Informationen zu Agents findest du unter Informationen über Copilot-Agents.
Informationen zur Kontextweitergabe
Note
Die Kontextweitergabe befindet sich in der public preview, und Änderungen sind vorbehalten.
Du kannst zulassen, dass deine Copilot Extension Kontext vom Editor erhält (z. B. die aktuell geöffnete Datei), indem du die Zugriffsebene Read-only für die Berechtigung „Copilot Editor Context“ in deinen GitHub App-Einstellungen aktivierst. Weitere Informationen finden Sie unter Erstellen einer GitHub-App für Ihre Copilot-Erweiterung.
Die GitHub Copilot Extensibility Platform verwaltet das Messaging automatisch, wenn impliziter und expliziter Kontext nicht verfügbar oder nicht autorisiert ist. Um die Kontextweitergabe zu aktivieren, musst du Berechtigungen von Benutzern anfordern. Befolge beim Anfordern von Berechtigungen die folgenden Best Practices:
- Kommuniziere klar, welchen Kontext du benötigst und wofür du ihn benötigst.
- Implementiere die entsprechende Fehlerbehandlung für nicht verfügbaren Kontext, die deine eigene Anwendungslogik und API aufruft.
- Falls kein Kontext verfügbar ist, stelle nach Möglichkeit Informationen ohne diese Daten bereit.
- Fordere nur die mindestens erforderlichen Berechtigungen für deine Erweiterung an.
Bei der Kontextweitergabe werden Inhaltsausschlüsse, Dateien mit der Endung .env
sowie Dateien berücksichtigt, die in den Inhaltsausschlusseinstellungen aufgeführt sind.
Ressourcen für die Erstellung von GitHub Copilot Extensions
GitHub verfügt über ein umfassendes Toolkit für Erweiterungsentwickler mit Codebeispielen, einem CLI-Debuggingtool, Schnellstart-SDKs und einem Benutzerfeedback-Repository. Weitere Informationen finden Sie in der Organisation der Copilot-Erweiterungen auf GitHub.
Bevor Sie ihre eigene GitHub Copilot Extension von Grund auf neu erstellen, möchten Sie vielleicht einen vorhandenen Copilot agent erkunden und dann in eine GitHub App integrieren, um zu sehen, wie es funktioniert. GitHub verfügt über einige Beispiele für Copilot agents, die Sie klonen und als Ausgangspunkt für Ihre eigene GitHub Copilot Extension verwenden können, wie:
-
Blackbeard: Ein einfacher Copilot agent, der Anforderungen beantwortet wie ein Pirat unter Verwendung der LLM-API von Copilot und spezieller Systemansagen. Er ist ein guter Ausgangspunkt zum Lernen, wie eine GitHub Copilot Extension erstellt wird. Weitere Informationen finden Sie unter Blackbeard Copilot Extension.
-
GitHub Models: Ein komplexerer Copilot agent, mit dem Sie über den Copilot Chat bei verschiedenen auf dem GitHub Marketplace gelisteten LLMs anfragen und damit interagieren können. Weitere Informationen finden Sie unter GitHub Models Copilot Extension.
Note
GitHub Models befinden sich in der public preview und können noch geändert werden. Tragen Sie sich in die Warteliste ein, um Zugriff zu beantragen.
-
Funktionsaufrufe: Ein In Go geschriebener Beispiel-Agent, der Funktionsaufrufe und Bestätigungsdialoge veranschaulicht. Weitere Informationen finden Sie unter Erweiterung für Funktionsaufrufe.
-
RAG-Erweiterung: Ein In Go geschriebener Beispiel-Agent, der eine einfache Implementierung der erweiterten Abrufgenerierung veranschaulicht. Weitere Informationen finden Sie unter RAG-Erweiterung.
-
Preview SDK: Ein SDK, das den Prozess der Erstellung von GitHub Copilot Extensions durch Überprüfen der Anforderungen, Formatieren der Antworten und API-Interaktionen vereinfacht. Es ermöglicht den Entwicklern, sich auf die Kernfunktionen ihrer Erweiterung statt auf Bausteine zu konzentrieren, weil es die Integration von Tools, APIs und Datenquellen in Copilot Chat optimiert. Weitere Informationen finden Sie unter Preview SDK.
Informationen zum Erstellen von Copilot-enabled Visual Studio Code extensions
Note
Die GitHub Dokumentation konzentriert sich auf das Erstellen von GitHub Copilot Extensions, nicht Copilot-enabled Visual Studio Code extensions.
Sie können eine Copilot Extension erstellen, die exklusiv und nativ für Visual Studio Code ist, namens Copilot-enabled Visual Studio Code extensions. Diese Option eignet sich am besten für Entwickler*innen, die Erweiterungen erstellen möchten, die VS Code-spezifische APIs und Funktionen verwenden oder vorhandene VS Code-Erweiterungen ausbauen möchten.
Auch bekannt als VS Code Chat-Erweiterungen, funktionieren Copilot-enabled Visual Studio Code extensions ähnlich wie GitHub Copilot Extensions durch die Erweiterung der Funktionen von Copilot Chat, mit einigen wichtigen Unterschieden:
- VS Code Chat-Erweiterungen können nur in VS Code verwendet werden.
- VS Code Chat-Erweiterungen haben mehr Zugriff auf Features und APIs von VS Code, wodurch editorspezifische Interaktionen wie der Zugriff auf lokale Arbeitsbereichsdaten, das Bearbeiten der Schnittstelle von Visual Studio Code und Lese-/Schreibzugriff auf lokale Dateien ermöglicht werden.
- VS Code Chat-Erweiterungen werden im VS Code Marketplace veröffentlicht, nicht im GitHub Marketplace.
- VS Code Chat-Erweiterungen sind lokal auf dem Computer der Benutzer*innen gespeichert und können nicht durch die Richtlinien einer Organisation kontrolliert werden.
Weitere Informationen zu Copilot-enabled Visual Studio Code extensions finden Sie unter Chat-Erweiterungen in der Visual Studio Code Dokumentation.