Skip to main content

Erste Schritte mit dem Copilot SDK

Erfahren Sie, wie Sie Copilot SDK installieren und Ihre erste Nachricht senden.

Wer kann dieses Feature verwenden?

GitHub Copilot SDK ist mit allen Copilot Plänen verfügbar.

Hinweis

Copilot SDK befindet sich derzeit in der Technische Preview. Funktionalität und Verfügbarkeit können geändert werden.

Mit GitHub Copilot SDK können Sie Anwendungen erstellen, die von GitHub Copilot in Ihrer bevorzugten Programmiersprache unterstützt werden. In diesem Handbuch installieren Sie das SDK mithilfe npm, senden Sie Ihre erste Nachricht, und fügen Sie Streamingantworten hinzu.

Weitere Informationen und Schritte für andere Sprachen finden Sie unter Installieren des SDK im Repository github/copilot-sdk.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass ** sieNode.js 18** oder höher installiert haben.

Authentifizierung

Folgen Sie den Anweisungen bei Installieren von GitHub Copilot CLI, um GitHub Copilot-CLI zu installieren und zu authentifizieren. Dadurch kann das SDK auf dein GitHub-Konto zugreifen und Copilot verwenden.

  1. Stellen Sie sicher, dass Copilot CLI installiert ist und funktioniert.

    Bash
    copilot --version
    

Installation

  1. Erstellen Sie ein neues Verzeichnis und initialisieren Sie Ihr Projekt.

    Bash
    mkdir copilot-demo && cd copilot-demo
    npm init -y --init-type module
    
  2. Installieren Sie das SDK und den TypeScript-Runner:

    Bash
    npm install @github/copilot-sdk tsx
    

Senden Ihrer ersten Nachricht

  1. Erstellen Sie eine neue Datei index.ts , und fügen Sie den folgenden Code hinzu. Dadurch wird ein einzelner Prompt an Copilot gesendet und die Antwort ausgegeben.

    TypeScript
    import { CopilotClient } from "@github/copilot-sdk";
    
    const client = new CopilotClient();
    const session = await client.createSession({ model: "gpt-4.1" });
    
    const response = await session.sendAndWait({ prompt: "What is 2 + 2?" });
    console.log(response?.data.content);
    
    await client.stop();
    process.exit(0);
    
  2. Führen Sie den Code aus:

    Bash
    npx tsx index.ts
    

In diesem Beispiel:

  •         **
            `CopilotClient()`
            ** erstellt einen neuen Client, der die Verbindung mit Copilot CLI verwaltet.
    
  •         **
            `createSession()`
            ** startet eine neue Unterhaltungssitzung mit dem angegebenen Modell.
    
  •         **
            `sendAndWait()`
            ** sendet eine Eingabeaufforderung und wartet vor der Rückgabe auf die vollständige Antwort.
    

Hinzufügen von Streaming-Antworten

Anstatt auf die vollständige Antwort zu warten, können Sie sie streamen, während sie generiert wird. Dies ist nützlich für lange Antworten oder interaktive Anwendungen, in denen Sie die Ausgabe in Echtzeit anzeigen möchten.

  1. Aktualisieren Sie index.ts mit dem folgenden Code, um Antwortsegmente zu überwachen und auszugeben, sobald sie eingehen.

    TypeScript
    import { CopilotClient } from "@github/copilot-sdk";
    
    const client = new CopilotClient();
    const session = await client.createSession({
        model: "gpt-4.1",
        streaming: true,
    });
    
    // Listen for response chunks
    session.on("assistant.message_delta", (event) => {
        process.stdout.write(event.data.deltaContent);
    });
    session.on("session.idle", () => {
        console.log(); // New line when done
    });
    
    await session.sendAndWait({ prompt: "Tell me a short joke" });
    
    await client.stop();
    process.exit(0);
    
  2. Führen Sie den Code aus:

    Bash
    npx tsx index.ts
    

Wenn streaming aktiviert ist, wird die Antwort inkrementell angezeigt, während sie generiert wird. Sie können Ereignisse abonnieren, um jeden Block in Echtzeit zu verarbeiten:

  •         **
            `assistant.message_delta`
            ** wird für jeden generierten Teil der Antwort ausgelöst.
    
  •         **
            `session.idle`
            ** wird ausgelöst, wenn die Antwort abgeschlossen ist und die Sitzung für die nächste Nachricht bereit ist.
    

Ereignisabonnementmethoden

Das SDK stellt die folgenden Methoden zum Abonnieren von Ereignissen bereit:

  •         **on(handler)**: Abonnieren Sie alle Ereignisse. Gibt die Abmeldefunktion zurück.
    
  •         **on(eventType, handler)**: Abonnieren eines bestimmten Ereignistyps. Gibt die Abmeldefunktion zurück.
    

Fügen Sie den folgenden Code zu index.ts hinzu, um Ereignisse zu abonnieren und sie abzubestellen, wenn Sie sie nicht mehr benötigen.

TypeScript
// Subscribe to all events
const unsubscribeAll = session.on((event) => {
    console.log("Event:", event.type);
});

// Subscribe to specific event type
const unsubscribeIdle = session.on("session.idle", (event) => {
    console.log("Session is idle");
});

// Later, to unsubscribe:
unsubscribeAll();
unsubscribeIdle();

Nächste Schritte

Informationen zu den weiteren ersten Schritten mit Copilot SDK findest du unter Erstellen deiner ersten Copilot-gestützten App im github/copilot-sdk-Repository.