# 将 Copilot 云代理与 Teams 集成

你可以在 Teams 中使用 GitHub 集成，以便在 Team 频道内提供上下文并打开拉取请求。

> \[!NOTE]
>
> * 此功能当前处于 公开预览，并可能会发生更改。
> *

GitHub Copilot 使用 AI。 检查是否有错误 请参阅“[应用卡片：GitHub Copilot 智能体](/zh/enterprise-cloud@latest/copilot/responsible-use/agents)”。

Microsoft Teams 中的 GitHub 集成让你能够直接在 Teams 对话中与 Copilot cloud agent 交互。 在 Teams 中，你可以使用对话上下文启动 cloud agent 会话来调查、计划、编写代码以及创建问题和拉取请求。 团队的协作决策与代码保持联系，弥合讨论发生位置与实现所在位置之间的差距。

有关其他 Copilot 集成的信息，请参阅 [关于 Copilot 集成](/zh/enterprise-cloud@latest/copilot/concepts/tools/about-copilot-integrations)。

## 安全注意事项

在 Teams 中 @mentionGitHub 之前，请考虑 Copilot cloud agent 会将整个线程捕获为你的请求的上下文，并根据讨论理解和实施解决方案。 此上下文存储在代理生成的项目中。 如果要限制上下文，可以改为向 Teams 应用发送直接消息 GitHub 。

## 了解协作会话、权限和沙盒

Copilot 使用的标识取决于你是在直接消息还是共享上下文中与它交互。

* 在直接消息中使用 Copilot 时，它可以为你采取措施，例如创建拉取请求或问题，以及回答问题。 它使用你已关联的GitHub个人账户的权限来执行这些操作。

* 当您在共享环境（如群组线程或频道）中使用 Copilot 时，Copilot 会以其应用身份创建内容（例如拉取请求），而不是使用您的个人账户。

  > \[!NOTE]
  > 由 Copilot 在共享上下文中创建的拉取请求会使用应用的身份。 如果您使用存储库规则集，由于这些拉取请求不会归属于某个个人，因此在合并前还需要额外一次批准，前提是该存储库本身已要求至少一次批准。 此项已默认启用。 请参阅“[规则集的可用规则](/zh/enterprise-cloud@latest/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/available-rules-for-rulesets#additional-approval-for-unattributed-copilot-pull-requests)”。

只有对存储库具有 **写入** 访问权限的用户才能触发 Copilot 进行更改，但任何对话参与者都可以提供输入。 工作区的来宾成员以及仓库的外部协作者无法在 Teams 中启动或控制与 Copilot 的会话。

Copilot 会利用对话中的所有消息来为其工作提供参考。 整个线程成为该工件的决策上下文。

当请求 Copilot 执行任务时，它将显示有关会话的详细信息，例如工作存储库、问题或拉取请求链接、使用的模型以及任务状态或摘要。

### 保护云沙盒

当 Copilot cloud agent 开始处理来自 Teams 的任务时，Copilot 会在 **安全的云沙盒环境** 中继续以异步方式工作，并在结果就绪后发布结果。

你可以继续在 Teams 中进行引导，或在 GitHub、终端或你偏好的代码编辑器中继续处理代理生成的结果。

## 先决条件

* 你必须拥有一个 GitHub 帐户，通过 Copilot 付费计划才能访问 Copilot。
* 必须具有 Teams 帐户。
* 你的 Microsoft Teams 客户端必须启用 Microsoft 公共开发人员预览版，请参阅 Microsoft Learn 文档中的 [Teams 的公共开发人员预览版](https://learn.microsoft.com/en-us/microsoftteams/platform/resources/dev-preview/developer-preview-intro)。
* 若要使用 Copilot cloud agent，必须为 Copilot 计划启用云沙盒。 请参阅 [GitHub Copilot 的云沙盒](/zh/enterprise-cloud@latest/copilot/concepts/about-cloud-and-local-sandboxes#cloud-sandboxing)。

  > \[!NOTE]
  > 云沙盒策略与Copilot cloud agent策略共享相同的配置。 组织或企业的成员（包括 具有托管用户的企业）可能需要其所有者先启用云沙盒和 Copilot cloud agent，然后才能在 Teams 中使用 Copilot。 请参阅“[为组织或企业启用或禁用云沙盒](/zh/enterprise-cloud@latest/copilot/how-tos/cloud-and-local-sandboxes/enabling-or-disabling-cloud-sandboxes-for-your-organization)”。

## 在 GitHub Teams 中安装应用

应用 GitHub 只需在团队中安装一次。 安装应用后，团队的任何成员都可以将其 GitHub 帐户连接到应用并开始使用它。

1. 在 Web 浏览器中打开[集成安装链接以启动 Teams 和安装对话框。GitHub](https://teams.microsoft.com/l/app/836ecc9e-6dca-4696-a2e9-15e252cd3f31)
2. 单击**添加**将应用添加到您的团队。
3. 按照屏幕上的提示对应用进行身份验证和授权。

## 将GitHub应用连接到帐户GitHub

首次在 Teams 中使用 GitHub 应用时，需要将其连接到帐户 GitHub 。 然后，如果出现提示，请设置默认存储库。

默认存储库提供了 Copilot 在响应提示时使用的上下文；此外，除非您在提示中指定其他存储库，否则由 Copilot cloud agent 会话创建的议题和拉取请求也会在该默认存储库中创建。

首先，请执行以下操作：

1. 在 Teams 中，通过在消息中键入 `@GitHub` 来 @mention 应用。
2. 按照提示连接 GitHub 帐户，如果出现提示，可以选择设置默认存储库。
3. 要查看你还可以做什么，请在线程中通过键入 `@GitHub help` 来 @mention 应用。

## 从团队对话启动 GitHub Copilot 会话

@Mention 在任意 Teams 聊天中键入 `@GitHub`，然后输入你的任务，即可使用该应用。 对于任何你拥有 `write` 访问权限的仓库，你都可以调用该代理。 智能体会响应计划更改的摘要以及它创建的工件的链接。

例如，若要要求代理在存储库中的特定分支上创建拉取请求，可以键入：

```text
@GitHub Create a pull request to...YOUR_PROMPT repo=OWNER/REPO_NAME branch=BRANCH_NAME
```

该 `repo` 参数指示 Copilot 要使用的存储库，参数 `branch` 指定要用作拉取请求的基本分支的现有分支。

## 在线程中迭代工作

要优化拉取请求，请在同一线程中使用你请求的更改 @mention`@GitHub`。
Copilot 纳入自上一个 @mention 以来的所有消息，以便对相关工作进行迭代，使讨论与实现保持衔接。

## 使用 Copilot 创建议题

你可以要求 Copilot 直接从 Teams 创建 GitHub 问题，将对话转换为可操作的任务。 只需用自然语言描述你的需求，Copilot 就会为你创建问题单。

你可以创建单个议题，也可以一次性创建多个具有父子关系的议题。

当你 @mention 应用时，它会使用完整的线程历史记录作为它创建的问题的上下文。 若要保持上下文的焦点，请考虑启动新线程或发送直接消息。

## 在 Teams 中自定义 Copilot cloud agent

你可以使用 `settings` 参数自定义 Copilot cloud agent 在你的频道和线程中的工作方式。 例如，可以为通道设置默认存储库。

1. 若要查看和更改频道设置，请在消息中输入以下内容来提及该应用：

   ```text
   @GitHub settings
   ```

2. 然后按照提示进行更改。

### 为通道设置默认存储库

可以为每个专用或公共频道设置默认存储库。 您无法使用 Copilot 为直接消息设置默认存储库。

如果通道没有默认存储库， Copilot 请将在该通道的第一个会话中使用的存储库设置为通道的默认存储库。

如果未指定存储库或分支， Copilot 请使用通道的默认存储库和该存储库的默认分支。

1. 在通道中，键入 `@GitHub settings` 并发送消息。
2. 按照提示为通道选择默认存储库。

## 反馈和支持

可以在 [我们的讨论论坛](https://github.com/orgs/community/discussions/205453)中查看和共享反馈。

## 延伸阅读

* [关于 GitHub Copilot 云代理](/zh/enterprise-cloud@latest/copilot/concepts/agents/cloud-agent/about-cloud-agent)
* [管理对 GitHub Copilot 云代理的访问权限](/zh/enterprise-cloud@latest/copilot/concepts/agents/cloud-agent/access-management)