Skip to main content
Skip to content

关于 GitHub Copilot 的云沙盒

云沙盒是托管的独立环境 GitHub ,其中 Copilot 会运行你的云会话,而无需使用你的计算机。

关于云沙盒

云沙盒是为GitHub会话创建Copilot的隔离 Linux 环境。 在一个或多个存储库中工作时, Copilot 将每个存储库克隆到沙盒中,然后运行命令和测试,并在其中进行更改。 由于会话未在计算机上运行,因此可以在不使用本地资源的情况下并行运行多个会话,并且当 Copilot 工作时,您无需保持连接。

你无需自行创建或管理云沙盒。 GitHub 会在您启动一个在云中运行的会话时创建一个会话。

跨客户端继续会话

由于云沙盒会话在 GitHub 托管的基础结构中运行,因此可以在任何客户端上选取 Copilot 会话,而不考虑会话最初启动的位置。 这使工作流更加灵活,无需复制文件或重新安装依赖项。

卸载计算密集型工作流

可以在云中并行运行多个 Copilot 会话,而无需使用本地资源。 这样既能让本地环境保持轻量和响应迅速,又能扩展由代理驱动的工作负载。

云沙盒和本地沙盒

云沙盒和本地沙盒解决了不同的问题。 云沙盒将整个会话转移到云端运行。 本地沙盒将会话保留在您的计算机上,但会限制 Copilot 可以访问哪些资源。

注意

云沙盒和本地沙盒是单独的技术。 云沙盒是一个由 GitHub 托管并运行整个会话的环境。 本地沙盒机制是你自己的计算机上的一组操作系统限制。 一方的设置、策略和命令不适用于另一方。

云沙盒本地沙箱化
Copilot 运行位置在 GitHub 托管的独立 Linux 环境中在设备上
它的用途在不使用设备的情况下运行会话限制 Copilot 的命令在你的计算机上可以访问哪些资源
使用场景您通过Copilot在GitHub网站上发起的云会话、GitHub Mobile、Slack、Microsoft Teams、GitHub Copilot app、Visual Studio Code和Copilot SDK
Copilot CLI 和该 GitHub Copilot app
如何开始使用它没有单独的设置。 当你使用 Copilot 中的功能时,即可使用它。在 Copilot CLI 或 GitHub Copilot app 中将其打开,或者你的企业可能会要求启用此功能。

有关本地沙盒的更多信息,请参阅 关于 GitHub Copilot 的本地沙盒。

在哪些情况下使用云沙盒Copilot

默认情况下,当您从以下任一位置启动 Copilot 时,它会在云沙盒中运行一个云会话:

  • 网站上的聊天界面GitHub

  • GitHub Mobile

  • Slack 和 Microsoft Teams

  • GitHub Copilot app

  • Visual Studio Code

  • 中的云会话 Copilot SDK

在 Copilot CLI默认情况下,会话在计算机上运行。 还可以在云沙盒中启动会话。 请参阅“从Copilot CLI启动云会话”。

选择 Copilot 的运行位置

Copilot 可以在以下环境之一中运行会话:

  • 云:Copilot 在托管 GitHub 的云沙盒中运行会话。
  • 操作:Copilot cloud agent 在 GitHub Actions 作业中运行会话,可在 GitHub 托管的运行程序或您配置的运行程序上运行。

会话还可以在你自己的计算机上运行,例如在 Copilot CLI 或 GitHub Copilot app 中。 这些会话不使用云沙盒。

可以在 云 和 Actions之间进行选择,云 是默认值。 在会话启动时选择环境,之后无法更改它。 若要使用不同的环境,请启动一个新会话。

选择方式以及可从中选择的环境取决于从中启动会话的客户端。 有关每个客户端中的步骤,请参阅 启动GitHub Copilot会话。

如果存储库依赖于仅在**** 上有效的自定义项(例如设置步骤、更大的运行程序或自承载运行程序,或 Windows 开发环境),请选择GitHub Actions。 否则,请使用 Cloud。 有关详细信息,请参阅 自定义云沙盒会话的方法。

从 Copilot CLI 启动云会话

若要在云沙盒中启动 Copilot CLI 会话,请运行:

Shell
copilot --cloud

--cloud命令行选项在云沙盒中启动交互式Copilot CLI会话。 你可以提示 Copilot 执行任务、运行 shell 命令并迭代修改代码,就像在本地会话中一样。 Copilot 运行的命令是在云沙盒中执行,而不是在本地计算机上执行。

该 --cloud 选项仅适用于使用该选项启动的会话。 若要在云沙盒中运行另一个会话,请再次启动 --cloud CLI。 --cloud只能用于交互式会话,因此不能将其与-i或-p选项结合使用。

会话生命周期

返回到会话时,会恢复到之前状态,文件和未完成的工作都会保留。 当会话停止时,云沙盒会保留其状态的快照,以便你可以从上次停止的地方继续。

隔离和网络访问

每个云沙盒都独立于计算机和其他会话。 由于会话未在您的计算机上运行,因此 Copilot 在云沙盒中运行的命令无法读取或更改您计算机上的文件。

从云沙盒进行网络访问遵循与Copilot cloud agent相同的防火墙设置,包括建议的允许列表以及组织或存储库所有者添加的任何自定义允许列表规则。 有关详细信息,请参阅“自定义或禁用GitHub Copilot的防火墙”。

如果 Copilot 需要访问不在允许列表中的主机,请将该主机添加到允许列表,然后启动一个新会话。 允许列表更改不适用于正在运行的会话。

自定义云沙盒会话

可以在 github.com/copilot/customize 自定义云沙盒设置。 还可以使用带根 .copilot 目录的 dotfiles 存储库将个人说明、技能和自定义代理引入云沙盒会话。 创建或恢复沙盒时,将复制点文件,而无需运行安装脚本。 此个性化设置在基于 GitHub Actions 的会话中不可用。 有关设置指南,请参阅 个性化设置云端会话。

其他自定义项使用 GitHub Actions,因此它们仅适用于在 操作上运行的会话:其中包括:

  • 在 copilot-setup-steps.yml 文件中的设置步骤,包括使用 OpenID Connect (OIDC) 登录到云提供商的步骤
  • 更大的自托管运行器
  • Windows开发环境

如果存储库依赖于其中任一项,请在委托任务时选择“操作”。 有关详细信息,请参阅 在 GitHub Actions 上为代理配置开发环境。

如果您想要更高程度的自定义,则可以将 Linux 计算机或代码空间注册为自定义环境,并在支持自定义环境的客户端中选择它。 与云沙盒不同,您需要管理主机、其工具和依赖项及其生命周期。 请参阅“为代理创建自定义环境”。

Access

云沙盒使用现有的 Copilot 身份验证。 无需配置单独的云提供商、管理 API 密钥或设置基础结构。

云沙盒没有单独的访问策略。 如果你通过组织或企业获取 Copilot,Copilot in the cloud 策略将控制是否可以启动在云沙盒中运行的会话。 默认情况下,策略处于启用状态。 有关管理员的信息,请参阅 管理组织或企业的云沙盒。

Billing

云沙盒是根据使用情况计费的。 GitHub 通过三项计量指标来衡量云沙盒使用情况:

米Description单位价格(USD)
计算云沙盒会话的运行时间。vCPU·秒$0.000024
内存云沙盒会话运行期间分配的内存。GiB 秒$0.0000003
存储已停止会话的快照存储。GiB 月0.005 美元

有关如何测量和计费云沙盒使用情况的详细信息,请参阅 适用于 GitHub Copilot 的云和本地沙盒的计费。

延伸阅读