会话能接上,不等于环境可以直接接管。最快的做法是:先允许个人或小组试点,再按会话、身份、权限、工作区、桌面执行和恢复证据逐项验收;任何一项无法留证,都不要向全团队开放。

这篇文章适合同时使用 ChatGPT 与 VS Code、希望不中断 Codex 编码会话的开发者,也适合治理模型订阅、MCP 和代码权限的平台工程师。需要让 Codex 在远程 Mac 上持续运行并完成 Xcode 验证的移动开发团队,也应重点看工作区隔离与恢复部分。

最后更新于 2026 年 9 月 19 日,功能状态与设置名称核对自 VS Code 1.138 发布说明、Agent Host 文档、工具审批文档及 GitHub Copilot 官方更新。

⚠️ 最容易出事故的场景不是“会话断了”,而是会话成功接回后附着到了同名旧仓库、继承了过宽的工具权限,随后直接修改正式工作区或调用带外部副作用的桌面应用。

版本边界与放行结论

VS Code 1.138 已于 2026 年 9 月 16 日发布。官方发布说明确认,Agent Host 扩展了 Codex 支持:你可以在 ChatGPT 应用与 VS Code 之间继续同一个 Codex 会话,也可以在 Copilot 订阅和 ChatGPT 订阅之间切换,并在满足配置条件时复用桌面应用交互能力。VS Code 1.138 发布说明

但这些能力正在逐步推送,并依赖特定设置。Agent Host 仍处于持续开发状态,远程执行、工具贡献和客户端连接方式都不能被简单理解为企业级事务恢复或统一权限系统。Agent Host 架构说明

因此,2026 年 9 月 19 日的可执行结论是:

  • ✅ 可以做个人、小组或单项目试点。
  • ❌ 不要因为聊天记录显示完整,就直接全员开启。
  • ✅ 长任务优先使用独立 Git worktree、隔离工作区或持续在线的远程 Mac。
  • ⚠️ 涉及 Xcode、签名、发布、凭据和桌面应用时,必须保留操作产物与系统日志。

如果你还在评估远程开发基础设施,可以先参考 MacPull 的远程 Mac 方案入口,但不要把租到一台 Mac 等同于已经完成 Agent 治理。

六项指标与团队评分

下面的评分不是对 Codex 的回答质量打分,而是判断“接管后能否安全继续执行”。每项 0—2 分,总分最高 12 分:

验收指标 2 分:可放行 1 分:限制试点 0 分:立即回退
会话连续性 标题、历史请求、当前任务、模型和审批状态均可核对 聊天可见,但部分任务状态需人工重建 重复执行、审批丢失或任务状态不明
身份与模型来源 能证明发起人、订阅来源和执行责任 账号来源可查,但责任边界不清 个人、团队和远程主机身份混用
工具与权限 工具清单、审批记录和网络边界一致 新增工具需人工确认 出现静默写入、外网访问或自动批准
工作区与主机 路径、提交、主机身份和未提交变更均有证据 能定位目录,但缺少部分状态记录 接入错误仓库、旧 worktree 或错误主机
桌面应用边界 只读、可逆编辑和外部副作用分级验证 只能人工陪同操作 凭据、发布工具或敏感应用可无人值守
交付与恢复 测试、PR、Mac 构建和断线恢复均可复现 能完成交付,但恢复依赖人工 无法停止、回退或确认最终产物

建议采用以下放行条件:

  • 若总分达到 10 分以上,且“工具与权限”“工作区与主机”均为 2 分,可以在单个团队内限量开放。
  • 若总分为 7—9 分,或桌面应用仅完成陪同式测试,回退到小范围试点,不允许无人值守。
  • 若任一核心指标为 0 分,立即停止跨应用接管,重新建立会话、目录和审批状态。
  • 若需要长时间运行、持续构建或 Xcode 验证,即使得分较高,也优先迁移到隔离远程 Mac,而不是依赖开发者本地桌面持续在线。

会话连续性:聊天记录与可续跑状态

ChatGPT 里的 Codex 接续到 VS Code,首先要验收的不是“能不能看到原来的对话”,而是接管后的 Agent 是否知道下一步该做什么。VS Code 1.138 的发布说明提到,转换为工作区会话后可以保留标题、对话历史、当前请求、所选模型和权限模式。Codex 跨应用接续说明

你应在接管前保存一份基线:

  1. 记录会话标题、最后一条用户请求和当前模型。
  2. 保存最后一次工具调用、待处理审批和任务状态。
  3. 记录当前仓库分支、提交哈希和工作树状态。
  4. 从 ChatGPT 应用切到 VS Code,不要立刻发送新的修改指令。
  5. 先要求 Codex 复述“已完成、未完成、下一步、待审批动作”,再与基线逐项比对。
  6. 对照文件变更和工具日志,确认没有因为接管而重复写入。

通过标准是:Codex 能准确指出上一步停在哪里,并且下一步不会重新执行已经完成的写操作。若出现连接中断后重复提交、重复改文件、待审批动作消失,或者模型把旧请求当成新请求处理,就应停止继续写操作,只保留诊断记录。

这里要区分 Codex 会话同步 和文件同步。Agent Host 拥有会话,但实际工具仍可能由 VS Code 客户端、扩展或远程主机提供;官方文档明确指出,扩展提供的工具默认只在扩展运行的编辑器窗口中可用。Agent Host 工具路由说明

账号来源:Copilot 与 ChatGPT 的责任链

切换 Copilot 与 ChatGPT 订阅后,官方确认当前对话不会因为模型来源切换而自动丢失;当两个账号都登录时,模型选择器会按 Copilot 和 ChatGPT 分组,VS Code 会把提供方保存到会话中。Codex harness 与订阅切换文档

但“上下文还在”不等于“能力和责任完全相同”。你需要保存以下证据:

  • 发起任务的人员和组织账号。
  • 当前使用的是 GitHub Copilot 订阅还是 ChatGPT 订阅。
  • 接管前后所选模型和 Codex harness。
  • 工具实际运行在哪一台主机。
  • 谁批准了文件写入、终端命令、网络请求或桌面操作。
项目 接管前后必须核对 不通过时的动作
账号 个人、团队、企业账号是否混用 注销多余身份,重新建立最小权限会话
订阅 Copilot 与 ChatGPT 的模型来源是否明确 固定团队默认来源,并在记录中标注
主机身份 本地 Mac、远程 Mac、Dev Container 是否对应 关闭旧主机连接,重新选择目标工作区
责任人 谁发起、谁审批、谁合并代码 将任务退回人工确认,不允许自动提交

如果团队无法回答“哪个订阅提供模型、哪个主机执行命令、谁承担工具调用责任”,就不应把这项能力当作稳定的团队流程。

工具权限:能力继承与静默扩大

接管前后不要只看聊天窗口里的工具图标,而要比较实际可调用范围。VS Code 的工具分为内置工具、扩展工具和 MCP 工具;它们能够读取文件、写入代码、运行终端命令或连接外部服务,而工具可用性与工具审批是两套独立控制。VS Code 工具说明

验收时,把接管前后的工具清单导出或截图保存,至少比较:

  • 文件读取和编辑范围。
  • 终端命令是否自动批准。
  • 网络访问和 URL 审批。
  • MCP 服务器及其暴露的工具。
  • 扩展提供的桌面、浏览器、数据库或发布能力。
  • 原来保存的审批是否被新客户端继承。

官方权限文档把审批、沙箱、工具批准和终端批准分开管理,并提醒全局自动批准会移除关键安全保护。审批与权限管理文档

MCP 还存在一个容易忽略的边界:Agent Host 不会直接读取 .vscode/mcp.json,而是通过 VS Code 转发符合条件的配置;更适合跨客户端复用的配置位置是工作区 .mcp.json 或用户级 ~/.copilot/mcp-config.json。本地 MCP 服务器还可能在机器上执行任意代码,因此必须核对来源和配置内容。MCP 配置说明

若接管后出现新增写权限、外网访问、MCP 自动启动或自动批准,先把会话权限降回人工审批,再清除已保存的工具确认,不要用“这只是一次测试”作为继续执行的理由。

工作区与主机:路径证据比项目名称可靠

不要只看侧边栏显示的仓库名,因为同名项目、旧 worktree 和远程目录都可能拥有相似名称。正确做法是把路径、提交和主机身份作为接管证据,而不是把项目名称当作唯一识别信息。

你需要在接管前后分别保存:

  1. 仓库远程地址和当前提交哈希。
  2. 工作树绝对路径或远程工作区 URI。
  3. 当前分支、未提交修改和未跟踪文件。
  4. Agent Host 所在主机的名称、登录用户和系统环境。
  5. 是否使用当前文件夹、独立 worktree、Dev Container 或远程主机。

VS Code 文档明确区分了 Folder 和 New Worktree:前者会直接修改当前工作区,后者从已提交状态创建独立 Git worktree;未提交文件、未跟踪文件和被忽略的依赖默认不会自动带入新 worktree。工作区与 worktree 隔离说明

这意味着:

  • 任务依赖当前未提交代码时,不要误选 New Worktree。
  • 并行任务或团队接管时,不要让多个 Agent 共用同一活动目录。
  • worktree 只隔离代码文件,不等于限制网络、终端或主机上的其他文件访问。

如果保存的路径、提交或主机身份有一项不一致,立刻关闭当前会话并重新绑定目录。不要让 Codex“先查看一下”,因为查看动作本身可能触发 MCP、终端或扩展工具。

桌面应用:复用能力不等于无人值守

VS Code 1.138 支持在 ChatGPT 应用已安装并完成计算机使用配置时,复用桌面应用交互能力;官方说明该能力可以与 Copilot 或 ChatGPT 模型配合使用,但没有承诺所有桌面应用、账号和企业环境都具备一致支持。VS Code 1.138 桌面应用说明

你可以按三档验收:

  • 只读查看:打开 Xcode、模拟器、日志或项目设置,只允许读取状态。
  • 可逆编辑:修改工程文件、调整构建设置、生成本地测试产物,必须能撤销。
  • 外部副作用:签名、上传、发布、发送消息、修改云端资源或操作凭据,默认禁止无人值守。

当 Agent Host 运行在远程主机时,代码、工具和桌面状态都可能位于那台 Mac 上;远程连接必须确认主机在线、登录用户正确、应用窗口属于预期会话,不能因为 VS Code 客户端仍然打开,就推断远程桌面环境没有变化。

所以,Codex 在远程 Mac 上继续执行桌面应用任务,必须同时满足连接、主机、应用配置和权限条件。你要用 Xcode 构建产物、系统日志、操作记录或任务输出验证结果,不能只相信 Codex 的自然语言总结。

交付与恢复:从试运行到团队放行

最后一项不是再问一次模型“任务完成了吗”,而是做一次代表性项目演练。至少选择一个包含代码修改、测试、PR 和真实 Mac 构建的任务,按以下步骤执行:

  1. 在已提交的基线分支创建独立工作树或远程工作区。
  2. 从 ChatGPT 应用发起一个范围明确的 Codex 任务。
  3. 在任务尚未结束时切换到 VS Code,核对会话、模型和审批状态。
  4. 让 Codex 完成代码修改,并人工检查差异。
  5. 运行测试,保存命令、退出码和测试产物。
  6. 创建 PR 或生成待审提交,不直接进入正式分支。
  7. 在远程 Mac 上完成需要 Apple 工具链的构建验证。
  8. 主动演练客户端断开、主机重启、审批超时和错误工作区接管。
  9. 检查是否能够停止任务、重新连接、继续执行或回退到基线。
  10. 将日志、路径、提交哈希、构建产物和审批记录放入验收目录。

只要断线恢复后出现重复提交、环境变量改变、依赖重新解析、签名状态不一致或构建结果无法复现,就把结论降为“个人试用”或“限量开放”。不要因为代码最终能编译,就忽略恢复过程中的权限和状态漂移。

如果你的团队已经完成六项验收,下一步应按任务持续时间和 Apple 工具链需求做环境分流:短时、低风险、需要频繁人工操作的任务可以留在本地;长任务、多人接管和 Xcode 验证则更适合放入隔离的远程 Mac。相比直接让每位开发者本地运行,临时本地方案容易受到电脑休眠、网络变化、个人账号混用和工作区污染影响;相比没有隔离的普通远程主机,权限、桌面状态和恢复边界也更难固定。此时租赁 MacPull 的远程 Mac,用独立工作区承载持续运行任务,通常比把开发者日常电脑当作 Agent Host 更容易验收;但长期稳定重负载、必须持有物理接口或需要固定硬件资产的团队,仍应评估自购设备。

你可以继续阅读 iPhone 多设备开发的 Mac 环境建议,再根据任务时长决定是否建立远程执行环境。核心原则只有一个:先证明接管后的会话、权限、目录和交付结果都能被复核,再扩大团队范围。

延伸阅读