Plug-Ins bieten eine Möglichkeit, benutzerdefinierte Copilot Funktionen zu verteilen. Sie können ein Plug-In verwenden, um einen vorkonfigurierten Satz von Funktionen zu Copilothinzufügen, einschließlich Copilot CLI, Copilot cloud agentund der GitHub Copilot app.
Was ist ein Plug-In?
- Ein verteilungsfähiges Paket, das die Funktionalität von Copilot erweitert.
- Ein Bündel von Komponenten in einer einzigen installierbaren Einheit.
Welche Plug-Ins sind enthalten?
Ein Plug-In kann einige oder alle der folgenden Komponenten enthalten. Die Speicherorte dieser Komponenten hängen vom Plug-In-Format ab:
- Benutzerdefinierte Agenten – Spezialisierte KI-Assistenten (
*.agent.mdDateien inagents/) - Fähigkeiten – Diskrete aufrufbare Funktionen (Unterverzeichnisse in
skills/, die eineSKILL.mdDatei enthalten) - Hooks – Ereignishandler, die das Agentverhalten abfangen (eine
hooks.jsonDatei im Plug-In-Stamm oder inhooks/) - MCP-Serverkonfigurationen – Modellkontextprotokollintegrationen
- LSP-Serverkonfigurationen – Language Server Protocol-Integrationen (eine
lsp.jsonDatei im Plug-In-Stamm oder in.github/)
Plugin-Formate
Copilot unterstützt zwei Plug-In-Formate:
- Agent Plugins 1.0 ist ein tragbares Format für das Teilen von Fähigkeiten und MCP-Serverkonfigurationen über kompatible Clients hinweg. Um dieses Format zu verwenden, setzen Sie
$schemainplugin.jsonaufhttps://agent-plugins.org/schemas/1.0.0/plugin.schema.json. Fähigkeiten werden ausskills/ermittelt, und die MCP-Serverkonfiguration wird ausmcp.jsonim Stammverzeichnis des Plug-ins ermittelt. Diese Speicherorte können nicht im Manifest konfiguriert werden. Wählen Sie Agent Plugins 1.0 aus, wenn Sie Fähigkeiten und MCP-Server portierbar machen möchten. - Legacy-Plug-Ins Copilot deklarieren die Agent-Plug-Ins
$schemanicht. Sie verwenden die vorhandenen Manifestfelder und das Verhalten der Komponentenermittlung, einschließlich konfigurierbarer Komponentenpfade und MCP-Konfiguration in.mcp.json,.github/mcp.jsonoder demmcpServersManifestfeld. Wählen Sie das Legacyformat aus, wenn Sie konfigurierbare Komponentenpfade benötigen oder ein vorhandenes Copilot-spezifisches Plug-In verwalten.
Verwenden Sie für ein neues Plug-In Agent Plugins 1.0, es sei denn, Sie benötigen konfigurierbare Komponentenpfade. Verwenden Sie das Legacyformat in erster Linie für vorhandene Legacy-Plug-Ins.
Beide Formate werden unterstützt. Das Hinzufügen von $schema ändert, wie Copilot das Manifest interpretiert und Komponenten erkennt. Plug-ins ohne $schema werden weiterhin als Legacy-Plug-ins geladen.
Wie Plugins strukturiert sind
Ein Plug-In ist ein Verzeichnis mit einer bestimmten Struktur und einer plugin.json Manifestdatei. Agent Plugins 1.0 erfordert das Manifest im Plug-In-Stamm. Legacy-Plug-Ins unterstützen zusätzliche Manifestspeicherorte. Das Manifest gibt dem Plug-In einen Namen und Metadaten. Je nach Format kann es auch auf Komponenten verweisen. Neben dem Manifest kann das Verzeichnis Agents, Fähigkeiten, Hooks, MCP-Serverkonfigurationen und LSP-Serverkonfigurationen enthalten.
Agent Plugins 1.0-Struktur
Agent Plugins 1.0 speichert Fähigkeiten und MCP-Server an Standardstandorten, damit kompatible Clients sie entdecken können. Andere Komponenten, einschließlich Agents, Hooks, Befehle und LSP-Server, sind clientspezifisch.
Copilot liest diese Komponenten aus dem com.github.copilot Verzeichnis. Andere Clients ignorieren dieses Verzeichnis, sodass dasselbe Plug-In gemeinsame Fähigkeiten und MCP-Server mit Copilot-spezifischen Komponenten kombinieren kann.
Ein Agent Plugins 1.0-Verzeichnis kann wie folgt aussehen:
my-plugin/
├── plugin.json # Required manifest
├── skills/ # Skills (optional)
│ └── deploy/
│ └── SKILL.md
├── mcp.json # MCP server config (optional)
└── com.github.copilot/ # Copilot components (optional)
├── agents/
│ └── helper.agent.md
├── commands/
├── rules/
├── hooks/
│ └── hooks.json
└── lsp.json
Das Manifest muss die Agent Plugins 1.0 $schemaenthalten. Informationen zu unterstützten Manifestfeldern der obersten Ebene, Namensanforderungen und Komponentenstandorten finden Sie unter Manifestfelder in Agent Plugins 1.0.
Legacy-Plug-In-Struktur
Ein Legacy-Plug-In-Verzeichnis Copilot kann wie folgt aussehen:
my-plugin/
├── plugin.json # Required manifest
├── agents/ # Custom agents (optional)
│ └── helper.agent.md
├── skills/ # Skills (optional)
│ └── deploy/
│ └── SKILL.md
├── hooks.json # Hook configuration (optional)
├── .mcp.json # MCP server config (optional)
└── lsp.json # LSP server config (optional)
Den vollständigen Satz von Feldern, die Sie im Manifest einfügen können, finden Sie unter GitHub Copilot CLI-Plug-In-Referenz. Eine schrittweise Anleitung zum Erstellen eines Plug-Ins finden Sie unter Erstellen eines Plug-Ins für GitHub Copilot CLI.
Warum Plug-Ins verwenden?
Plugins bieten die folgenden Vorteile:
- Wiederverwendbarkeit über Projekte hinweg
- Teamweite Standardisierung der Copilot-Konfiguration
- Teilen Sie Domänenkompetenz (z. B. durch die Bereitstellung der Fähigkeiten eines Rails-Experten oder eines Kubernetes-Experten)
- Kapseln komplexer MCP-Serverkonfigurationen
Wo erhalte ich Plug-Ins?
Sie können Plug-Ins von:
- Ein Marktplatz
- Ein Repository
- Lokaler Pfad
Ein Marketplace ist ein Ort, an dem Entwickler Plug-Ins veröffentlichen, entdecken, installieren und verwalten können. Es ist ein bisschen wie ein App Store – aber für Plug-Ins.
Beispiele für Marketplaces sind:
- copilot-plugins (standardmäßig hinzugefügt)
- awesome-copilot (standardmäßig hinzugefügt)
- claude-code-plugins
- claudeforge-marketplace
Wie Sie ein Plug-In installieren, hängt davon ab, welchen Client Sie verwenden:
- In Copilot CLI können Sie Plugins imperativ mit dem Befehl
copilot plugin installoder dem Slash-Befehl/plugin installinstallieren oder sie deklarativ hinzufügen, indem Sie das Plugin zum FeldenabledPluginsentweder einer~/.copilot/settings.json-Datei auf Benutzerebene oder einer.github/copilot/settings.json-Datei auf Repository-Ebene hinzufügen. Siehe Suchen und Installieren von Plug-Ins für GitHub Copilot CLI. - In Copilot cloud agent, installieren Sie Plugins deklarativ, indem Sie sie zum
enabledPluginsFeld der Repositorydatei.github/copilot/settings.jsonhinzufügen. Um Plug-Ins von einem Marketplace zu installieren, der nicht standardmäßig registriert ist, können Sie den Marketplace auch demextraKnownMarketplacesFeld in derselben Datei hinzufügen. - Klicken Sie im GitHub Copilot appMenü " Anpassen" auf "Plugins ", um Marketplaces zu durchsuchen und Plug-Ins zu installieren.
Unternehmensadministratoren können Plug-In-Standards definieren, die für Benutzer im Copilot Unternehmensplan gelten, einschließlich der Angabe zusätzlicher Marketplaces und Plug-Ins, die automatisch installiert werden. Siehe Informationen zu unternehmensverwalteten Plug-In-Standards.
Funktionsweise von Plug-In-Marketplaces
Ein Plug-In-Marketplace ist eine Registrierung von Plug-Ins, von denen Sie durchsuchen und installieren können. Ein Marktplatz kann in einem Repository auf GitHub.com, bei einem anderen Online-Git-Hosting-Dienst oder auf Ihrem lokalen oder freigegebenen Dateisystem gehostet werden.
Ein Marketplace wird durch eine marketplace.json Datei definiert, die Metadaten zum Marketplace bereitstellt und die von ihr zur Verfügung gestellten Plug-Ins auflistet. Jeder Eintrag im Marketplace-Array plugins beschreibt ein Plug-In, einschließlich Name, Beschreibung, Version und pfad zum Verzeichnis des Plug-Ins.
Da Plug-Ins auf einem Marketplace versioniert sind, erleichtern Marketplaces das Auffinden, Installieren und Aktualisieren von Plug-Ins und das Teilen in einem Team. Eine schrittweise Anleitung zum Erstellen eines Marketplace finden Sie unter Erstellen eines Plugin-Marketplace für GitHub Copilot CLI.
Plug-Ins im Vergleich zur manuellen Konfiguration
Alle Funktionen, die Sie mit einem Plugin hinzufügen können, können Sie auch manuell hinzufügen, indem Sie beispielsweise benutzerdefinierte Agentprofile oder MCP-Server konfigurieren. Plug-Ins bieten jedoch mehrere Vorteile gegenüber der manuellen Konfiguration:
| Funktion | Manuelle Konfiguration in einem Repository | Plug-In |
|---|---|---|
| Geltungsbereich | Einzelnes Repository | Jedes Projekt |
| Teilen | Manuelles Kopieren/Einfügen | Installationsbefehl oder enabledPlugins-Eintrag |
| Versioning | Git-Verlaufsprotokoll | Marketplace-Versionen |
| Discovery | Durchsuchen von Repositorys | Marktplatz durchsuchen |