Skip to main content
Skip to content

Erstellen eines Plug-Ins für GitHub Copilot CLI

Erstellen Sie ein Plug-In, um Anpassungen in einem einfach zu installierenden Paket freizugeben.

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 $schema in plugin.json.
  • Das Legacyformat unterstützt Copilot-spezifische Komponenten und konfigurierbare Komponentenpfade. In Copilot CLI, ein Manifest ohne die Agent-Plug-Ins $schema verwendet 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

  1. Erstellen Sie ein Verzeichnis für Ihr Plug-In.

  2. Wählen Sie ein Plug-in-Format aus und fügen Sie dann eine Manifestdatei plugin.json im Stammverzeichnis hinzu.

    Um ein Agent Plugins 1.0-Plug-In zu erstellen, schließen Sie das kanonische $schema ein:

Beispieldatei für Agent Plugins 1.0 plugin.json

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"]
}

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

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.

  1. 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 eine SKILL.md-Datei enthalten. Die MCP-Konfiguration muss sich im Stammverzeichnis des Plug-ins in mcp.json befinden. Sie können diese Speicherorte in plugin.json nicht überschreiben. Copilot-spezifische Komponenten gehören in das com.github.copilot-Verzeichnis, wie com.github.copilot/agents/ für benutzerdefinierte Agents und com.github.copilot/hooks/hooks.json für Hooks.

    Verwenden Sie in einem Legacy-Plugin die Standard-Komponentenspeicherorte oder die in plugin.json konfigurierten Komponentenpfade.

    Beispiel:

    1. Fügen Sie einen Agent hinzu, indem Sie eine NAME.agent.md Datei in einem agents Unterverzeichnis erstellen. Erstellen Sie in einem Agent Plugins 1.0-Plug-In die Datei in com.github.copilot/agents/. Erstellen Sie es in agents/ in einem Legacy-Plug-in.

      Markdown
      ---
      name: my-agent
      description: Helps with specific tasks
      tools: ["bash", "edit", "view"]
      ---
      
      You are a specialized assistant that...
      
    2. Fügen Sie eine Fähigkeit hinzu, indem Sie ein skills/NAME Unterverzeichnis Ihres Plug-In-Verzeichnisses erstellen, wo NAME der Name Ihrer Fähigkeiten ist. Erstellen Sie dann in diesem Unterverzeichnis eine SKILL.md Datei, 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...
      
    3. 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"
           }
         }
       }
      }
      

      Der streamable-http Transportname wird für streambare HTTP-Server akzeptiert. Für stdio-Server stellt Copilot CLIPLUGIN_DATA- und ${PLUGIN_ROOT}-Umgebungsvariablen bereit und erweitert PLUGIN_ROOT und ${PLUGIN_DATA} in args, env-Werten und cwd.

Testen Sie Ihr Plug-In mit GitHub Copilot CLI

Die folgenden Befehle testen ein Plug-In in Copilot CLI.

  1. Installieren Sie Ihr Plug-In lokal, damit Sie es während der Entwicklung testen können.

    Geben Sie zum Beispiel, wo ./my-plugin der Pfad zu Ihrem Plug-In-Verzeichnis ist, Folgendes ein:

    Shell
    copilot plugin install ./my-plugin
    
  2. Überprüfen Sie, ob das Plug-In erfolgreich geladen wurde, indem Sie Ihre Liste der installierten Plug-Ins anzeigen:

    Shell
    copilot plugin list
    

    Sie können auch eine neue interaktive Sitzung starten und Folgendes eingeben:

    Copilot prompt
    /plugin list
    
  3. 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
    

    Um zu überprüfen, ob im Plug-In definierte Fähigkeiten geladen wurden, geben Sie Folgendes ein:

    Copilot prompt
    /skills list
    
  4. Verwenden Sie die von den Komponenten Ihres Plug-Ins bereitgestellten Funktionen, um sicherzustellen, dass jede Komponente wie erwartet funktioniert.

  5. Ü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
    
  6. 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
    

    Verwenden Sie den Wert des name-Felds im plugin.json-Manifest des Plug-ins für NAME, 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.

Weiterführende Lektüre