Plugins sind Pakete, die die Funktionalität von Copilot CLI erweitern. Eine clientübergreifende Übersicht finden Sie unter Plug-Ins für GitHub Copilot.
Hinweis
Hilfe zur Verwendung von Plugins finden Sie, indem Sie copilot plugin [SUBCOMMAND] --help im Terminal eingeben.
Plug-In-Struktur
Ein Plug-In besteht aus einem 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. Ein Plug-In kann auch eine beliebige Kombination aus Agents, Fähigkeiten, Hooks und MCP-Serverkonfigurationen enthalten.
Agent Plugins 1.0 ist ein tragbares Format für Fähigkeiten und MCP-Server über kompatible Clients hinweg. Copilot CLI unterstützt auch ein Legacy-CopilotFormat.
- Um Agent Plugins 1.0 zu verwenden, deklarieren Sie das kanonische
$schemainplugin.json. - Das Legacyformat unterstützt Copilot-spezifische Komponenten und konfigurierbare Komponentenpfade. In Copilot CLI, ein Manifest ohne die Agent-Plug-Ins
$schemaverwendet dieses Format.
Wählen Sie Agent Plugins 1.0 aus, wenn Sie Fähigkeiten und MCP-Server für kompatible Clients freigeben möchten. Überprüfen Sie die Clientdokumentation, um zu bestätigen, welche anderen Komponenten sie unterstützt. Wählen Sie das Legacyformat aus, wenn Sie konfigurierbare Komponentenpfade in Copilot CLI benötigen oder ein vorhandenes Copilot-spezifisches Plug-In warten.
Erstellen eines Plug-Ins
-
Erstellen Sie ein Verzeichnis für Ihr Plug-In.
-
Wählen Sie ein Plug-in-Format aus und fügen Sie dann eine Manifestdatei
plugin.jsonim Stammverzeichnis hinzu.Um ein Agent Plugins 1.0-Plug-In zu erstellen, schließen Sie das kanonische
$schemaein:
Beispieldatei für Agent Plugins 1.0 plugin.json
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "my-dev-tools",
"description": "React development utilities",
"version": "1.2.0",
"author": {
"name": "Jane Doe",
"email": "jane@example.com"
},
"license": "MIT",
"keywords": ["react", "frontend"]
}
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "my-dev-tools",
"description": "React development utilities",
"version": "1.2.0",
"author": {
"name": "Jane Doe",
"email": "jane@example.com"
},
"license": "MIT",
"keywords": ["react", "frontend"]
}
Das Schema erlaubt nur $schema, author, repository, homepage, license, version, description, name, keywords und extensions als Felder der obersten Ebene.
Copilot CLI meldet und ignoriert unbekannte Felder auf oberster Ebene. Das Feld extensions ist eine Zuordnung clientspezifischer Daten, deren Schlüssel Reverse-Domain-Namespaces sind.
Um ein Legacy-Plugin zu erstellen, lassen Sie die Agent-Plugins $schema weg. Sie können Komponentenpfadfelder im Manifest verwenden:
Beispiel für legacydatei plugin.json
{
"name": "my-dev-tools",
"description": "React development utilities",
"agents": "agents/",
"skills": ["skills/", "extra-skills/"],
"hooks": "hooks.json",
"mcpServers": ".mcp.json"
}
{
"name": "my-dev-tools",
"description": "React development utilities",
"agents": "agents/",
"skills": ["skills/", "extra-skills/"],
"hooks": "hooks.json",
"mcpServers": ".mcp.json"
}
Ausführliche Informationen zu den vollständigen Feldern, die Sie in diese Datei aufnehmen können, finden Sie unter GitHub Copilot CLI-Plug-In-Referenz.
-
Fügen Sie Ihrem Plug-In Komponenten hinzu.
In einem Agent Plugins 1.0-Plug-In müssen Skills unmittelbare Unterverzeichnisse von
skills/sein, und jeder Skill muss eineSKILL.md-Datei enthalten. Die MCP-Konfiguration muss sich im Stammverzeichnis des Plug-ins inmcp.jsonbefinden. Sie können diese Speicherorte inplugin.jsonnicht überschreiben. Copilot-spezifische Komponenten gehören in dascom.github.copilot-Verzeichnis, wiecom.github.copilot/agents/für benutzerdefinierte Agents undcom.github.copilot/hooks/hooks.jsonfür Hooks.Verwenden Sie in einem Legacy-Plugin die Standard-Komponentenspeicherorte oder die in
plugin.jsonkonfigurierten Komponentenpfade.Beispiel:
-
Fügen Sie einen Agent hinzu, indem Sie eine
NAME.agent.mdDatei in einemagentsUnterverzeichnis erstellen. Erstellen Sie in einem Agent Plugins 1.0-Plug-In die Datei incom.github.copilot/agents/. Erstellen Sie es inagents/in einem Legacy-Plug-in.Markdown --- name: my-agent description: Helps with specific tasks tools: ["bash", "edit", "view"] --- You are a specialized assistant that...
--- name: my-agent description: Helps with specific tasks tools: ["bash", "edit", "view"] --- You are a specialized assistant that... -
Fügen Sie eine Fähigkeit hinzu, indem Sie ein
skills/NAMEUnterverzeichnis Ihres Plug-In-Verzeichnisses erstellen, woNAMEder Name Ihrer Fähigkeiten ist. Erstellen Sie dann in diesem Unterverzeichnis eineSKILL.mdDatei, die die Fähigkeit definiert.Um z. B. eine "Bereitstellen"-Fähigkeit zu erstellen, erstellen Sie
skills/deploy/SKILL.md:Markdown --- name: deploy description: Deploy the current project to... --- Instructions for the skill...
--- name: deploy description: Deploy the current project to... --- Instructions for the skill... -
Fügen Sie für ein Agent Plugins 1.0-Plug-In MCP-Server in einer
mcp.json-Stammdatei hinzu. Die MCP-Konfiguration verwendet ein eigenes Agent-Plug-In-Schema:JSON { "$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json", "mcpServers": { "deployment-api": { "type": "streamable-http", "url": "https://deploy.example.com/mcp" }, "local-validator": { "type": "stdio", "command": "node", "args": ["${PLUGIN_ROOT}/server/index.js"], "cwd": "${PLUGIN_ROOT}", "env": { "DATA_DIR": "${PLUGIN_DATA}/validator" } } } }{ "$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json", "mcpServers": { "deployment-api": { "type": "streamable-http", "url": "https://deploy.example.com/mcp" }, "local-validator": { "type": "stdio", "command": "node", "args": ["${PLUGIN_ROOT}/server/index.js"], "cwd": "${PLUGIN_ROOT}", "env": { "DATA_DIR": "${PLUGIN_DATA}/validator" } } } }Der
streamable-httpTransportname wird für streambare HTTP-Server akzeptiert. Fürstdio-Server stellt Copilot CLIPLUGIN_DATA- und${PLUGIN_ROOT}-Umgebungsvariablen bereit und erweitertPLUGIN_ROOTund${PLUGIN_DATA}inargs,env-Werten undcwd.
-
Testen Sie Ihr Plug-In mit GitHub Copilot CLI
Die folgenden Befehle testen ein Plug-In in Copilot CLI.
-
Installieren Sie Ihr Plug-In lokal, damit Sie es während der Entwicklung testen können.
Geben Sie zum Beispiel, wo
./my-pluginder Pfad zu Ihrem Plug-In-Verzeichnis ist, Folgendes ein:Shell copilot plugin install ./my-plugin
copilot plugin install ./my-plugin -
Überprüfen Sie, ob das Plug-In erfolgreich geladen wurde, indem Sie Ihre Liste der installierten Plug-Ins anzeigen:
Shell copilot plugin list
copilot plugin listSie können auch eine neue interaktive Sitzung starten und Folgendes eingeben:
Copilot prompt /plugin list
/plugin list -
Stellen Sie sicher, dass die von Ihnen definierten Agents, Fähigkeiten, Hooks und MCP-Serverkonfigurationen ordnungsgemäß geladen werden.
Um beispielsweise in einer interaktiven Sitzung zu überprüfen, ob benutzerdefinierte Agents, die im Plug-In definiert wurden, geladen wurden, geben Sie Folgendes ein:
Copilot prompt /agent
/agentUm zu überprüfen, ob im Plug-In definierte Fähigkeiten geladen wurden, geben Sie Folgendes ein:
Copilot prompt /skills list
/skills list -
Verwenden Sie die von den Komponenten Ihres Plug-Ins bereitgestellten Funktionen, um sicherzustellen, dass jede Komponente wie erwartet funktioniert.
-
Überarbeiten Sie Ihre Plugin-Entwicklung bei Bedarf.
Wichtig
Wenn Sie ein Plug-In installieren, werden die zugehörigen Komponenten zwischengespeichert und Copilot CLI liest in nachfolgenden Sitzungen aus dem Cache. Um Änderungen an einem lokalen Plug-In aufzunehmen, installieren Sie es erneut:
Shell copilot plugin install ./my-plugin
copilot plugin install ./my-plugin -
Nachdem Sie den Test abgeschlossen haben, können Sie die lokale Version Ihres Plug-Ins deinstallieren, indem Sie Folgendes eingeben:
Shell copilot plugin uninstall NAME
copilot plugin uninstall NAMEVerwenden Sie den Wert des
name-Felds implugin.json-Manifest des Plug-ins fürNAME, nicht den Pfad zum Plug-in-Verzeichnis.
Bewertungen für Ihr Plug-in hinzufügen
Behandeln Sie den Plug-In-Kontext als agentenbasierte Infrastruktur. Fügen Sie Auswertungen für das Verhalten hinzu, die Ihr Plug-In unterstützen soll, und führen Sie sie aus, wenn Sie die Anweisungen, Tools oder andere Komponenten ändern.
Plug-in verteilen
Um Ihr Plug-In mit anderen zu teilen, fügen Sie es zu einem Marketplace hinzu. Weitere Informationen findest du unter Einen Plug-in-Marktplatz auf GitHub erstellen und teilen.
Standardeinstellungen des Repositorys können Ihr Plug-In für ein Projekt aktivieren. Mitglieder können diese Standardwerte lokal außer Kraft setzen, aber vom Unternehmen verwaltete Einstellungen können das Plug-In erfordern oder blockieren und immer Vorrang haben.