跳至主要内容

关于构建 Copilot 扩展

了解 Copilot 扩展的开发流程。

注意

GitHub Copilot 扩展处于公开预览阶段,可能会发生变化。

关于 Copilot 扩展

Copilot 扩展是扩展 Copilot Chat 功能的集成,允许开发人员将外部工具、服务和自定义行为引入 Chat 体验。您可以使用 Copilot 扩展以多种方式扩展 Copilot Chat 的功能,包括

  • 查询文档:Copilot 扩展可以允许 Copilot Chat 查询第三方文档服务以查找有关特定主题的信息。
  • AI 辅助编码:Copilot 扩展可以使用第三方 AI 模型提供代码建议。
  • 数据检索:Copilot 扩展可以允许 Copilot Chat 查询第三方数据服务以检索有关特定主题的信息。
  • 操作执行:Copilot 扩展可以允许 Copilot Chat 执行特定操作,例如发布到留言板或更新外部系统中的跟踪项目。

关于构建 GitHub Copilot 扩展

GitHub Copilot 扩展是一种使用 GitHub Apps 构建的 Copilot 扩展。GitHub Copilot 扩展最适合希望跨平台兼容性和来自 GitHub 的应用管理和支持的开发人员。

支持的客户端和 IDE

客户端和 IDEGitHub Copilot 扩展支持
Visual Studio Code
Visual Studio
GitHub.com
GitHub 移动端
JetBrains IDE
Vim/Neovim
CLI 中的 Copilot
Xcode

关于 GitHub Copilot 扩展的可见性

GitHub Copilot 扩展可以是私有的、公开且可共享的,或公开并在 GitHub Marketplace 上列出。您选择哪个可见性选项将取决于您的用例和您所针对的受众。

  • 大型企业或需要以下功能的公司通常更喜欢私有扩展:
    • 希望对数据访问进行更多自定义和控制
    • 需要与大量内部文档和数据库集成
    • 具有严格的安全策略,难以为第三方授权权限
  • 公开扩展适用于以下情况:
    • 开源项目
    • 企业内跨组织的协作开发和使用
    • 共享您的工具并在发布到 GitHub Marketplace 之前获得反馈
  • GitHub Marketplace 扩展非常适合希望以下功能的第三方:
    • 向更广泛的受众提供其服务
    • 将其工具集成到 GitHub 和 IDE 上的开发工作流程中
    • 利用 GitHub 生态系统提高其产品的知名度

构建 GitHub Copilot 扩展的资源

GitHub 为扩展构建者提供了一个全面的工具包,其中包括代码示例、CLI 调试工具、快速入门 SDK 和用户反馈存储库。有关更多信息,请参阅 GitHub 上的 copilot-extensions 组织。

在从头开始创建自己的 GitHub Copilot 扩展之前,您可能希望探索现有的 Copilot 代理,然后将其与 GitHub 应用集成以了解其工作原理。GitHub 提供了一些您可以克隆并用作您自己的 GitHub Copilot 扩展的基础的示例 Copilot 代理

  • Blackbeard:一个简单的 Copilot 代理,使用 Copilot 的 LLM API 和特殊的系统提示,像海盗一样响应请求。它是学习如何构建 GitHub Copilot 扩展的良好起点。有关更多信息,请参阅 Blackbeard Copilot 扩展

  • GitHub 模型:一个更复杂的 Copilot 代理,允许您在 Copilot Chat 中询问和与 GitHub Marketplace 上列出的各种 LLM 交互。有关更多信息,请参阅 GitHub 模型 Copilot 扩展

    注意

    GitHub 模型处于公开预览阶段,可能会发生变化。要请求访问权限,请加入 候补名单

  • 函数调用:一个用 Go 编写的示例代理,演示了函数调用和确认对话框。有关更多信息,请参阅 函数调用扩展

  • RAG 扩展:一个用 Go 编写的示例代理,演示了检索增强生成的一个简单实现。有关更多信息,请参阅 RAG 扩展

  • 预览 SDK:一个简化构建 GitHub Copilot 扩展过程的 SDK,负责处理请求验证、响应格式化和 API 交互。它允许构建者专注于扩展的核心功能,而不是样板代码,通过简化工具、API 和数据源与 Copilot Chat 的集成。有关更多信息,请参阅 预览 SDK

关于构建支持 Copilot 的 Visual Studio Code 扩展

注意

GitHub 文档侧重于构建 GitHub Copilot 扩展,而不是支持 Copilot 的 Visual Studio Code 扩展。

您可以构建一个独有且原生于 Visual Studio Code 的 Copilot 扩展,称为支持 Copilot 的 Visual Studio Code 扩展。此选项最适合希望构建使用 VS Code 特定 API 和功能或扩展现有 VS Code 扩展的开发人员。

支持 Copilot 的 Visual Studio Code 扩展也称为 VS Code Chat 扩展,其功能类似于 GitHub Copilot 扩展,可以扩展 Copilot Chat 的功能,但也有一些显著差异

  • VS Code Chat 扩展只能在 VS Code 中使用。
  • VS Code Chat 扩展可以更全面地访问 VS Code 的功能和 API,从而实现更多特定于编辑器的交互,例如访问本地工作区数据、操作 Visual Studio Code 的界面以及对本地文件的读/写访问。
  • VS Code Chat 扩展发布到 VS Code Marketplace,而不是 GitHub Marketplace。
  • VS Code Chat 扩展位于用户的计算机本地,无法由组织的策略控制。

有关支持 Copilot 的 Visual Studio Code 扩展的更多信息,请参阅 Visual Studio Code 文档中的 聊天扩展

进一步阅读