# GitHub Copilot扩展

扩展Copilot，使用代码中实现的功能。

扩展允许你实现超出向代理发出提示的功能。 例如，在GitHub Copilot CLI中，扩展可以添加由与会话一起运行的代码支持的工具和斜杠命令。

这些扩展不同于已停用的基于 GitHub App 和 Copilot Extensions 的集成。 它们也不同于 IDE 扩展，例如你在编辑器中安装的 Copilot 扩展。

## 可在其中使用扩展

可以在以下环境中使用扩展：

* GitHub Copilot app。
* GitHub Copilot CLI。

有关 GitHub Copilot app 中的自定义选项，请参阅 [自定义 GitHub Copilot 应用](/zh/copilot/how-tos/github-copilot-app/customize-github-copilot-app)。

> [!NOTE]
> GitHub Copilot CLI 扩展目前是实验性功能，可能会更改。

## 选择扩展范围

根据需要该扩展程序的人员选择扩展程序的作用范围：

* **存储库扩展** 可将项目特定的功能随项目一起保留，以便你可以与协作者共享它们。
* **个人扩展** 为自己的工作流提供功能。
* **插件扩展**作为已安装插件的一部分，与其他自定义项一起提供。

若要为 Copilot CLI 创建扩展，请参阅 [为 GitHub Copilot CLI 创建扩展](/zh/copilot/tutorials/create-an-extension)。

## 在Copilot CLI中的扩展

用于 Copilot CLI 的扩展是一个 JavaScript 模块，它作为单独的 Node.js 进程与交互式会话一起运行。 它通过捆绑的 Copilot CLI扩展 SDK 连接到会话。

扩展可以添加：

* **工具**，代理在处理您的请求时可以调用。
* 由你自己调用的**Slash commands**。
* 会话感知行为，例如观察事件以及跨工具调用保持状态。

当功能需要在会话期间保持活动的代码时使用扩展。 例如，扩展可以跟踪会话中的工具调用计时，并通过工具提供汇总结果。

Copilot CLI 还可以控制扩展是否运行，以及智能体是否可以管理它们。 有关扩展模式及其效果，请参阅 [扩展模式](/zh/copilot/reference/copilot-cli-reference/cli-command-reference#extension-modes)。

## 在扩展和其他自定义项之间进行选择

关键区别在于你需要的能力，而不仅仅是安装它的位置：

| 需要                           | 从...开始               |
| ---------------------------- | -------------------- |
| 以说明和资源表示的可重复工作流              | 智能体技能                |
| 访问由外部服务提供的工具                 | MCP 服务器              |
| 在定义的代理生命周期事件时执行的命令           | 挂钩                   |
| 在 JavaScript 中实现的会话感知工具或斜杠命令 | 一个用于 Copilot CLI 的扩展 |
| 相关功能的可分发捆绑包                  | 插件                   |

插件可以分发扩展，但界面决定如何使用这些扩展。

> [!WARNING]
> 扩展程序会在您的计算机上以您的权限运行。 仅加载你信任的扩展代码，就像对待任何其他并非由你自己编写的脚本一样。

## 后续步骤

若要将扩展与其他自定义选项进行比较，请参阅 [比较Copilot自定义功能](/zh/copilot/concepts/customizations/comparing-customizations)。