Skip to main content

通过其他设备控制 GitHub Copilot CLI 会话

启用对会话的 Copilot CLI 远程访问,以便你可以监视进度、响应提示以及继续从 GitHub.com 或 GitHub Mobile继续工作。

远程访问使你能够从任何浏览器或从GitHub Mobile连接到正在运行的Copilot CLI会话。 可以查看会话输出、响应权限请求,并继续在会话中工作,而无需在运行会话的计算机。

本文介绍如何启用和使用远程访问。 有关更多概念性信息,请参阅 关于对会话的 GitHub Copilot CLI 远程访问

注意

* Copilot CLI会话的远程访问处于公共预览版状态,并且可能会发生更改。

先决条件

  • 运行 CLI 会话的计算机必须处于联机状态,会话在终端中主动运行。

    提示

            `/keep-alive` 斜杠命令用于防止您的电脑在不在时进入睡眠状态。 请参阅 [防止计算机进入睡眠](#preventing-your-machine-from-going-to-sleep)状态。
    
  • 工作目录必须包含托管在上的 GitHub.comGit 存储库。 如果不在存储库中 GitHub ,CLI 将显示:“远程会话已禁用:不在存储库中 GitHub 。

为会话启用远程访问

可以通过三种方式启用远程访问:

  • 在交互式会话期间使用斜杠命令。
  • 启动 Copilot CLI时使用命令行选项。
  • 通过将 CLI 配置为在所有交互式会话中默认启用远程访问。

使用/remote斜杠命令

如果已在交互式会话中并想要启用远程访问,请输入:

Copilot prompt
/remote

CLI 连接到 GitHub.com,并显示远程访问该会话的详细信息,详见本文后续部分关于GitHub.com的会话访问GitHub Mobile的会话访问

使用--remote命令行选项

如果认为你可能想要远程访问会话,可以使用命令行选项启动 CLI --remote 。 这样就无需记住在会话期间使用 /remote 斜杠命令。

Bash
copilot --remote

当交互式会话启动时,将显示远程访问会话的详细信息,并且随时可以使用 /remote 斜杠命令再次显示。

配置远程访问以始终启用

如果始终希望远程访问交互式 CLI 会话,请将以下内容 Copilot 添加到配置文件(通常位于 ~/.copilot/config.json):

JSON
{
  "remoteSessions": true
}

若要覆盖特定会话的此设置,请使用 --no-remote 启动会话时的选项:

Bash
copilot --no-remote

注意

命令行选项 --remote ,并且 --no-remote 始终优先于 remoteSessions 配置文件中的设置。

从 GitHub.com 访问会话

启用远程访问后,CLI 将显示采用以下格式的链接:

https://github.com/OWNER/REPO/tasks/TASK_ID

使用此链接访问 Web 浏览器中的会话。 必须使用启动 CLI 会话的同一帐户登录 GitHub 。

还可以从最近的代理会话 GitHub.com列表中访问会话:

  1. 在 GitHub 的左上角,单击
  2. 单击 Copilot
  3. 在“最近的代理会话”中,单击您的 Copilot CLI 会话以将其打开。

重要

会话特定于用户:只能访问自己的 Copilot CLI 会话。 其他用户 GitHub 无法访问会话。

从GitHub Mobile中访问会话

启用远程访问后,便可以在GitHub Mobile中立即提供Copilot CLI会话。 在 GitHub Mobile 中找到您的会话,请执行以下步骤:

  1.        **
           <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-copilot" aria-label="copilot" role="img"><path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path></svg>
           Copilot
           **点击屏幕右下角的按钮。
    

    会话列在“代理会话”下。

  2. 点击会话以打开它。

使用 QR 码快速打开手机上的会话

  1. 在交互式会话中 /remote ,输入斜杠命令以重新显示远程会话详细信息。

  2. Ctrl+E 可打开/关闭 QR 码的显示。

    注意

    此键盘快捷方式可展开/折叠会话对话中的所有详细信息,而不仅仅是 QR 码。 仅当输入字段当前为空时,它才有效。

  3. 使用手机扫描 QR 码以直接转到会话。GitHub Mobile

防止计算机进入睡眠状态

可以使用 /keep-alive 斜杠命令阻止计算机进入睡眠状态。 这样,就可以保持远程连接,并且继续从GitHub.com或GitHub Mobile与会话交互。

在交互式会话中,输入 /keep-alive OPTION ,其中 OPTION 为以下之一:

  •         `on`:阻止计算机在 CLI 会话处于活动状态时进入睡眠状态。
    
  •         `off`:允许计算机正常进入睡眠状态。
    
  •         `busy`:仅当 Copilot 正在执行任务时,防止计算机进入睡眠状态。 代理完成任务后,计算机可以正常进入睡眠状态。 如果 Copilot 等待你响应来自你的输入请求,计算机将不会进入睡眠状态。
    
  •         `NUMBERm`、、`NUMBERh`或`NUMBERd`(例如,`30m`)`8h``1d`防止计算机在特定分钟数、小时数或天数内进入睡眠状态。 如果提供的是未加后缀的数值,则会将其视为分钟数。
    

未传递OPTION时,/keep-alive命令会显示当前保持活动状态。

恢复具有远程访问的会话

关闭启用了远程访问的会话时,CLI 会显示一个恢复命令,其中包括 --remote

copilot --resume=SESSION_ID --remote

使用此命令重启启用了远程访问的会话。

同样,将--remote添加到copilot --continue命令中会恢复启用远程访问的最新会话。

如果在您的Copilot配置文件中包含"remoteSessions": true,则会话恢复时将自动启用远程访问,您无需使用--remote选项。

阻止远程访问

默认情况下禁用远程访问,但可以在配置文件Copilot中启用。 可以通过以下方式确保无法远程访问会话:

  •         **对于单个会话**:启动 CLI `--no-remote`,即便配置文件中有设置,仍可防止该会话的远程访问。
    
  •         **永久**:从`"remoteSessions": true`配置文件中删除Copilot设置(或将其设置为 `false`)。