VS Code 聊天编辑器控件与代理选项说明
更新日期:2026-10-15
适用范围:VS Code Chat Editor 的 Agent mode、Agent、Language Model、Permissions 控件;另说明在支持 Session Target(会话目标)控件的 Chat View / Agents window 中出现的 Copilot、Local、Claude、Codex、Cloud。不同版本、Harness、扩展、账号和组织策略下,控件和可用选项可能不同。
先给结论
首先要区分聊天编辑器里的控件和会话运行目标。你当前使用的 Chat Editor 提供 Agent mode、Permissions 和 Agent 选择器,但没有 Session Target 控件;因此不能把 Copilot、Local、Claude、Codex、Cloud 当作该编辑器 Agent 列表中的五个选项。
VS Code 官网当前文档把聊天界面拆成 Session Target、Agent、Language model 和 Permissions 等控件,并把 New Chat Editor 介绍为聊天视图的一种布局。实际界面可能因版本、Harness 或功能逐步发布而不同。下文按你当前看到的编辑器解释其控件,并单独说明官网所列的五种会话目标。
若在支持 Session Target 的界面看到这五项,它们也不是五个同类 AI 模型:
- Copilot、Local、Claude、Codex 是不同的 agent harness(代理运行框架):它们决定 agent 如何运行、使用哪些工具、加载哪些配置以及会话如何管理。
- Cloud 是执行目标:任务交给云端代理提供方在远程环境执行,不是一个单独的模型或固定服务商。
- 模型是另一项选择。Harness 决定 agent 的工具和工作流;模型决定主要的语言理解与生成能力。选择 Claude harness 不等于只能用某一种 Claude 模型;更换模型也不会自动更换 harness。
- 运行代码的位置与模型推理的位置是两回事。Local harness 可以调用云端模型;Copilot、Claude、Codex harness 也可以在本机运行。只有配置并使用本地模型时,模型推理才在本机进行。
Agent mode 决定交互/计划/自主执行方式;Agent 决定角色说明、可用工具和可选模型;Permissions 决定操作是否需要批准;Language Model 选择实际模型。Session Target 则决定采用哪种 harness 或远程执行目标。它们相互关联,但不能互相替代。
Chat Editor 控件
Agent mode:决定任务如何推进
| 模式 | 适用场景 | 行为与边界 |
|---|---|---|
| Interactive | 普通问答、逐步修改、希望随时介入 | Agent 可在权限允许的范围内调用工具;需要批准的操作仍由 Permissions 决定。适合边做边审查。 |
| Plan | 需求不清、改动跨模块、希望先评估方案与风险 | 先研究并产出计划供你审阅,再决定是否实施。Copilot harness 的 Plan 是专用 mode;Local harness 也可能把 Plan 提供为 Agent 角色,具体位置取决于当前界面。批准计划与批准工具操作是两件事。 |
| Autopilot | 任务边界明确、验收条件清楚,且你愿意授权代理连续执行 | 在 Copilot harness 中它是 Agent mode:可自动批准工具、遇错重试并自动回答阻塞问题。它不是单纯“回答更详细”的模式,可能自动编辑文件、运行命令或调用外部工具。Local harness 中 Autopilot 可能显示为 Permission 选项,而不是 mode。 |
**实用选择:**不确定方案或希望先审阅,选 Plan;希望一起迭代,选 Interactive;仅在任务明确且权限边界可接受时选 Autopilot。Plan 只是先规划,不代表后续实现会自动获得批准。
Agent:选择角色和工作配置
Agent 不是模型名称,也不是执行地点。内置 Agent 或自定义 Agent 可以定义角色指令、工具列表、可调用的子 Agent、可选模型以及交接动作。比如规划 Agent 可只开放读取和搜索工具,审查 Agent 可要求只报告问题而不改文件。
你当前编辑器的 Agent 列表显示此工作区可用的 agents;这是对当前界面的观察,不代表所有 Harness 的发现范围都相同。VS Code 官方支持的自定义 Agent 来源还可能包括用户级目录、组织、扩展和插件,是否显示取决于 Harness、配置位置与策略。
**工作区自定义 Agent:**通常使用 .github/agents/ 中的 .agent.md 文件;Claude 格式也支持 .claude/agents/ 下的 Agent 文件。可从 Agent 下拉菜单进入 Configure Custom Agents,或运行 Chat: New Custom Agent 创建。保存后 Agent 会出现在符合当前 Harness 和可见性规则的列表中。
自定义 Agent 可在 YAML frontmatter 中配置 name、description、tools、model、agents、handoffs 等。user-invocable: false 会使它不出现在用户选择列表中,但仍可按配置作为 subagent 使用。工具列表应遵循最小权限原则。
Permissions:控制操作审批
Permission 设置的是当前会话的审批行为,不是 Agent mode,也不是操作系统级安全隔离。
| 选项 | 含义 | 使用建议 |
|---|---|---|
| Manual permissions | 默认模式,遵循工具、URL、终端命令的审批规则;未预先批准的操作会询问你 | 日常推荐。执行写入、联网或高风险命令前检查工具名称和参数。 |
| Assisted permissions | 实验性选项,由模型评估工具调用;评估未通过时要求你批准 | 可减少打断,但模型判断可能出错;是否可用取决于版本、Harness 和隔离设置。 |
| Allow all | 自动批准工具调用,不再逐项询问 | 只用于你信任的项目和任务;可能放行文件修改、终端命令和外部调用。 |
官网对 Copilot harness 的说明将 Manual 列为默认,但新会话可由 chat.permissions.default 或组织托管策略改变。Claude 和 Codex 有各自的权限模式/审批预设;不要假设表中的选项对所有 Harness 完全一致。
**Autopilot 与 Allow all 的区别:**Copilot harness 的 Autopilot 是持续工作模式,除自动批准工具外,还会重试错误并自动处理阻塞提问;Allow all 只表示审批行为放宽。Local harness 则可能将 Autopilot 放在 Permissions 选择器中。
**Sandbox 是另一层控制:**权限决定是否询问;Sandbox 限制终端命令可访问的文件系统和网络。启用 Sandbox 后,即使使用 Allow all 或 Autopilot,终端仍受沙箱约束,但沙箱不一定覆盖所有工具。
Language Model:选择实际调用的模型
模型影响推理能力、上下文限制、响应速度和用量/计费;它不自动改变 Agent 的角色或工具权限,也不能单独决定代码操作发生在哪里。Local harness 也可以调用远程模型;要让推理在本机运行,必须另外配置和选择本地模型提供方。
Session Target:决定会话使用哪个 Harness/执行目标
Session Target 与上面的四项分离。Chat View 官方文档列出 Session Target 控件,但你当前的 New Chat Editor 没有该控件;如果该界面没有目标选择项,就不能从 Agent mode 或 Agent 名称推断所用 Harness。需要比较 Copilot、Local、Claude、Codex、Cloud 时,应在当前版本实际提供 Session Target 的界面查看。
五种会话目标快速对照
| 选项 | 它是什么 | 代码工作通常在哪里进行 | 典型使用方式 | 主要注意事项 |
|---|---|---|---|---|
| Copilot | GitHub Copilot harness,基于 Copilot SDK 和 Agent Host | 通常在当前机器的 Agent Host 中;会话可以在编辑器窗口关闭后继续,但 VS Code 应用/Agent Host 必须仍运行 | 日常问答、理解代码、规划、改代码、运行工具和测试 | 需要 GitHub/Copilot 账号及相应功能权限;可用工具、模型和政策受账号与组织设置影响 |
| Local | VS Code 内置的本地 agent harness,运行在 VS Code extension host | 当前 VS Code 工作区 | 希望 agent 在当前编辑器会话中交互式工作,使用 VS Code 的本地上下文和工具 | 关掉承载会话的编辑器窗口会停止正在进行的任务;“Local”不表示模型也在本机 |
| Claude | 集成 Anthropic Claude Agent SDK 的 harness | 当前工作区或隔离 worktree,具体取决于会话设置 | 想使用 Claude harness 的项目配置、权限模式和工作流 | 需要配置支持的登录/计费方式;Copilot 转发模型和自带 API Key(BYOK)可能走不同计费渠道 |
| Codex | OpenAI Codex harness;可通过 Codex 扩展或实验性的 Agent Host 集成提供 | 通常是本机交互/后台会话;具体取决于所用集成 | 想使用 Codex 的代码代理工作流,交互实现或后台处理任务 | 需要安装并配置对应集成;扩展版与 Agent Host 实验版的要求、界面和账号选项不同 |
| Cloud | 云端执行目标,由可用的云代理提供方处理任务 | 提供方管理的远程环境,通常面向 GitHub 仓库并以 Pull Request 交付 | 将独立、可描述清楚的工作委派出去,让它在本地之外运行 | 需要 GitHub 仓库和云代理访问权限;不会使用本机编辑器上下文或 VS Code 内置工具,模型/工具由云端提供方配置 |
分项说明
1. Copilot:日常开发的通用代理框架
Copilot harness 使用 GitHub Copilot 的共享 agent 运行时,为 agent 提供会话、上下文与工具执行能力。一般可在一个工作流里让它理解仓库、提出方案、修改代码并运行验证。
适合:
- 需要结合当前 VS Code 项目连续开展的日常开发任务。
- 想让 agent 阅读多处代码、编辑文件、运行测试并根据结果修正。
- 希望会话在编辑器窗口关闭后仍可继续处理,且 VS Code Agent Host 保持运行。
- 需要在 Copilot 支持的界面之间继续受支持的会话。
不应误解为:
- Copilot harness 不代表只能使用某个固定底层模型。可选模型会受订阅、组织策略和当前 harness 支持范围限制。
- Copilot harness 和 Copilot 云代理不是一回事。前者是 agent harness;Cloud 是远程执行目标。
- 共用 SDK 不代表不同 Copilot 产品拥有完全相同的工具、模型、权限或配置。
2. Local:VS Code 内置的本地代理运行框架
Local harness 在 VS Code extension host 中运行,面向当前工作区进行交互式操作。它使用 VS Code 中配置的模型,可以是 Copilot 提供的模型,也可以是符合条件的自带模型。
适合:
- 希望任务紧贴当前编辑器窗口和工作区,由自己边看边引导。
- 任务较短,或需要频繁审阅 agent 的步骤和修改。
- 想使用 VS Code Local harness 提供的 Ask、Agent、Plan 等角色(可用角色依版本变化)。
限制与边界:
- 关闭运行会话的编辑器窗口,会停止仍在进行的 Local harness 任务。
- Local 说的是 harness,不是模型所在地。若选用云端模型,提示和代码上下文仍可能发送给相应模型服务商。
- Local harness 与 Copilot harness 使用的定制配置、工具可用性和 hooks 支持可能不同;不要假设一份配置在所有 harness 中行为相同。
- 使用本地模型可以离线处理聊天,但依赖 GitHub/Copilot 服务的语义搜索、行内补全、embedding 等功能仍可能需要账号和网络,不能据“本地模型”推断所有 AI 功能都离线。
3. Claude:Anthropic 的代理框架
Claude harness 将 Anthropic Claude Agent SDK 集成到 VS Code。会话可使用 Claude 项目配置和相应提供方工作流,在当前工作区或隔离 worktree 中运行。
适合:
- 团队已经围绕 Claude 项目配置或 Claude 工作流进行开发。
- 想在 VS Code 中使用 Claude harness 的工具与权限行为,而不只是把 Copilot harness 的模型切换成 Claude。
- 需要按任务选择当前可用的 Claude 模型或模型提供方。
账号和计费要点:
- 通过 GitHub Copilot 提供的模型时,按 Copilot 订阅及其规则计费。
- 使用自带 Claude API Key 或其他受支持的 BYOK 方式时,通常由配置的提供方计费。
- 同一个 Claude harness 会话可能允许在不同提供方模型之间切换;选中的模型/提供方决定该轮请求的路由与计费方式,需看实际模型选择器。
- API Key 应通过受控的密钥配置渠道提供,不要放进仓库、提示词或普通聊天记录。
Claude harness 与 Claude 模型不是同一个概念:其他 harness 也可能调用 Claude 模型;使用 Claude harness 时,工具集、配置加载和权限模式则由 Claude 集成决定。
4. Codex:OpenAI 的代码代理框架
VS Code 中的 Codex 通常由 OpenAI Codex 扩展提供;此外,VS Code 文档还列有实验性的 Agent Host 集成。两者不是同一种安装/运行方式,因此需要先确认当前启用的是哪一个。
适合:
- 希望使用 Codex 所提供的代码代理工具与任务执行方式。
- 想启动交互式编程任务,或使用集成支持的后台任务模式。
- 任务适合交给独立代理执行,并由用户之后检查改动。
接入差异:
- **扩展集成:**需要安装并启用 OpenAI Codex 扩展,按扩展说明登录并设置权限。
- **Agent Host 实验集成:**通过 VS Code 的实验性设置启用,账号可包括符合要求的 ChatGPT 或 Copilot 订阅;具体资格和模型选项以当前 VS Code 文档与 UI 为准。
- 若两种集成同时涉及,VS Code 每个窗口只显示一种 Codex 实现;启用实验集成可能替代扩展贡献的 Codex 选项。
**适合交给 Codex 的任务:**边界明确、验收方式清楚、允许代理按权限编辑和验证的代码工作。无论采用哪种集成,都要确认授权范围、终端权限和最终变更;“代理执行”不等于结果已经验收。
5. Cloud:把任务放到云端执行
Cloud 不是一种固定模型,也不是专指 Copilot。它表示这次会话交给可用提供方管理的远程基础设施执行。VS Code 当前文档列出的云代理包括 Copilot cloud agent,以及预览中的 Claude 和 Codex cloud agents;实际可用性取决于账号、仓库策略、组织设置和 VS Code 版本。
适合:
- 工作可以清楚拆分,不必依赖当前机器上的未提交文件或本地工具状态。
- 希望本机继续处理其他事情,同时将独立任务委派给云代理。
- 希望通过 GitHub 仓库和 Pull Request 接收、审查代理结果。
不适合:
- 必须读取当前电脑上尚未推送的文件、未提交修改、私有本地目录或本机专用工具的任务。
- 需要依赖 VS Code 内置终端、当前调试进程、桌面环境或本地 MCP 服务的任务。
- 不能把代码和上下文交给配置的云端提供方处理的任务。
云会话面向 GitHub 仓库;它不会自动拥有当前编辑器的完整上下文。云端使用哪些工具、MCP 服务和模型,通常要在对应云服务中配置。产出的 Pull Request 仍需按项目要求进行代码审查、测试和安全验证。
三个容易混淆的维度
Harness、模型、执行位置各自负责什么
| 维度 | 它决定什么 | 例子 |
|---|---|---|
| Harness(代理框架) | 会话控制、工具与权限集成、配置加载、代理运行流程 | Copilot、Local、Claude、Codex |
| 模型与模型提供方 | 主要文本/代码推理能力、模型上下文限制、模型侧计费与数据处理 | Copilot 订阅提供的模型、Anthropic Claude、OpenAI 模型、BYOK 模型 |
| 执行目标/位置 | agent 的工具和代码操作实际在哪里发生 | 当前机器上的 Agent Host/extension host、云端提供方管理的环境 |
**举例:**在 Copilot harness 会话中选择 Claude 模型,表示“用 Copilot harness 的工具与会话方式调用 Claude 模型”,不表示会话变成 Claude harness。选择 Local harness 并使用远程 API 模型,则“代码工具在本地跑、模型请求发往云端”。
运行位置不是隐私承诺
- agent 在本机修改文件,不等于模型请求也只在本机处理。
- 使用本地模型,可以让模型推理留在本机;但仍要核对 VS Code、扩展、MCP 服务和其他后台功能是否会联网。
- Cloud 通常会把任务交给提供方的远程环境;必须按仓库授权和服务方的数据政策评估。
- 组织策略、订阅类型、提供方条款和所选模型会影响数据处理方式。选项名称本身不是数据保留或训练用途的承诺。
本地会话与 Cloud 会话的交付不同
- 本地 harness 通常直接在当前工作区或 worktree 里产生可检查的文件改动。
- Cloud 会话通常针对 GitHub 仓库远程执行,并通过 Pull Request 交付。
- 不论哪种方式,都应审查 diff、运行适用测试并确认权限边界。Worktree 提供改动隔离,但不等于安全沙箱。
按目标选择
| 你的任务/约束 | 建议优先选择 | 原因与前提 |
|---|---|---|
| 日常问答、定位代码、跨文件改功能并跑测试 | Copilot | 通用起点;先确认所需模型和工具在账号/组织策略下可用 |
| 希望留在当前编辑器里交互式推进,并密切观察操作 | Local | 会话与 VS Code 窗口绑定;如果需长时间关窗继续,不优先选它 |
| 项目使用 Claude 配置/流程,或明确要 Claude harness 的权限和工具工作流 | Claude | 先确认当前模型访问方式、费用来源与权限设置 |
| 团队使用 Codex,或任务适合 Codex 的独立代码代理工作流 | Codex | 先确认安装的是扩展版还是 Agent Host 实验版,二者账号和能力要求不同 |
| 任务可从 GitHub 仓库独立完成,想交给远程代理处理并收 PR | Cloud | 确认仓库已授权、云代理可用,且不依赖本地未提交内容或本机工具 |
| 代码不可发送给外部模型服务,且本机资源足够 | Local + 本地模型提供方 | Local harness 本身不保证本地推理;要另外选本地模型并审查其他联网扩展/工具 |
| 想用强模型,但变更必须直接落在本地工作区 | Copilot / Claude / Codex / Local + 合适的云端模型 | 将 harness 与模型分别选择;确认请求数据处理与计费方式 |
开始任务前的检查清单
- 当前是在配置会话目标还是编辑器工作方式? Agent mode、Agent、Language Model、Permissions 与 Session Target 是不同控件。
- 代码要在哪里改? 当前工作区、worktree,还是 GitHub 仓库的云端副本?
- 是否依赖本地状态? 未提交 diff、本地文件、调试服务、终端环境或本地 MCP 工具通常不能直接交给 Cloud。
- 模型请求会发送到哪里? 核实模型提供方、Copilot/BYOK 账户、计费渠道和数据政策。
- agent 能做什么? 检查文件、终端、网络、MCP 与审批权限;任务敏感时限制权限。
- 怎么验收? 提前指定测试、构建或可观察的验收条件,完成后审查实际 diff 和命令结果。
版本与可用性说明
VS Code 的 harness、Agent mode、模型和云代理支持都可能随稳定版/Insiders 版本、扩展、地区、订阅和组织政策变化。官网文档描述的 Chat View 控件不保证在每个 Chat Editor 布局或每个版本中都以相同形式出现。若某项控件没有显示,不要假设它藏在 Agent 下拉菜单中,也不要仅凭 Agent 名称推断 Harness。
尤其是 Codex,可能有扩展集成和实验性 Agent Host 集成;Cloud 中的 Claude/Codex 代理也可能仍处于预览阶段。Plan 和 Autopilot 的分类也会随 Harness 改变。操作前以本机实际显示的控件、当前官方文档和组织策略为准。
官方资料
- VS Code:Choose an agent harness:五种 harness/Cloud 目标的比较、账号要求和会话交接。
- VS Code:Use the Chat view:聊天布局、会话控件和新会话流程。
- VS Code:Plan work with agents:Plan mode 与 Local harness Plan Agent 的区别、计划审阅和实施。
- VS Code:Manage approvals and permissions:权限、Autopilot、工具审批与 Sandbox。
- VS Code:Custom agents:自定义 Agent 创建、文件位置、工具和可见性。
- VS Code:Build with AI in VS Code:agent、模型、harness、模型提供方与执行位置的概念区分。
- VS Code:AI language models in VS Code:模型选择、BYOK、本地模型和模型提供方配置。
- VS Code:Security considerations for AI in VS Code:agent 权限、工作区和安全基线。