跳至主要内容

Copilot SDK 入门指南

了解如何安装 Copilot SDK 并发送您的第一条消息。

谁可以使用此功能?

GitHub Copilot SDK 在所有 Copilot 计划中均可使用。

注意

Copilot SDK 目前处于公开预览阶段。功能和可用性可能会更改。

GitHub Copilot SDK 让您能够使用您喜欢的编程语言构建由 GitHub Copilot 提供动力的应用程序。在本指南中,您将使用 npm 安装 SDK,发送第一条消息,并添加流式响应。

有关更多信息以及其他语言的步骤,请参阅位于 github/copilot-sdk 仓库中的 安装 SDK

先决条件

在开始之前,请确保已安装 Node.js 18 或更高版本。

身份验证

按照 安装 GitHub Copilot CLI 页面上的说明来安装并使用 GitHub Copilot CLI 进行身份验证。这将允许 SDK 访问您的 GitHub 账户并使用 Copilot。

  1. 验证 Copilot CLI 已安装且可正常工作

    Bash
    copilot --version
    

安装

  1. 创建新目录并初始化项目

    Bash
    mkdir copilot-demo && cd copilot-demo
    npm init -y --init-type module
    
  2. 安装 SDK 和 TypeScript 运行时

    Bash
    npm install @github/copilot-sdk tsx
    

发送您的第一条消息

  1. 创建一个新文件 index.ts 并添加以下代码。这会向 Copilot 发送单个提示并打印响应。

    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. 运行代码

    Bash
    npx tsx index.ts
    

在本示例中

  • CopilotClient() 创建一个新客户端,用于管理与 Copilot CLI 的连接。
  • createSession() 启动一个使用指定模型的新会话。
  • sendAndWait() 发送提示并等待完整响应后再返回。

添加流式响应

您可以在生成时流式接收响应,而无需等待完整响应。这对于长响应或希望实时显示输出的交互式应用程序非常有用。

  1. 使用以下代码更新 index.ts,以监听并在响应块到达时打印它们

    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. 运行代码

    Bash
    npx tsx index.ts
    

启用流式后,响应会在生成时逐步出现。您可以订阅事件,以实时处理每个块。

  • assistant.message_delta 在每个响应块生成时触发。
  • session.idle 在响应完成且会话准备好接收下一条消息时触发。

事件订阅方法

SDK 提供以下方法用于订阅事件

  • on(handler):订阅所有事件。返回取消订阅函数。
  • on(eventType, handler):订阅特定事件类型。返回取消订阅函数。

将以下代码添加到 index.ts,以订阅事件并在不再需要时取消订阅

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

后续步骤

要继续使用 Copilot SDK 入门,请在 github/copilot-sdk 仓库中查看 构建您的第一个 Copilot 驱动的应用

© . This site is unofficial and not affiliated with GitHub, Inc.