GitHub Copilot 扩展入门指南
介绍安装 GitHub Copilot Extensions,使用 Node.js 构建 Hello World 智能体,并对比 VS Code 扩展与 MCP 服务器的选型。
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 安装扩展
开始使用现有扩展只需几分钟:
- 在 GitHub Marketplace 上浏览可用的扩展
- 点击所选扩展的”Install”(安装)按钮
- 授予必要的权限
- 在 Copilot Chat 中输入
@后跟扩展名称来访问扩展
例如,输入 @sentry 可以让您分析错误日志,而 @docker 可以帮助您构建和部署容器——所有这些都通过自然语言命令完成。
Discover how at OpenReplay.com.
构建 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
- 导航至 Settings → Developer settings → GitHub Apps(设置 → 开发者设置 → GitHub Apps)
- 使用以下设置创建新的 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 月之后我还能创建新的基于 GitHub App 的 Copilot 扩展吗?
不能,2025 年 9 月 23 日之后,您无法创建新的基于 GitHub App 的扩展。现有扩展将继续工作到 2025 年 11 月 10 日。请考虑构建 VS Code 扩展或探索 MCP 服务器。
我的 GitHub App 需要哪些权限才能创建 Copilot 扩展?
您的 GitHub App 需要将 Copilot Chat 设置为只读权限,并将 App Type 配置为 Agent(代理)。其他权限取决于您的扩展需要访问哪些 GitHub API。
在开发过程中如何在本地测试我的 Copilot 扩展?
使用 ngrok 或类似的隧道服务将本地服务器暴露到互联网。使用 ngrok URL 配置 GitHub App 的 webhook URL,然后在 Copilot Chat 中输入 @ 后跟您的扩展名称进行测试。