Skip to main content

Introducción al SDK de Copilot

Obtenga información sobre cómo instalar Copilot SDK y enviar su primer mensaje.

¿Quién puede utilizar esta característica?

GitHub Copilot SDK está disponible con todos los planes Copilot .

Nota:

Copilot SDK se encuentra actualmente en Versión preliminar técnica. La funcionalidad y la disponibilidad están sujetas a cambios.

GitHub Copilot SDK permite desarrollar aplicaciones impulsadas por GitHub Copilot en su lenguaje de programación preferido. En esta guía, instalará el SDK mediante npm, enviará su primer mensaje y agregará respuestas de transmisión.

Para obtener más información y pasos para otros lenguajes, consulte Instalación del SDK en el github/copilot-sdk repositorio.

Prerrequisitos

Antes de empezar, asegúrese de que tiene Node.js 18 o posterior instalado.

Autenticación

Siga las instrucciones de Instalación de la CLI de GitHub Copilot para instalar y verificar su identidad con CLI de GitHub Copilot. Esto permitirá que el SDK acceda a la cuenta GitHub y use Copilot.

  1. Compruebe que CLI de Copilot está instalado y funcionando:

    Bash
    copilot --version
    

Installation

  1. Cree un nuevo directorio e inicialice el proyecto:

    Bash
    mkdir copilot-demo && cd copilot-demo
    npm init -y --init-type module
    
  2. Instale el SDK y el ejecutor de TypeScript:

    Bash
    npm install @github/copilot-sdk tsx
    

Enviar el primer mensaje

  1. Cree un nuevo archivo index.ts y agregue el código siguiente. Esto envía una sola instrucción a Copilot e imprime la respuesta recibida.

    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. Ejecute el código:

    Bash
    npx tsx index.ts
    

En este ejemplo:

  •         **
            `CopilotClient()`
            ** crea un nuevo cliente que gestiona la conexión a CLI de Copilot.
    
  •         **
            `createSession()`
            ** inicia una nueva sesión de conversación con el modelo especificado.
    
  •         **
            `sendAndWait()`
            ** envía un mensaje y espera la respuesta completa antes de devolverla.
    

Agrega respuestas de streaming

En lugar de esperar la respuesta completa, puede transmitirla a medida que se genera. Esto resulta útil para respuestas largas o aplicaciones interactivas en las que desea mostrar la salida en tiempo real.

  1. Actualice index.ts con el código siguiente para escuchar e imprimir fragmentos de respuesta a medida que llegan:

    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. Ejecute el código:

    Bash
    npx tsx index.ts
    

Con el streaming habilitado, la respuesta aparece incrementalmente a medida que se genera. Puede suscribirse a eventos para procesar cada fragmento en tiempo real:

  •         **
            `assistant.message_delta`
            ** se activa para cada fragmento de la respuesta a medida que se va generando.
    
  •         **
            `session.idle`
            ** se desencadena cuando se completa la respuesta y la sesión está lista para el siguiente mensaje.
    

Métodos de suscripción de eventos

El SDK proporciona los métodos siguientes para suscribirse a eventos:

  •         **on(handler)**: suscríbase a todos los eventos. Devuelve la función de cancelación de suscripción.
    
  •         **on(eventType, handler)**: suscríbase a un tipo de evento específico. Devuelve la función de cancelación de suscripción.
    

Agregue el código siguiente para suscribirse a index.ts eventos y cancelar la suscripción cuando ya no los necesite:

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

Pasos siguientes

Para continuar con la introducción a Copilot SDK, consulte Crear su primera aplicación impulsada por Copilot en el repositorio github/copilot-sdk.