Skip to main content
Skip to content

用于 GitHub Copilot 的插件

插件打包相关的自定义项,以便可以在受支持的 Copilot 界面中将它们一起安装。

谁可以使用此功能?

GitHub Copilot CLI 适用于所有 Copilot 计划。 如果从组织收到 Copilot,必须在组织的设置中启用 Copilot CLI 策略。

Copilot cloud agent 适用于所有付费 Copilot 计划。

代理在所有存储于GitHub的存储库中可用,除非这些存储库由托管用户帐户拥有或已被显式禁用。

所有 Copilot 计划均可使用 GitHub Copilot app。
Sign up for Copilot

插件将相关的自定义项打包,以便你可以一起安装和管理它们,而不是单独设置每个自定义项。 例如,测试插件可以结合用于运行测试的技能、用于代码评审的代理,以及测试报告服务的 MCP 服务器。

可在何处使用插件

这些界面上提供了插件:Copilot

  • Visual Studio Code。 从 “Customize” 中的聊天侧边面板或 Agents 窗口浏览并安装插件。 有关 VS Code 插件格式的详细信息,请参阅 代理插件创作参考。
  • GitHub Copilot CLI。 从已注册的应用市场浏览并安装插件。
  • GitHub Copilot app。 从“自定义”浏览并安装插件。
  • Copilot in the cloud。 通过存储库设置配置插件。

插件可以包含仅在特定界面中工作的组件。 检查插件是否支持你使用的表面。 例如,此类别中所述的 LSP 服务器配置适用于 Copilot CLI。 有关详细信息,请参阅“插件与应用市场参考”。

插件包含的内容

插件可以打包其中部分或全部组件。 可用的组件及其位置取决于插件格式和图面:

  • 自定义代理 — 专用 AI 助手(在*.agent.md的agents/文件中)
  • 技能 — 特定于任务的说明、脚本和资源(位于SKILL.md中的技能子目录,包含skills/文件)
  • 挂钩 — 响应代理操作的事件处理程序(插件根目录中的 hooks.json 文件,或位于 hooks/ 中)
  • 扩展 - Surface特定的代码,用于添加工具和斜杠命令等功能
  • MCP 服务器配置 - 模型上下文协议集成(代理插件 1.0 中的根 mcp.json 目录)
  • LSP 服务器配置 — 受支持的界面上的语言服务器协议集成

插件格式

代理插件是跨兼容平台共享插件清单、技能和 MCP 服务器配置的格式。 代理插件 1.0 插件在 plugin.json 中声明规范架构;其架构和组件位置并非所有界面都以相同方式支持。 Copilot CLI 还支持旧 Copilot 插件格式。 在 CLI 中,没有 Agent Plugins Schema(架构定义)的清单使用此旧格式。

如果要跨兼容界面共享技能和 MCP 服务器,请选择代理插件。 如果需要可配置的组件路径或维护现有的 Copilot 专用插件,请使用旧 CLI 格式。

对于新插件,请使用代理插件 1.0,除非需要可配置的组件路径。 主要对现有旧插件使用旧格式。

插件的结构

插件是具有特定结构和 plugin.json 清单文件的目录。 Agent Plugins 1.0 要求清单文件位于插件根目录下。 旧版插件支持额外的清单文件位置。 清单为插件指定名称和元数据。 根据格式,它还可能指向组件。 除了清单之外,目录还可以包含代理、技能、挂钩、MCP 服务器配置和 LSP 服务器配置。

代理插件 1.0 结构

代理插件 1.0 将技能和 MCP 服务器存储在标准位置,以便兼容的客户端可以发现它们。 其他组件(包括代理、挂钩、命令和 LSP 服务器)特定于客户端。 Copilot 从 com.github.copilot 目录中读取这些组件。 其他客户端将忽略此目录,因此同一插件可以将共享技能和 MCP 服务器与 Copilot特定组件相结合。

代理插件 1.0 目录如下所示:

my-plugin/
├── plugin.json               # Required manifest
├── skills/                   # Skills (optional)
│   └── deploy/
│       └── SKILL.md
├── mcp.json                  # MCP server config (optional)
└── com.github.copilot/       # Copilot components (optional)
    ├── agents/
    │   └── helper.agent.md
    ├── commands/
    ├── rules/
    ├── hooks/
    │   └── hooks.json
    └── lsp.json

清单必须包含代理插件 1.0 $schema。 有关支持的顶级清单字段、名称要求和组件位置,请参阅 代理插件 1.0 清单字段。

旧插件结构

旧 Copilot 插件目录如下所示:

my-plugin/
├── plugin.json           # Required manifest
├── agents/               # Custom agents (optional)
│   └── helper.agent.md
├── skills/               # Skills (optional)
│   └── deploy/
│       └── SKILL.md
├── hooks.json            # Hook configuration (optional)
├── .mcp.json             # MCP server config (optional)
└── lsp.json              # LSP server config (optional)

有关可在清单中包含的完整字段集,请参阅 GitHub Copilot CLI 插件参考。 有关创作插件的分步指南,请参阅 为 GitHub Copilot CLI 创建插件。

为何使用插件?

插件具有以下优势:

  • 跨项目可重用性
  • 跨存储库共享 Copilot 配置
  • 分享领域专业知识(例如,通过提供 Rails 专家或 Kubernetes 专家的技能)
  • 封装复杂的 MCP 服务器配置

插件来自何处

Visual Studio Code、Copilot CLI以及GitHub Copilot app中的内置市场是awesome-copilot。 在插件可用之前,必须添加其他市场。

添加市场后,其插件可供浏览。 它不会安装或启用它们。 插件的标识符将插件名称与市场名称合并为 PLUGIN-NAME@MARKETPLACE-NAME。 市场名称来自其marketplace.json文件中的name字段,而不是来自存储库名称。

决定是否启用插件

插件可以处于可用、已安装或已启用状态。 添加市场后,其插件可供浏览。 安装插件会将其添加到界面中,并启用该插件,使其组件在该界面上的会话中可用。 共享配置可以设置默认值,也可以强制是否启用插件:

配置源Effect成员是否可以关闭插件?
企业托管设置要求或阻止某插件在所有受支持的界面中使用。No. 托管策略始终优先。
企业团队管理的设置在 enabledPlugins 企业团队文件中添加所需的插件,基于企业基线叠加。No. 这些条目受托管策略管理。
存储库默认值为在存储库中工作的每个人启用插件。是的,其中界面支持本地替代。

存储库默认值不会使某个插件成为必需。 无法启用托管策略阻止的插件或使用策略禁止的市场。 默认情况下,托管设置无法启用可选插件。 它们只要求启用插件或阻止插件运行。

企业团队文件将托管的 enabledPlugins 条目添加到企业基线中。 成员无法关闭所需的插件。 请参阅“覆盖企业团队的企业托管设置”。

存储库默认使用 .github/copilot/settings.json。 有关配置和特定于表面的本地替代,请参阅 GitHub Copilot CLI 配置目录。

企业管理员可以指定必需或已阻止的其他市场和插件。 请参阅“使用企业管理的设置管理插件市场和插件”。

插件市场的工作原理

插件市场是可从中浏览和安装的插件的注册表。 Marketplace 可以托管在 GitHub.com 上的仓库、另一个 Git 主机或本地目录中。 由于市场中的插件已进行版本控制,因此市场让用户更轻松地发现、安装和更新插件。

市场由 marketplace.json 文件定义,该文件提供有关市场的元数据并列出其插件。

有关使用插件或在 GitHub 存储库中发布 marketplace 的针对特定 surface 的说明,请参阅 进一步阅读。

插件与手动配置的比较

可以使用插件添加的任何功能,也可以通过手动配置 Copilot 来添加,例如,通过添加自定义代理配置文件或 MCP 服务器。 但是,插件比手动配置提供了多种优势:

Feature存储库中的手动配置插件
Scope单个存储库任何项目
共享手动复制/粘贴安装命令或 enabledPlugins 条目
版本控制Git 历史市场版本
发现搜索存储库市场浏览

延伸阅读