Skip to main content

Getting started avec le Kit de développement logiciel (SDK) Copilot

Découvrez comment installer SDK Copilot et envoyer votre premier message.

Qui peut utiliser cette fonctionnalité ?

Kit de développement logiciel (SDK) GitHub Copilot est disponible dans tous les forfaits Copilot.

Remarque

SDK Copilot est actuellement en préversion publique. Les fonctionnalités et la disponibilité sont susceptibles de changer.

          Kit de développement logiciel (SDK) GitHub Copilot vous permet de créer des applications alimentées par GitHub Copilot dans votre langage de programmation préféré. Dans ce guide, vous allez installer le Kit de développement logiciel (SDK) à l’aide de `npm`, envoyer votre premier message et ajouter des réponses en streaming.

Pour plus d’informations et des étapes pour d’autres langages, consultez Installer le SDK dans le référentiel github/copilot-sdk.

Prerequisites

Avant de commencer, vérifiez que vous avez ** installéNode.js 18** ou version ultérieure.

Authentication

Suivez les instructions de Installation du CLI GitHub Copilot pour installer et s’authentifier auprès de CLI GitHub Copilot. Cela permet au SDK d’accéder à votre GitHub compte et d’utiliser Copilot.

  1. Vérifiez que l’installation Copilot pour CLI et le fonctionnement sont les suivants :

    Bash
    copilot --version
    

Installation

  1. Créez un répertoire et initialisez votre project :

    Bash
    mkdir copilot-demo && cd copilot-demo
    npm init -y --init-type module
    
  2. Installez le Kit de développement logiciel (SDK) et l’exécuteur TypeScript :

    Bash
    npm install @github/copilot-sdk tsx
    

Envoyer votre premier message

  1. Créez un fichier index.ts et ajoutez le code suivant. Cela envoie une invite unique à Copilot et imprime la réponse.

    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. Exécutez le code :

    Bash
    npx tsx index.ts
    

Dans cet exemple :


          `CopilotClient()`
          ** crée un client qui gère la connexion à Copilot pour CLI.

          `createSession()`
          ** démarre une nouvelle session de conversation avec le modèle spécifié.

          `sendAndWait()`
          ** envoie une invite et attend la réponse complète avant de retourner.

Ajouter des réponses en flux

Au lieu d’attendre la réponse complète, vous pouvez la diffuser en continu à mesure qu’elle est générée. Cela est utile pour les réponses longues ou les applications interactives dans lesquelles vous souhaitez afficher la sortie en temps réel.

  1. Mettez à jour index.ts avec le code suivant pour écouter et imprimer les blocs de réponse à mesure qu’ils arrivent :

    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. Exécutez le code :

    Bash
    npx tsx index.ts
    

Une fois la diffusion en continu activée, la réponse s’affiche de façon incrémentielle à mesure qu’elle est générée. Vous pouvez vous abonner aux événements pour traiter chaque bloc en temps réel :


          `assistant.message_delta`
          ** se déclenche pour chaque segment de la réponse à mesure qu’il est généré.

          `session.idle`
          ** se déclenche lorsque la réponse est terminée et que la session est prête pour le message suivant.

Méthodes d’abonnement aux événements

Le Kit de développement logiciel (SDK) fournit les méthodes suivantes pour s’abonner aux événements :

  • on(handler) : s’abonner à tous les événements. Retourne la fonction de désabonnement.
  • on(eventType, handler) : abonnez-vous à un type d’événement spécifique. Retourne la fonction de désabonnement.

Ajoutez le code suivant pour vous abonner aux index.ts événements et vous désabonner lorsque vous n’en avez plus besoin :

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();

Prochaines étapes

Pour continuer avec SDK Copilot, consultez Créer votre première application propulsée par Copilot dans le dépôt github/copilot-sdk.