本文介绍有关远程访问 Copilot CLI 会话的概念。 有关如何启用远程访问的说明,请参阅 通过其他设备控制 GitHub Copilot CLI 会话。
介绍
在本地计算机上启动 GitHub Copilot CLI 会话时,会话通常只能从启动它的终端访问。 但是,你可以启用GitHub.comGitHub Mobile对会话的远程访问,从而可以查看正在处理的任务Copilot的进度,并响应提示以获取更多信息或请求权限。
这在以下情况下非常有用:
-
**离开工作站**:在笔记本电脑上启动会话,然后被叫走,或者你完成了一天的工作,但你想要继续与 Copilot 计算机交互,而无需返回到计算机。 -
**监视长时间运行的任务**:你启动了一个需要时间完成的复杂任务,但没有授予 Copilot 执行每个操作的完全权限。 你需要定期评估和响应权限请求,以允许任务继续。为了确保远程访问功能的稳定性,会话输出的大小限制为 60 MB,并将该输出传递给远程接口。 因此,生成大量输出的长时间运行的会话可能会在远程接口中降低性能。 本地终端会话不受影响。
-
**从移动设备快速访问**:你现在正在处理其他事情,但你正在使用 GitHub Mobile 以便一目了然地查看在 Copilot CLI 开始的任务进度。
注意
* Copilot CLI会话的远程访问处于公共预览版状态,并且可能会发生更改。
- 移动访问目前仅在最新 beta 版本的GitHub Mobile中可用。 可以通过GitHub Mobile 和适用于 Android 的 Google Play 加入测试计划。
先决条件
远程访问需要:
-
**策略启用**:对于拥有 Copilot 组织席位的用户,远程访问由组织和企业级别的策略进行管理。 “远程控制”策略默认处于关闭状态,但企业或组织所有者可以启用。 请参阅 [管理远程访问](#administering-remote-access)。 -
**存储库GitHub**:启动 CLI 的工作目录必须包含一个托管于GitHub.com的 Git 存储库。 如果尝试在存储库外部 GitHub 启用远程访问,CLI 会显示消息:“远程会话已禁用:不在存储库中 GitHub ” -
**计算机必须处于联机**状态:CLI 会话必须在具有 Internet 连接的计算机上的终端中主动运行。 如果计算机进入睡眠状态或失去连接,则远程访问在计算机重新联机之前不可用。 请参阅本文后面的 [重新连接](#reconnection) 。 -
**交互式会话**:远程访问仅适用于交互式会话。 以编程方式使用 `--prompt` 命令行选项时不可用,例如在脚本中使用 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。 这包括聊天消息、工具执行事件和权限请求。
- 远程命令由 GitHub 轮询,并注入到 Copilot CLI 的本地会话中。
- CLI 本身将继续在本地运行。 在您的计算机上发生所有 shell 命令、文件操作和工具执行,远程访问不会授予对本地计算机的任何直接访问权限,而是 CLI 代理在会话中能够执行的操作。
远程会话链接(启用远程访问时显示在 CLI 中)指向会话特定的 URL GitHub.com。 只有具有正确帐户的经过身份验证的用户才能访问此 URL。
管理远程访问
用户允许远程访问其Copilot CLI会话的能力可以由企业或组织设置中的策略来控制。 如果组织或企业级别禁用了远程访问,则从组织获取 Copilot 的用户将无法使用远程访问。
默认情况下,“远程控制”策略处于关闭状态,因此必须先由企业或组织所有者启用该策略,然后用户才能开始远程监视和指导其 CLI 会话。
有关为企业或组织设置策略的详细信息,请参阅 管理组织中GitHub Copilot的策略和功能 和 为企业管理 Copilot CLI。