Skip to main content

Copilot 编码代理疑难解答

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

谁可以使用此功能?

Copilot 编码智能体 可在启用了该功能的存储库中,通过 GitHub Copilot Pro+ 和 GitHub Copilot Enterprise 计划使用。 Copilot 编码智能体 在 托管用户帐户 拥有的仓库中不可用。
Sign up for Copilot

注意

Copilot 编码智能体 is in 公共预览版 and subject to change. During the preview, use of the feature is subject to GitHub 预发行许可条款.

Copilot 不在我的问题的“被分配者”列表中

只有通过 GitHub Copilot Pro+ 计划或 GitHub Copilot Enterprise 计划访问 Copilot 时,才能将问题分配给 Copilot********。

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

如果已有 GitHub Copilot Pro+ 或 GitHub Copilot Enterprise,请检查 Copilot 编码智能体 是否可用于仓库__:

注意

可以在 Copilot 设置的功能页中检查 Copilot 编码智能体 是否已启用:github.com/settings/copilot/features

我拥有 Enterprise Managed User 帐户,但 Copilot 在我的个人仓库中无法运行

Copilot 编码智能体 不适用于由 托管用户帐户 拥有的个人仓库。 这是因为 Copilot 编码智能体 在 GitHub 托管运行器上运行,而这些运行器并不适用于由 托管用户帐户 拥有的仓库。 有关详细信息,请参阅“关于 GitHub 托管的运行程序”。

如果你拥有 托管用户帐户,并尝试在个人仓库中为某个议题分配 Copilot,你可能会看到一条错误消息,提示 GitHub Actions 不适用于你的仓库。

要使用 Copilot 编码智能体,你需要在由你的组织拥有的仓库中操作,而不是在个人仓库中操作。

Copilot 无法从 Copilot Chat

创建拉取请求

如果要求了 Copilot 创建拉取请求,而它回应说无法直接创建拉取请求,请检查 Copilot 编码智能体 是否可用。

重要

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

我向 Copilot 分配了一个问题,但什么也没发生

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

Copilot 已打开拉取请求,但什么也没发生

如果拉取请求时间线中出现“Copilot started work”事件,请单击“View session”查看会话日志****。 这些日志将以流媒体形式实时显示,你可以看到 Copilot 正在做什么。

Copilot 不回应我的拉取请求评论

Copilot only responds to comments from people who have write access to the repository.

如果你确实有写权限,并且在分配给 Copilot 的拉取请求中添加了评论,则该评论会传递给 Copilot 编码智能体。 你的评论中会添加一个眼睛表情符号 (👀),表示 Copilot 编码智能体 正在考虑你的评论。 如果代理继续处理更改以回应评论,则会在拉取请求时间线中添加“Copilot started work”事件。

如果未添加,Copilot 可能已从拉取请求中取消了分配,或者 Copilot 可能认为你的评论不可行。

检查 Copilot 是否已分配给拉取请求。 如果是,可以通过在评论中添加 @copilot 来 @mentioning Copilot,以强制 Copilot 回应你的评论。

根据代理会话日志,Copilot 似乎被卡住了

Copilot 可能会卡住一段时间,然后又开始工作。

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

如果 Copilot 在回应评论时卡住,请尝试在拉取请求中再次添加相同的评论。

当 Copilot 推送时,我的 GitHub Actions 工作流没有运行

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

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

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

在处理问题时,Copilot 可以访问其自己的临时开发环境(境由 GitHub Actions 提供支持),可在其中执行自动测试和 Linter 来验证其工作,然后再推送。

如果给出了明确的操作说明,则最有可能这样做。 最好的做法是使用 .github/copilot-instructions.md 文件。 请参阅“使用 Copilot 处理任务的最佳做法”。

GitHub Copilot 发出关于防火墙的警告

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

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

如果 Copilot 尝试发出被防火墙阻止的请求,则会在拉取请求正文(如果 Copilot 回应的是问题作业)或评论(如果 Copilot 回应的是评论)中添加警告。 警告会显示被阻止的地址和试图发出请求的命令。

Copilot 发出的关于被防火墙阻止的警告屏幕截图。

有关详细信息,请参阅“Customizing or disabling the firewall for Copilot coding agent”。

其他阅读材料