Visual Studio Code 中的后台代理
“后台代理”一词在实验运行时,也可能在 VS Code 界面中显示为“Copilot CLI”或“worktree”。
Visual Studio Code 中的后台代理直接从 VS Code 启动,并在您的本地机器上自主运行,同时您可以继续在编辑器中进行其他工作。它们会将进度报告回统一的 Chat 视图,并使用 Git worktrees 与您的主工作区隔离工作,从而防止与您的活跃工作发生冲突。您可以并行运行多个后台会话,同时处理独立的任务。
本文涵盖了后台代理的关键功能,以及如何从 Copilot CLI 启动和管理后台会话。

OpenAI Codex 等第三方提供商也提供后台代理功能。了解更多关于 第三方代理的信息。
什么是后台代理?
与在 VS Code 编辑器上下文中运行并具有上下文感知的本地代理不同,后台代理通过命令行界面 (CLI) 在您的本地机器上独立运行。您可以从 VS Code 中的统一 Chat 视图查看和管理所有后台代理会话。此视图还允许您直接从 VS Code 创建新的后台代理会话,或将本地代理对话转移到后台代理。
由于后台代理在后台运行,无需用户交互,因此它们非常适合具有明确范围和所有必要上下文的任务。例如,可以根据计划实现功能,创建多个概念验证方案,或实现明确定义的修复或功能。
您可以直接在聊天中选择后台会话类型来启动新的后台代理会话。或者,您可以将本地会话转移到后台代理以在后台继续。
后台代理支持聊天中的斜杠命令,包括 可重用提示、代理技能、钩子,以及 /compact 用于管理长对话。在后台会话的聊天输入框中键入 / 以查看可用命令。
为了防止干扰您在编辑器中的活跃工作,后台代理使用 Git worktrees 在 隔离的环境中运行,它们进行更改而不会影响您的主工作区。当您启动后台代理会话时,VS Code 会自动为该会话创建一个单独的文件夹。
后台代理的限制
- 除非您明确将该上下文添加到提示中,否则后台代理无法直接访问 VS Code 内置工具和运行时上下文(例如失败的测试或文本选择)。
- 无法访问扩展程序提供的工具,并且仅限于通过 CLI 工具可用的模型。
- 目前只能访问不需要身份验证的本地 MCP 服务器。
Copilot CLI
Copilot CLI 是 VS Code 中的主要后台代理。您可以从 Chat 视图启动和管理会话,或直接从 VS Code 终端使用 Copilot CLI。
VS Code 会自动为您安装和配置 Copilot CLI。当您直接在 CLI 中启动会话时,该会话也会出现在会话列表中,您可以在其中跟踪其进度并进一步与之交互。
了解更多关于 从终端使用 Copilot CLI的信息,或参阅 GitHub 上的 Copilot CLI 文档。
查看和管理后台代理会话
您可以从 VS Code 中的 Chat 视图查看和管理所有后台代理会话。从筛选选项中选择 后台代理 以仅显示后台代理会话。

从列表中选择后台代理会话,在 Chat 视图中打开会话详细信息。如果您希望在编辑器选项卡(聊天编辑器)中查看会话,请右键单击该会话并选择 以编辑器打开。您还可以 从终端使用 Copilot CLI 与会话交互。
启动后台代理会话
根据您的工作流程,您可以以多种方式启动后台代理会话。您可以创建一个新会话并直接提供任务详细信息,或者从 VS Code 中的 Chat 视图 启动新会话。
另一种方法 - 特别是对于复杂任务 - 是首先在 VS Code 聊天中与本地代理交互,一旦范围和细节清晰,再将任务转移到后台代理会话。例如,您可以使用 Plan agent 概述一个多步骤的功能实现,然后将实际编码委托给后台代理。
创建 Copilot CLI 后台代理会话
您可以通过多种方式在 VS Code 中创建新的 Copilot CLI 后台代理会话
-
从 Chat 视图
-
打开聊天视图 (⌃⌘I (Windows, Linux Ctrl+Alt+I))
-
选择 转移会话 下拉菜单 > 后台
-
-
在本地聊天会话中
- 输入提示,选择 转移会话 下拉菜单 > 后台
-
从命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 运行 Chat: 新建后台代理 命令
一个新的后台代理会话打开,您可以在其中提供其他任务详细信息并跟踪 Copilot CLI 会话的进度。
您可以将图像附加到聊天输入框中,为后台会话提供视觉上下文。
将代理会话转移到后台代理
对于复杂任务,首先在 VS Code 聊天中与本地代理交互以明确需求,然后将任务转移到后台代理进行自主执行可能会有所帮助。当您将本地代理对话转移到后台代理会话时,完整的对话历史记录和上下文都会传递给后台代理。
要继续在后台代理会话中运行本地代理会话
-
打开聊天视图 (⌃⌘I (Windows, Linux Ctrl+Alt+I))
-
与本地代理交互,直到您准备好将任务转移到后台代理
-
要转移到后台代理,您有以下选项
-
打开 转移会话 下拉菜单,然后选择 后台

-
如果您正在使用 Plan agent,请选择 开始实现 下拉菜单,然后选择 在后台继续 以在后台代理会话中运行实现

-
后台代理会话将自动启动,并携带完整的对话历史记录和上下文。您可以在 Chat 视图中监控后台代理的进度。
从终端使用 Copilot CLI
除了从 Chat 视图启动后台代理会话外,您还可以直接从 VS Code 终端使用 Copilot CLI。
打开 Copilot CLI 终端
VS Code 注册了一个 GitHub Copilot CLI 终端配置文件,您可以使用它来打开一个专用的 Copilot CLI 终端。您可以通过以下方式打开 Copilot CLI 终端
-
选择终端面板中 + 按钮旁边的下拉菜单,然后选择 GitHub Copilot CLI
-
从命令面板运行 Chat: 新建 CLI 会话 命令以在面板中打开 Copilot CLI 终端,或运行 Chat: 新建 CLI 会话到侧边 以在当前编辑器旁边的编辑器选项卡中打开它
-
从命令面板运行 Terminal: 创建新终端(使用配置文件) 命令 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 并选择 GitHub Copilot CLI
-
在任何 VS Code 集成终端中键入
copilot以直接启动 Copilot CLI
Copilot CLI 终端支持以下 shell
- bash 和 zsh 在 macOS 和 Linux 上
- PowerShell 和 Command Prompt 在 Windows 上
从终端启动和恢复会话
当您从 Copilot CLI 终端启动新会话时,VS Code 会自动检测到该会话并在 Chat 视图会话列表中显示它。然后,您可以从终端或 Chat 视图跟踪进度、发送后续提示或查看更改。
要恢复终端中的现有后台代理会话,请右键单击 Chat 视图中的会话并选择 在终端中恢复代理会话。

VS Code 会自动处理 Copilot CLI 终端的身份验证,因此您无需单独登录。
创建后台代理会话
后台代理会话会自动使用 Git worktrees 来隔离与主工作区的更改。当您启动后台代理会话时,VS Code 会为该会话创建一个单独的文件夹。后台代理在此隔离文件夹中运行,以防止与您的活跃工作发生冲突。
要使用 Git worktrees 启动后台代理会话
-
在 Chat 视图中,选择 转移会话 下拉菜单,然后从会话类型下拉菜单中选择 后台。
-
输入提示以启动代理会话。VS Code 会自动创建一个新的 Git worktree。
后台代理所做的所有更改都将应用于 worktree 文件夹,从而将其与您的主工作区隔离。
后台代理在每个回合结束时都会将更改提交到 worktree,因此会话历史记录与提交历史记录保持一致。
提示您可以通过在会话列表中右键单击它并选择 在新窗口中打开 Worktree 来打开后台代理会话的 worktree。您还可以通过源代码管理视图资源管理器 (
scm.repositories.explorer) 查看 worktree。
-
在聊天视图中监控后台代理的进度。代理会话列表会显示与工作树中的更改相匹配的差异统计信息。
-
后台代理完成任务后,请查看并应用工作树中的更改到您的主工作区。
会话底部的当前工作集显示了后台代理会话期间更改的文件,并提供了“应用”和“查看所有更改”操作。

-
应用更改时,VS Code 会处理与您的工作树或暂存文件之间的任何冲突。如果发生冲突,合并解决体验将帮助您解决它们。
了解更多关于在 VS Code 源代码管理中使用 Git 工作树的信息。
多仓库工作区
当您的工作区包含多个 Git 仓库时,VS Code 在您启动后台代理会话时,会在聊天输入框中显示仓库选择器。使用此选择器选择应创建工作树的仓库。
会话启动后,仓库选择器将禁用该会话。工作树将出现在“源代码管理仓库”视图中的“工作树”节点下所选仓库中。
要查看工作区中的所有仓库,请启用
使用自定义代理与后台代理 (实验性)
自定义代理允许您为 VS Code 中的代理定义自定义角色和身份。例如,您可以创建一个自定义代理来执行代码审查。自定义代理可以定义特定的指令和行为。
创建后台代理会话时,您可以选择一个自定义代理来处理该任务。后台代理将根据自定义代理定义的行为运行。
要启用具有后台代理的自定义代理
-
使用启用后台代理的自定义代理
github.copilot.chat.cli.customAgents.enabled设置来设置他们偏好的模式 -
使用命令面板中的“聊天:新建自定义代理”命令 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 在您的工作区中创建一个自定义代理。
注意目前,只有在工作区中定义的自定义代理可用于后台代理会话。了解更多关于创建自定义代理的信息。
-
创建一个新的后台代理会话,并从“代理”下拉菜单中选择自定义代理

-
输入提示,并注意自定义代理被用于处理该任务
相关资源
- 代理概述:了解不同类型的代理以及如何在代理之间转移任务
- 第三方代理:了解 OpenAI Codex 和其他第三方代理集成
- 云代理:了解用于需要 GitHub 集成的任务的云代理
- 自定义代理:创建自定义代理角色和身份
- GitHub Copilot CLI 文档