Skip to main content

关于对会话的 GitHub Copilot 命令行界面 (CLI) 远程访问

访问Copilot CLI会话,以便在离开运行会话的计算机之后,可以通过GitHub.com或GitHub Mobile监控和引导会话。

本文介绍有关远程访问 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 --continuecopilot --resume=ID)必须重新启用远程访问。 有关详细信息,请参阅“通过其他设备控制 GitHub Copilot 命令行界面 (CLI) 会话”。

远程访问会话的可见性

远程访问仅适用于你,即已经使用启动 CLI 会话的同一帐户登录GitHub的用户。 其他人无法远程查看或与会话交互。

需要注意的要点

启用远程访问时:

  • 会话事件从本地计算机发送到 GitHub。 这包括聊天消息、工具执行事件和权限请求。
  • 远程命令由 Copilot CLI 从 GitHub 中轮询,并注入到你的本地会话中。
  • CLI 本身将继续在本地运行。 所有 shell 命令、文件操作和工具执行都发生在你的计算机上 - 远程访问不会授予对本地计算机的任何直接访问权限,除非是为了让 CLI 代理在会话中执行相关操作。

远程会话链接(启用远程访问时显示在 CLI 中)指向会话特定的 URL GitHub.com。 只有具有正确帐户的经过身份验证的用户才能访问此 URL。

管理远程访问

用户允许远程访问其Copilot CLI会话的能力可以由企业或组织设置中的策略来控制。 如果组织或企业级别禁用了远程访问,则从组织获取 Copilot 的用户将无法使用远程访问。

默认情况下,“远程控制”策略处于关闭状态,因此必须先由企业或组织所有者启用该策略,然后用户才能开始远程监视和指导其 CLI 会话。

有关为企业或组织设置策略的详细信息,请参阅 管理组织中GitHub Copilot的策略和功能为企业管理 Copilot CLI