本文阐述了 Copilot CLI 会话远程访问的概念。如需了解如何启用远程访问,请参见 从其他设备引导 GitHub Copilot CLI 会话。
简介
当您在本地机器上启动 GitHub Copilot CLI 会话时,默认只能在启动该会话的终端中访问。但您可以从 GitHub.com 和 GitHub Mobile 启用远程访问,从而查看 Copilot 正在处理的任务进度,并对更多信息的提示或权限请求作出响应。
这在以下情形中很有用:
-
离开工作站:您在笔记本电脑上启动了会话,然后被叫走,或者您已经结束当天的工作,但仍想继续与 Copilot 交互,而无须返回机器。
-
监控长时间运行的任务:您启动了一个需要较长时间完成的复杂任务,但未授予 Copilot 完全执行所有操作的权限。您需要定期评估并响应权限请求,以允许任务继续进行。
为确保远程访问功能的稳定性,传递到远程界面的会话输出大小限制为 60 MB。因此,生成大量输出的超长会话可能在远程界面中出现性能下降。本地终端会话不受影响。
-
从移动设备快速访问:您现在正在处理其他事务,但使用 GitHub Mobile 以一目了然的方式查看在 Copilot CLI 中启动的任务进度。
注意
- Copilot CLI 会话的远程访问目前处于公开预览阶段,可能会有变动。
- 移动访问目前仅在 GitHub Mobile 的最新 beta 版中可用。您可以通过 Apple TestFlight(iOS) 和 Google Play(Android) 加入 GitHub Mobile 测试计划。
先决条件
远程访问需要
- 策略启用:对于拥有组织提供的 Copilot 帐号的用户,远程访问受组织和企业层面设置的策略管控。默认情况下 “Remote Control” 策略为关闭,但可由企业或组织所有者启用。参见 管理远程访问。
- GitHub 仓库:您启动 CLI 的工作目录必须包含托管在 GitHub.com 上的 Git 仓库。如果您尝试在非 GitHub 仓库中启用远程访问,CLI 将显示信息:“Remote session disabled: not in a GitHub repository”
- 机器必须在线:CLI 会话必须在具有网络连接的机器的终端中持续运行。如机器进入睡眠或失去网络连接,远程访问将不可用,直至机器重新上线。详见本文后面的 重新连接。
- 交互式会话:远程访问仅适用于交互式会话。当您使用
--prompt命令行选项以编程方式使用 CLI 时(例如在脚本中使用 CLI),则不可用。
远程访问会话
当您为 Copilot CLI 会话启用远程访问后,可前往 GitHub.com 或 GitHub Mobile,并在最近的代理会话列表中找到该会话。远程界面实时更新,您可以监控会话的持续输出,并在提示和权限请求出现时作出响应。
本地终端和远程界面同时保持激活。您可以在任一界面输入命令。Copilot CLI 将使用首次收到的对任何提示或权限请求的响应。
会话仍在本地机器上运行。远程界面提供了与会话交互的方式,但 CLI 本身以及其运行的所有工具、shell 命令和文件操作仍位于启动会话的机器上。
您可以远程执行的操作
当从 GitHub.com 或 GitHub Mobile 远程连接到会话时,您可以
- 响应权限请求:批准或拒绝工具、文件路径和 URL 的权限请求。
- 响应问题:在 Copilot 要求您提供更多信息或作出决定时进行回答。
- 批准或拒绝计划:当 Copilot 处于计划模式时,响应计划批准提示。
- 提交新提示:输入问题或指令,就像在终端中一样。
- 切换模式:更改会话模式,例如在交互式和计划模式之间切换。
- 结束当前操作:取消代理的当前工作。
注意
斜杠命令(例如 /allow-all)目前无法从远程界面使用。
重新连接
如果本地机器与 GitHub 之间的连接暂时中断——例如网络中断——您可以在连接恢复后立即继续远程使用会话。
您可以使用 /keep-alive 斜杠命令来防止机器进入睡眠。参见 防止机器进入睡眠。
如果您关闭了已启用远程访问的会话,恢复会话时——无论使用 copilot --continue 还是 copilot --resume=ID——都必须重新启用远程访问。更多信息请参见 从其他设备引导 GitHub Copilot CLI 会话。
远程访问会话的可见性
远程访问仅对您本人可用——即使用与启动 CLI 会话相同的 GitHub 账户登录的用户。其他人无法远程查看或交互您的会话。
注意事项
启用远程访问时
- 会话事件会从本地机器发送到 GitHub。包括对话消息、工具执行事件和权限请求。
- Copilot CLI 会从 GitHub 轮询远程指令并注入到本地会话中。
- CLI 本身仍在本地运行。所有 shell 命令、文件操作和工具执行都在您的机器上进行——远程访问不会提供除 CLI 代理在会话中能够执行的操作之外的任何直接本机访问权限。
远程会话链接(启用远程访问时在 CLI 中显示)指向 GitHub.com 上的特定会话 URL。只有使用正确账户进行身份验证的用户才能访问此 URL。
管理远程访问
用户是否能够为其 Copilot CLI 会话启用远程访问,可由企业或组织设置中的策略进行管控。如果在组织或企业层面禁用,来自该组织的 Copilot 用户将无法使用远程访问。
“Remote Control” 策略默认关闭,必须由企业或组织所有者启用后,用户才能开始远程监控并引导其 CLI 会话。
有关为企业或组织设置策略的更多信息,请参见 管理组织中 GitHub Copilot 的策略和功能 和 为您的企业管理 Copilot CLI。