Die Blackbeard-Erweiterung ist eine GitHub Copilot Extension, die mit einem einfachen Agent erstellt wurde, der wie ein Pirat auf Anforderungen reagiert. Hierfür wurden die LLM-API von Copilot und spezielle Systemprompts verwendet. Dieser Leitfaden verwendet eine einfache Agent-Implementierung, aber der Prozess ist für Skillsets ähnlich.
Dieser Schnellstart soll dir dabei helfen, die Blackbeard-Erweiterung so schnell wie möglich zu erstellen und zu chatten, damit du deine Erweiterung entwickeln und testen kannst, ohne die Infrastruktur bereitzustellen. Für die Produktion musst du die Anwendung für die Endpunkte deines Agents oder Skillsets auf einem öffentlich zugänglichen Server hosten. Informationen zum Erstellen einer neuen GitHub Copilot Extension findest du stattdessen unter Einrichten von Copilot-Erweiterungen.
1. Erstellen und Installieren einer GitHub App
Erstelle in den Entwicklereinstellungen für dein GitHub-Konto eine GitHub App. Deine GitHub App muss Folgendes haben:
- einen Namen
- eine Homepage-URL
- Webhooks deaktiviert
Nachdem du deine App erstellt hast, klicke auf der Randleiste auf Install App, und installiere dann deine App in deinem Konto.
Ausführliche Anweisungen findest du unter Erstellen einer GitHub-App für Ihre Copilot-Erweiterung.
2. Lokales Klonen und Hosten des Blackbeard-Agents
Anstatt den Blackbeard-Agent als Web-App bereitzustellen, kannst du deinen Agent lokal hosten, um den Buildprozess erheblich zu beschleunigen.
- Klone das
copilot-extensions/blackbeard-extension
-Repository mit dem in VS Code integrierten Terminal. - Führe im gleichen Terminal
npm install
aus, um die erforderlichen Abhängigkeiten zu installieren, und führe dannnpm start
aus, um den Blackbeard-Agent auf Port 3000 zu starten. - Klicke auf der Registerkarte „Ports“ des Panels VS Code auf Forward a port oder Add port, und füge dann Port 3000 hinzu.
- Klicke mit der rechten Maustaste auf den Port, lege die Sichtbarkeit auf „Public“ fest, und kopiere dann die lokale Adresse.
3. Integrieren und Testen der Blackbeard-Erweiterung
Nachdem du deine GitHub App und den Blackbeard-Agent eingerichtet hast, kannst du den Agent in deine App integrieren und die Blackbeard-Erweiterung testen. Du musst die folgenden Änderungen an deinen GitHub App-Einstellungen vornehmen:
- Füge in den Einstellungen unter „General“ im Feld „Callback URL“ die lokale Adresse für deinen Agent ein.
- Erteile in den Einstellungen für „Permissions & events“ schreibgeschützte Berechtigungen für Copilot Chat.
- Lege in den Einstellungen für Copilot den App-Typ auf „Agent“ fest, und fülle dann die verbleibenden Felder aus.
Nachdem du die GitHub App-Einstellungen aktualisiert hast, kannst du mit der Erweiterung chatten, indem du @YOUR-EXTENSION-NAME
im Copilot Chat-Fenster eingibst und dann wie gewöhnlich einen Prompt sendest.
Ausführlichere Anweisungen findest du unter Konfigurieren deiner GitHub-App für deine Copilot-Erweiterung.
Nächste Schritte
Nachdem du nun über eine funktionsfähige GitHub Copilot Extension verfügst, kannst du mit der Agent-Entwicklung auf dem Blackbeard-Agent experimentieren.
Um mehr über komplexere Agent-Implementierungen zu lernen, kannst du auch die folgenden Beispiel-Agents und das Software Development Kit (SDK) nutzen, die alle in der copilot-extensions
-Organisation verfügbar sind:
- GitHub Models: Ein komplexerer Agent, mit dem Sie über den Copilot Chat bei verschiedenen auf dem GitHub Marketplace gelisteten LLMs anfragen und damit interagieren können. Der GitHub Models-Agent verwendet Funktionsaufrufe.
- Funktionsaufrufe: Ein In Go geschriebener Beispiel-Agent, der Funktionsaufrufe und Bestätigungsdialoge veranschaulicht.
- RAG-Erweiterung: Ein In Go geschriebener Beispiel-Agent, der eine einfache Implementierung der erweiterten Abrufgenerierung veranschaulicht.
- Preview SDK: Ein SDK, das die Entwicklung von Copilot Extensions durch automatisches Überprüfen der Anforderungen, Parsen der Payload und Formatieren der Antworten optimiert. Dank dieses SDK können sich Erweiterungsentwickler mehr auf die Erstellung von Kernfunktionen als auf Codebausteine konzentrieren.