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.
-
Vérifiez que Copilot CLI est installé et fonctionne :
Bash copilot --version
copilot --version
Installation
-
Créez un répertoire et initialisez votre projet :
Bash mkdir copilot-demo && cd copilot-demo npm init -y --init-type module
mkdir copilot-demo && cd copilot-demo npm init -y --init-type module -
Installez le Kit de développement logiciel (SDK) et l’exécuteur TypeScript :
Bash npm install @github/copilot-sdk tsx
npm install @github/copilot-sdk tsx
Envoyer votre premier message
-
Créez un fichier
index.tset 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);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); -
Exécutez le code :
Bash npx tsx index.ts
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.
-
Mettez à jour
index.tsavec 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);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); -
Exécutez le code :
Bash npx tsx index.ts
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 :
// 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();
// 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.