Skip to main content

Prise en main du Kit de développement logiciel (SDK) Copilot

Découvrez comment installer Kit de développement logiciel (SDK) Copilot et envoyer votre premier message.

Qui peut utiliser cette fonctionnalité ?

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

Remarque

Kit de développement logiciel (SDK) Copilot est actuellement disponible dans préversion technique. 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 langues, consultez Installer le Kit de développement logiciel (SDK ) dans le github/copilot-sdk référentiel.

Prerequisites

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

Authentication

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

  1. Vérifiez que Copilot CLI est installé et fonctionne :

    Bash
    copilot --version
    

Installation

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

    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 nouveau client qui s'occupe de la connexion à Copilot 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 au fur et à mesure qu’elle est générée.
    
  •         **
            `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 à utiliser Kit de développement logiciel (SDK) Copilot, consultez Construire votre première application alimentée par Copilot dans le github/copilot-sdk dépôt.