远程访问允许您通过任何浏览器或 GitHub Mobile 连接到正在运行的 Copilot CLI 会话。您可以查看会话输出、响应权限请求,并在不在运行会话的机器前的情况下继续工作。
本文介绍了如何启用和使用远程访问。欲了解更多概念性信息,请参阅 关于 GitHub Copilot CLI 会话的远程访问。
注意
- Copilot CLI 会话的远程访问目前处于公开预览阶段,可能会发生变更。
- 移动端访问目前仅在 GitHub Mobile 的最新 Beta 版本中提供。您可以通过 Apple TestFlight(iOS) 和 Google Play(Android) 加入 GitHub Mobile 的测试计划。
先决条件
-
运行 CLI 会话的机器必须保持在线,并且会话正在终端中主动运行。
提示
使用
/keep-alive斜杠命令可在您离开时防止机器进入睡眠状态。参见 防止机器进入睡眠状态。 -
工作目录必须包含托管在 GitHub.com 上的 Git 仓库。如果您不在 GitHub 仓库中,CLI 会显示:“Remote session disabled: not in a GitHub repository”。
为会话启用远程访问
您可以通过三种方式启用远程访问
- 在交互式会话期间使用斜杠命令。
- 在启动 Copilot CLI 时使用命令行选项。
- 通过配置 CLI,使所有交互式会话默认启用远程访问。
使用 /remote 斜杠命令
如果您已处于交互式会话并想启用远程访问,请输入
/remote
/remote
CLI 会连接到 GitHub.com 并显示远程访问会话的详细信息——请参阅本文后面的 从 GitHub.com 访问会话 和 从 GitHub Mobile 访问会话。
使用 --remote 命令行选项
如果您可能需要远程访问会话,可以在启动 CLI 时使用 --remote 命令行选项。这样就无需在会话期间记得使用 /remote 斜杠命令。
copilot --remote
copilot --remote
远程访问会话的详细信息会在交互式会话启动时显示,并且可以随时使用 /remote 斜杠命令再次显示。
配置始终启用远程访问
如果您想让所有交互式 CLI 会话始终可远程访问,请在 Copilot 配置文件(通常位于 ~/.copilot/config.json)中添加以下内容
{
"remoteSessions": true
}
{
"remoteSessions": true
}
若要为特定会话覆盖此设置,可在启动会话时使用 --no-remote 选项。
copilot --no-remote
copilot --no-remote
注意
命令行选项 --remote 和 --no-remote 始终优先于配置文件中的 remoteSessions 设置。
从 GitHub.com 访问会话
启用远程访问后,CLI 会以如下格式显示链接
https://github.com/OWNER/REPO/tasks/TASK_ID
使用此链接可在网页浏览器中访问会话。您必须使用启动 CLI 会话的相同账号登录 GitHub。
您也可以从 GitHub.com 上的“最近的代理会话”列表中访问该会话。
- 在 GitHub 左上角,点击.
- 点击 Copilot。
- 在“最近的代理会话”下,点击您的 Copilot CLI 会话将其打开。
重要提示
会话是基于用户的:您只能访问您自己的 Copilot CLI 会话。其他 GitHub 用户无法访问您的会话。
从 GitHub Mobile 访问会话
在启用远程访问后,Copilot CLI 会话即可在 GitHub Mobile 中使用。要在 GitHub Mobile 中找到您的会话,请
-
轻点屏幕右下角的 Copilot 按钮。
该会话列在“代理会话”下。
-
轻点该会话以打开它。
使用二维码快速在手机上打开会话
-
在交互式会话中,输入
/remote斜杠命令以重新显示远程会话详情。 -
按 Ctrl+E 切换二维码的显示/隐藏。
注意
此键盘快捷键会展开/折叠会话对话中的所有细节,而不仅仅是二维码。仅当输入框当前为空时才会生效。
-
使用手机扫描二维码,可直接在 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 配置文件中被启用。您可以通过以下方式确保会话不可远程访问:
- 针对单个会话:使用
--no-remote启动 CLI,以防止该会话的远程访问,无论配置文件设置如何。 - 永久性地:从 Copilot 配置文件中删除
"remoteSessions": true设置(或将其设为false)。