Visual Studio Code 中的后台代理
Visual Studio Code 中的后台代理是基于 CLI 的代理,例如 Copilot CLI,它们在您的本地计算机上作为后台进程运行。在您继续在编辑器中进行其他工作时,它们可以独立运行。后台代理可以使用 Git worktrees 来实现与您的主工作区隔离,并防止与您当前工作的冲突。
本文介绍了后台代理的关键功能,以及如何从 Copilot CLI 或 OpenAI Codex 启动和管理后台会话。

什么是后台代理?
与在 VS Code 编辑器上下文中运行并感知其上下文的本地代理不同,后台代理通过本地计算机上的命令行界面 (CLI) 独立运行。您可以从 VS Code 中的统一聊天视图中查看和管理所有后台代理会话。此视图还允许您直接从 VS Code 创建新的后台代理会话,或将本地代理对话移交给后台代理。
由于后台代理在后台运行且无需用户交互,因此它们非常适合范围明确且具有所有必要上下文的任务。例如,根据计划实现一个功能,创建概念验证的多个变体,或实现明确定义的修复或功能。
后台代理会自动将更改应用到您的代码库。为防止干扰您在编辑器中的当前工作,后台代理可以使用 Git worktrees 在隔离的环境中运行,从而在不影响您主工作区的情况下进行更改。当您启动带有 worktree 隔离的后台代理会话时,VS Code 会为该会话自动创建一个单独的文件夹。您可以选择在主工作区中运行后台代理,但这可能会导致冲突。
后台代理通过 CLI 运行,无法直接访问 VS Code 内置工具和运行时上下文(例如失败的测试或文本选择)。它们也无法访问 MCP 服务器或扩展提供的工具。它们仅限于通过 CLI 工具可用的模型。后台代理可以运行终端命令,并在需要时提示您进行批准。
要将任务分配给后台代理,您可以直接从聊天视图创建新的后台会话,使用代理的专用 CLI,或将 VS Code 中的本地聊天对话移交给后台代理会话。
Copilot CLI
Copilot CLI 是 VS Code 中的主要后台代理。您可以直接从终端使用 Copilot CLI,也可以在 VS Code 中启动和管理会话。
要开始使用,请确保已安装并设置 Copilot CLI。VS Code 应该会自动为您处理此问题,但您也可以选择通过以下命令手动安装 CLI:
npm install -g @github/copilot
在 GitHub 文档中了解有关 Copilot CLI 的更多信息。
OpenAI Codex
OpenAI Codex 后台代理使用 OpenAI 的 Codex 来自主执行编码任务。要使用 OpenAI Codex 代理,请确保从 Visual Studio Marketplace 安装 OpenAI Codex 扩展。
VS Code 中的 OpenAI Codex 使您可以使用 Copilot Pro+ 订阅进行身份验证并访问 Codex,而无需额外设置。在 GitHub 文档中获取有关 GitHub Copilot 计费和高级请求的更多信息。
查看和管理后台代理会话
您可以从 VS Code 的聊天视图中查看和管理所有后台代理会话。通过从筛选选项中选择 **后台代理 (Background Agents)** 来筛选会话列表,仅显示后台代理会话。

从列表中选择一个后台代理会话,即可在聊天视图中打开会话详细信息。如果您更喜欢在编辑器选项卡(聊天编辑器)中查看会话,请右键单击该会话并选择 **在编辑器中打开 (Open as Editor)**。
如果您更喜欢在终端中查看后台会话而不是 VS Code 中的聊天对话,请在聊天视图中右键单击该会话并选择 **在终端中恢复代理会话 (Resume Agent Session in Terminal)**。您可以直接在 VS Code 中与 Copilot CLI 进行交互。

启动后台代理会话
根据您的工作流程,您可以通过多种方式启动后台代理会话。您可以通过 CLI 创建新会话并直接提供任务详细信息,或者从 VS Code 中的 聊天视图 (Chat view) 启动新会话。
另一种方法——尤其是对于复杂任务——是先在 VS Code 聊天中与本地代理交互,一旦范围和细节明确,就将任务移交给后台代理会话。例如,您可以使用 Plan agent 来概述多步功能实现,然后将实际编码委托给后台代理。
创建 Copilot CLI 后台代理会话
您可以通过几种方式在 VS Code 中创建新的 Copilot CLI 后台代理会话:
-
从聊天视图
-
打开聊天视图 (⌃⌘I (Windows, Linux Ctrl+Alt+I))
-
选择 **新建聊天 (New Chat)** 下拉菜单 > **新建后台代理 (New Background Agent)**
-
-
在本地聊天会话中
-
在聊天输入框中键入
@cli <task description>并发送消息 -
输入提示,然后选择 **在...中继续 (Continue In)** > **后台代理 (Background Agent)**
-
-
从命令面板运行 **Chat: New Background Agent** 命令(⇧⌘P (Windows, Linux Ctrl+Shift+P))
将打开一个新的后台代理会话,您可以在其中提供其他任务详细信息并跟踪 Copilot CLI 会话的进度。
当您在终端中使用 GitHub Copilot CLI 启动会话时,VS Code 中的聊天视图会自动检测并显示此后台会话。您可以进一步在 VS Code 中与此后台会话进行交互。
创建 OpenAI Codex 后台代理会话
从聊天视图创建新的 OpenAI Codex 后台代理会话
-
从聊天视图
-
打开聊天视图 (⌃⌘I (Windows, Linux Ctrl+Alt+I))
-
选择 **新建聊天 (New Chat)** 下拉菜单 > **新建 Codex 代理 (New Codex Agent)**
-
-
从命令面板运行 **Codex: New Codex Agent** 命令(⇧⌘P (Windows, Linux Ctrl+Shift+P))
将打开一个新的 Codex 后台代理会话,您可以在其中提供其他任务详细信息并跟踪 Codex 会话的进度。
将代理会话移交给后台代理
对于复杂任务,先在 VS Code 聊天中与本地代理进行交互以澄清需求,然后将任务移交给后台代理进行自主执行可能会很有帮助。当您将本地代理对话移交给后台代理会话时,完整的对话历史记录和上下文将传递给后台代理。
将本地代理会话继续到后台代理会话
-
打开聊天视图 (⌃⌘I (Windows, Linux Ctrl+Alt+I))
-
与本地代理进行交互,直到您准备好将任务移交给后台代理为止
-
要移交给后台代理,您有以下选择:
-
选择 **在...中继续 (Continue In)**,然后选择 **后台 (Background)**

-
如果您使用的是 Plan agent,请选择 **开始实现 (Start Implementation)** 下拉菜单,然后选择 **在后台继续 (Continue in Background)** 以在后台代理会话中运行实现

-
在聊天输入框中键入
@cli将任务移交给后台代理
-
后台代理会话将自动启动,并继承完整的对话历史记录和上下文。您可以在聊天视图中监控后台代理的进度。
创建隔离的后台代理会话(实验性)
为了将后台代理的更改与主工作区隔离,您可以创建一个使用 Git worktree 的后台代理会话。当您创建 worktree 时,VS Code 会为该会话创建一个单独的文件夹。后台代理在此隔离的文件夹中运行,以防止与您的当前工作发生冲突。
要在后台代理会话中使用 Git worktrees
-
在 VS Code 中启动新的 Copilot CLI 后台代理会话。
-
在聊天输入框中,为隔离模式选择 **Worktree**。

当您选择 **Workspace** 时,后台代理会将更改直接应用于您的主工作区。
-
输入提示以启动代理会话。VS Code 会自动创建一个新的 Git worktree。
后台代理所做的所有更改都将应用到 worktree 文件夹,从而将它们与主工作区隔离。
-
在“源代码管理”视图的“**存储库 (Repositories)**”视图中,您可以查看 Git worktree。

“代理 (Agents)”视图还会显示后台代理会话的 worktree 路径。
-
在“代理”视图中监控后台代理的进度
-
后台代理完成任务后,您可以审查并将更改从 worktree 合并回您的主工作区。
提示在合并更改之前,您可以使用聊天编辑器中的 **应用更改 (Apply Changes)** 按钮直接将它们从 worktree 应用到主分支。
了解有关在 VS Code 源代码管理中 使用 Git worktrees 的更多信息。
将自定义代理与后台代理结合使用(实验性)
自定义代理 (Custom agents) 让您在 VS Code 中为代理定义自定义角色和身份。例如,您可以创建一个用于执行代码审查的自定义代理。自定义代理可以定义特定的指令和行为。
当您创建后台代理会话时,您可以选择一个自定义代理来处理任务。后台代理将根据自定义代理定义的行为进行操作。
启用自定义代理与后台代理结合使用
-
使用 github.copilot.chat.cli.customAgents.enabled 设置,为后台代理启用自定义代理。
-
使用命令面板中的 **Chat: New Custom Agent** 命令在您的工作区中创建自定义代理(⇧⌘P (Windows, Linux Ctrl+Shift+P))。
注意目前,只有在工作区中定义的自定义代理可用于后台代理会话。了解有关 创建自定义代理 的更多信息。
-
创建新的后台代理会话,并从“代理 (Agents)”下拉列表中选择自定义代理。

-
输入提示,并注意已使用自定义代理来处理任务。
相关资源
- 代理概述 (Agents overview):了解不同类型的代理以及如何代理之间移交任务。
- 云代理 (Cloud agents):了解需要 GitHub 集成的云代理。
- 自定义代理 (Custom agents):创建自定义代理角色和身份。
- GitHub Copilot CLI 文档