Skip to main content

GitHub Copilot 云代理疑难解答

了解如何解决将任务分配到Copilot时可能出现的问题。

谁可以使用此功能?

Copilot 云代理 可用于 GitHub Copilot Pro、GitHub Copilot Pro+、GitHub Copilot业务 和 GitHub Copilot Enterprise 计划。 该代理在 GitHub 上存储的所有仓库中均可用,但以下情况除外:由 托管用户帐户 拥有的仓库,以及已显式禁用该代理的仓库。
Sign up for Copilot

          Copilot 在问题上的“被分配者”列表中不可用

只有在通过GitHub Copilot Pro 计划、GitHub Copilot Pro+ 计划、GitHub Copilot业务 计划或GitHub Copilot Enterprise 计划获得对Copilot的访问权限后,您才能将问题分配给Copilot。

如果还没有其中一个计划的订阅,请单击此按钮了解详细信息:

          <a href="https://github.com/features/copilot/plans?ref_product=copilot&ref_type=engagement&ref_style=button" target="_blank" class="btn btn-primary mt-3 mr-3 no-underline">
          <span>注册 Copilot</span><svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-link-external" aria-label="link external icon" role="img"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a>

          _如果您确实拥有GitHub Copilot Pro、GitHub Copilot Pro+GitHub Copilot业务或GitHub Copilot Enterprise,请检查Copilot 云代理尚未被手动禁用以用于存储库:_

注意

可以在 Copilot 云代理 的功能设置页中检查是否已为你启用:github.com/settings/copilot/features

我有一个 Enterprise Managed User 帐户, Copilot 在个人存储库中不起作用

Copilot 云代理 不适用于由 托管用户帐户 拥有的个人仓库。 这是因为 Copilot 云代理 运行在 GitHub 托管的运行程序上,而这些运行程序无法用于 托管用户帐户 拥有的个人存储库。 有关详细信息,请参阅“GitHub 托管的运行程序”。

如果你有一个 托管用户帐户,并尝试将 Copilot 分配到个人存储库中的一个问题,你可能会看到一条错误消息,报告 GitHub Actions 不适用于你的存储库。

若要使用 Copilot 云代理,需要使用组织拥有的存储库,而不是个人存储库。

无法从 创建拉取请求

如果你要求 Copilot 创建拉取请求,而其回应无法直接创建拉取请求,请检查 Copilot 云代理 是否可用。

重要

在 VS Code、Visual Studio 和 JetBrains IDE 中,必须在提示中提及 @github 聊天参与者。 可以在 GitHub.com 上的 Copilot对话 中省略此项。

我将一个任务分配给Copilot,但一直没有进展。

请稍等片刻,然后刷新页面。 你应该会看到 Copilot 对问题做出 👀 回复。 不久之后,Copilot 将打开一个与问题相关联的草稿拉取请求,该请求将显示在问题的时间线上。

          Copilot 已打开拉取请求,但未发生任何操作

如果在拉取请求时间线中有“Copilot 已启动的工作”事件,请单击“ 查看会话 ”以查看会话日志。 这些内容将实时流式传输,你将能够看到 Copilot 正在执行的操作。

          Copilot 不会响应我的拉取请求注释

Copilot 仅回复对存储库具有写权限的人员的评论。

如果您确实具有写入访问权限,并且在分配给 Copilot 的拉取请求中提到 @copilot,则评论将传递给 Copilot 云代理。 将眼睛表情符号 (👀) 添加到批注中,以指示 Copilot 云代理 已看到您的评论。 不久之后,将 "Copilot 开始工作" 事件添加到拉取请求时间线上。

如果这种情况没有发生,Copilot 可能已从合并请求中移除,或者您可能没有写入权限。 请注意,Copilot 仅响应已打开的拉取请求中的提及。 一旦 Pull Request 被合并或关闭,Copilot 云代理 将不再回应新的提及或注释,以便更好地专注于开发工作。

根据代理会话日志, Copilot 似乎停滞不前

          Copilot 似乎暂停了一段时间,然后又再次开始移动。

如果会话仍然卡住,则会在一小时后超时。 可以通过取消分配问题,然后将其重新分配到 Copilot来重试。

如果在 Copilot 响应批注时遇到问题,请尝试再次向拉取请求添加相同的批注。

当 Copilot 发起推送时,我的 GitHub Actions 工作流未运行

          Copilot 将更改推送到拉取请求时,GitHub Actions 工作流不会自动运行。

若要允许 GitHub Actions 工作流运行,请单击拉取请求合并框中的 “批准并运行工作流 ”按钮。 请参阅“审查 GitHub Copilot 创建的拉取请求”。

          Copilot 正在推送未通过 CI 检查的更改

在处理问题时,Copilot 可以访问由 GitHub Actions 提供支持的临时开发环境,在其中可以执行自动测试和代码检查工具,在推送之前验证其工作。

如果有明确的说明要做什么,那么就很可能会做到这一点。 执行此操作的最佳方法是使用 .github/copilot-instructions.md 文件。 请参阅“使用 GitHub Copilot 处理任务的最佳做法”。

          GitHub Copilot发出了有关防火墙的警告

默认情况下, Copilot对 Internet 的访问受防火墙限制。

限制对 Internet 的访问有助于管理数据外泄风险,其中 Copilot 的异常行为或其收到的恶意指令可能导致代码或其他敏感信息泄露到远程位置。

如果 Copilot 尝试发出防火墙阻止的请求,则会将警告添加到拉取请求正文(如果 Copilot 正在响应问题分配)或注释(如果 Copilot 正在响应批注)。 警告会显示受阻止的地址和试图发出请求的命令。

该屏幕截图显示了来自 Copilot 的关于受防火墙阻止的警告。

有关详细信息,请参阅“自定义或禁用 GitHub Copilot 云代理的防火墙”。

          Copilot 未获取附带的屏幕截图

允许 Copilot 云代理 的最大图像大小为 3.00 MiB。 系统将从请求中删除大于此大小的图像。

其他阅读材料

  •         [AUTOTITLE](/copilot/tutorials/coding-agent/best-practices)
    
  •         [AUTOTITLE](/copilot/customizing-copilot/customizing-the-development-environment-for-copilot-coding-agent)