Back

GitHub Copilot 扩展入门指南

GitHub Copilot 扩展入门指南

GitHub Copilot 扩展通过将外部工具和服务直接集成到 Copilot Chat 中,彻底改变了开发者的工作方式。现在,您无需在多个应用程序之间切换,就可以查询数据库、监控部署和调试错误——所有这些都可以通过 IDE 或 GitHub.com 中的自然语言对话完成。

核心要点

  • GitHub Copilot 扩展将外部工具直接集成到 Copilot Chat 中,实现无缝工作流
  • 基于 GitHub App 的扩展将在 2025 年 11 月弃用,而 VS Code 扩展仍将继续支持
  • 构建扩展需要设置端点、配置 GitHub App 并处理服务器发送事件
  • Docker、MongoDB 和 Microsoft 等主要合作伙伴已在 GitHub Marketplace 上提供扩展

什么是 GitHub Copilot 扩展?

这些扩展与您现有的工作流程无缝集成。在调试问题时,您可以调用 Sentry 进行错误监控、DataStax 进行数据库查询或 Azure 进行部署——所有这些都无需离开代码编辑器。Docker、MongoDB、Stripe 和 Microsoft 等主要合作伙伴已经在 GitHub Marketplace 上构建了可用的扩展。

重要提示:弃用时间表

需要记住的关键日期:

  • 2025 年 9 月 23 日:无法创建新的基于 GitHub App 的 Copilot 扩展
  • 2025 年 11 月 10 日:所有现有的基于 GitHub App 的扩展将停止工作

VS Code Copilot 扩展不受影响,将继续得到支持。如果您今天开始一个新项目,请考虑构建 VS Code 扩展或探索模型上下文协议(MCP)服务器作为长期解决方案。

从 GitHub Marketplace 安装扩展

开始使用现有扩展只需几分钟:

  1. GitHub Marketplace 上浏览可用的扩展
  2. 点击所选扩展的”Install”(安装)按钮
  3. 授予必要的权限
  4. 在 Copilot Chat 中输入 @ 后跟扩展名称来访问扩展

例如,输入 @sentry 可以让您分析错误日志,而 @docker 可以帮助您构建和部署容器——所有这些都通过自然语言命令完成。

构建 Hello World 扩展

让我们创建一个最小化的 Hello World 扩展来理解核心概念。此示例使用 Node.js 和 Copilot Extensions Preview SDK

步骤 1:设置您的端点

import { verifyAndParseRequest, createTextEvent, createDoneEvent } from "@copilot-extensions/preview-sdk";
import express from 'express';

const app = express();
app.use(express.text());

app.post("/", async (req, res) => {
  // Verify the request is from GitHub
  const signature = req.headers["github-public-key-signature"];
  const keyID = req.headers["github-public-key-identifier"];
  const token = req.headers["x-github-token"];
  
  const { isValidRequest, payload } = await verifyAndParseRequest(
    req.body,
    signature,
    keyID,
    { token }
  );
  
  if (!isValidRequest) {
    return res.status(401).send("Unauthorized");
  }
  
  // Send response using server-sent events
  res.setHeader("Content-Type", "text/event-stream");
  
  // Simple Hello World response
  res.write(createTextEvent("Hello from my Copilot Extension! 👋"));
  res.write(createDoneEvent());
  res.end();
});

app.listen(3000);

步骤 2:配置您的 GitHub App

  1. 导航至 Settings → Developer settings → GitHub Apps(设置 → 开发者设置 → GitHub Apps)
  2. 使用以下设置创建新的 GitHub App:
    • Webhook URL(Webhook 地址):您的服务器端点(本地测试可使用 ngrok)
    • Permissions(权限):将”Copilot Chat”设置为只读
    • Copilot settings(Copilot 设置):将 App Type 设置为”Agent”(代理)

步骤 3:测试您的扩展

安装完成后,在 Copilot Chat 中测试您的扩展:

  • 在 GitHub.com 上
  • 在 VS Code 中
  • 在 Visual Studio 中

输入 @your-extension-name 后跟任意消息。您将在聊天中看到”Hello World”响应。

需要记住的关键概念

请求验证:始终使用 SDK 的 verifyAndParseRequest 函数验证传入请求。这可以确保请求确实来自 GitHub。

服务器发送事件:Copilot 扩展使用 SSE 进行流式响应。这允许在聊天界面中进行实时、渐进式更新。

令牌管理:x-github-token 请求头提供用户上下文。可以将其与 Octokit 一起使用,代表用户访问 GitHub API。

后续步骤

首先在 GitHub Marketplace 上探索现有扩展,以了解常见模式和用例。对于生产环境的扩展,请考虑:

  • 实现适当的错误处理
  • 为复杂操作添加函数调用
  • 与组织的内部 API 集成
  • 使用 Copilot LLM API 实现智能响应

鉴于弃用时间表,VS Code Copilot 扩展为新开发提供了最具前瞻性的路径。该生态系统持续快速发展,MCP 服务器正在成为下一代扩展架构。

结论

无论您是安装合作伙伴扩展还是构建自定义集成,GitHub Copilot 扩展都从根本上改变了开发者与工具交互的方式——让您保持专注和高效,无需上下文切换。随着基于 GitHub App 的扩展即将弃用,现在是探索 VS Code 扩展或 MCP 服务器作为长期解决方案的时候了。

常见问题

不能,2025 年 9 月 23 日之后,您无法创建新的基于 GitHub App 的扩展。现有扩展将继续工作到 2025 年 11 月 10 日。请考虑构建 VS Code 扩展或探索 MCP 服务器。

您的 GitHub App 需要将 Copilot Chat 设置为只读权限,并将 App Type 配置为 Agent(代理)。其他权限取决于您的扩展需要访问哪些 GitHub API。

使用 ngrok 或类似的隧道服务将本地服务器暴露到互联网。使用 ngrok URL 配置 GitHub App 的 webhook URL,然后在 Copilot Chat 中输入 @ 后跟您的扩展名称进行测试。

Understand every bug

Uncover frustrations, understand bugs and fix slowdowns like never before with OpenReplay — the open-source session replay tool for developers. Self-host it in minutes, and have complete control over your customer data. Check our GitHub repo and join the thousands of developers in our community.

OpenReplay