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 安装扩展
开始使用现有扩展只需几分钟:
- 在 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 月 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.