跳转到内容

Windows 沙箱

身份 非官方简体中文镜像
翻译状态 AI 翻译 / AI 审校
来源版本 官方未提供
同步日期 2026-07-26
官方原文 learn.chatgpt.com

在 Windows 上通过原生 ChatGPT 桌面应用CLIIDE extension 使用 Codex。

Windows 上的 ChatGPT 桌面应用支持并行聊天、工作树、计划任务、Git 功能、内置浏览器、文件预览、插件和技能等核心工作流。

该应用可以在 PowerShell 中原生运行,并使用 Windows 沙箱,无需 WSL 或虚拟机。这样既能让 Codex 保持在 Windows 原生工作流中运行,又能强制执行受限的文件系统和网络权限。

ChatGPT 桌面应用中位于消息编辑器上方的 Windows 沙箱设置提示

在 Windows 上使用 ChatGPT 桌面应用

使用原生 Windows 应用跨项目工作、运行并行聊天,并在同一位置查看结果。

原生 Windows 沙箱有两种模式:

  • 在 Windows 上原生使用更强的 elevated 沙箱;
  • 在 Windows 上原生使用备用的 unelevated 沙箱。

在 Windows 上原生运行 Codex 时,智能体模式会使用 Windows 沙箱,阻止工作文件夹之外的文件系统写入,并防止在未经明确批准的情况下访问网络。

原生 Windows 沙箱支持两种模式,你可以在 config.toml 中进行配置:

[windows]
sandbox = "elevated" # or "unelevated"

elevated 是推荐的原生 Windows 沙箱。它使用专用的低权限沙箱用户、文件系统权限边界、防火墙规则,以及沙箱中运行命令所需的本地策略更改。

unelevated 是备用的原生 Windows 沙箱。它使用从当前用户派生的受限 Windows 令牌运行命令,应用基于 ACL 的文件系统边界,并使用环境级离线控制,而不是专用离线用户的防火墙规则。它的安全性弱于 elevated,但当本地或企业策略阻止管理员批准的设置时,仍然很有用。

如果两种模式都可用,请使用 elevated。如果默认的原生沙箱在你的环境中无法运行,请在排查设置问题期间使用 unelevated 作为备用方案。

企业管理员可以通过 requirements.toml 限制 Codex 可以使用哪些原生沙箱实现:

[windows]
allowed_sandbox_implementations = ["elevated"]

此示例要求使用 elevated 沙箱,并阻止用户回退到 unelevated。若要允许任一实现,请同时包含两个值;未选择模式时,Codex 会优先使用 elevated。支持的值请参阅 requirements.toml 参考

默认情况下,两种沙箱模式也会使用私有桌面,以实现更强的 UI 隔离。只有在需要兼容旧版 Winsta0\\Default 行为时,才将 windows.sandbox_private_desktop = false 设置为 false

在完全访问模式下运行 Codex,意味着 Codex 不受项目目录限制,并且可能执行无意的破坏性操作,从而导致数据丢失。为了实现更安全的自动化,请保留沙箱边界,并使用规则设置特定例外;或者根据你的批准和安全设置,将批准策略设置为 never,让 Codex 尝试在不请求提升权限的情况下解决问题。

Windows 版本 支持级别 备注
Windows 11 推荐 Codex on Windows 的最佳基线。如果你正在标准化企业部署,请使用此版本。
最新且已完全更新的 Windows 10 尽力支持 可以运行,但可靠性低于 Windows 11。对于 Windows 10,Codex 依赖现代控制台支持,包括 ConPTY。实际上,需要 Windows 10 版本 1809 或更高版本。
较旧的 Windows 10 版本 不推荐 更可能缺少 ConPTY 等必需的控制台组件,也更可能在企业设置中失败。

其他环境假设:

  • 应该可以使用 winget。如果缺少该工具,请在设置 Codex 前更新 Windows 或安装 Windows Package Manager。
  • 推荐的原生沙箱依赖管理员批准的设置。
  • 某些企业管理的设备会阻止所需的设置步骤,即使操作系统版本本身符合要求。

当命令因 Windows 沙箱无法读取某个目录而失败时,请使用:

/sandbox-add-read-dir C:\absolute\directory\path

该路径必须是一个现有的绝对目录。命令成功后,在当前会话期间,之后于沙箱中运行的命令即可读取该目录。

默认使用原生 Windows 沙箱。当你需要 Linux 原生工具、工作流已经在 WSL2 中运行,或两种原生 Windows 沙箱模式都无法满足需求时,请选择 WSL

如果你正在排查一台受管理的 Windows 机器,请从原生沙箱模式、Windows 版本以及 Codex 显示的任何策略错误入手。大多数原生 Windows 支持问题源于沙箱设置、登录权限或文件系统权限,而不是编辑器本身。

如果 Codex 无法完成 elevated 沙箱设置,最常见的原因包括:

  • 拒绝了 Windows UAC 或管理员提示;
  • 计算机不允许创建本地用户或组;
  • 计算机不允许更改防火墙规则;
  • 计算机阻止沙箱用户所需的登录权限;
  • 或其他企业策略阻止了设置流程的某个部分。

可以尝试:

  1. 再次尝试设置 elevated 沙箱;如果环境允许,请批准管理员提示。
  2. 如果公司笔记本阻止了此操作,请询问 IT 团队,确认计算机是否允许管理员批准的本地用户或组创建、防火墙配置以及所需的沙箱用户登录权限。
  3. 如果默认设置仍然失败,请使用 unelevated 沙箱,以便在调查问题期间继续工作。

Codex 将我切换到了 unelevated 沙箱

Section titled “Codex 将我切换到了 unelevated 沙箱”

这意味着 Codex 无法在你的计算机上完成更强的 elevated 沙箱设置。

  • Codex 仍然可以在沙箱模式下运行。
  • 它仍然会应用基于 ACL 的文件系统边界,但不会使用 elevated 中独立的沙箱用户边界,并且网络隔离较弱。
  • 这是一个实用的备用方案,但不是首选的长期企业配置。

如果你使用的是受企业管理的笔记本,最佳的长期解决方案通常是在 IT 团队的帮助下使 elevated 沙箱正常运行。

如果沙箱中的命令失败并显示错误 1385,说明 Windows 拒绝了沙箱用户启动命令所需的登录类型。

实际上,这通常意味着 Codex 已成功创建沙箱用户,但 Windows 策略仍然阻止这些用户启动沙箱中的命令。

可以采取以下措施:

  1. 询问 IT 团队,确认设备策略是否向 Codex 创建的沙箱用户授予了所需的登录权限。
  2. 如果问题仅影响部分计算机或团队,请比较组策略或 OU 差异。
  3. 如果需要立即继续工作,请在调查策略问题期间使用 unelevated 沙箱。
  4. CODEX_HOME/.sandbox/sandbox.log 连同 Windows 版本和简短的失败描述一并发送。

Codex 警告某些文件夹可由 Everyone 写入

Section titled “Codex 警告某些文件夹可由 Everyone 写入”

Codex 可能会警告某些文件夹可由 Everyone 写入。

如果看到此警告,说明这些文件夹的 Windows 权限过于宽松,沙箱无法对其提供完整保护。

可以采取以下措施:

  1. 查看 Codex 在警告中列出的文件夹。
  2. 如果符合你的环境要求,请移除这些文件夹对 Everyone 的写入权限。
  3. 修正权限后,重启 Codex 或重新运行沙箱设置。

如果不确定如何更改这些权限,请向 IT 团队寻求帮助。

根据所使用的权限模式,某些 Codex 聊天会有意在没有出站网络访问权限的情况下运行。

如果任务因无法访问网络而失败:

  1. 检查该任务是否本应在禁用网络的情况下运行。
  2. 如果你预期任务可以访问网络,请重启 Codex,然后重试。
  3. 如果问题持续发生,请收集沙箱日志,以便团队检查计算机是否处于部分沙箱状态或沙箱状态损坏。

沙箱之前可以正常工作,后来停止了

Section titled “沙箱之前可以正常工作,后来停止了”

这可能发生在以下情况之后:

  • 移动仓库或工作区;
  • 更改计算机权限;
  • 更改 Windows 策略;
  • 或更改其他系统配置。

可以尝试:

  1. 重启 Codex。
  2. 再次尝试设置 elevated 沙箱。
  3. 如果仍未解决,请暂时使用 unelevated 沙箱作为备用方案。
  4. 收集沙箱日志以供检查。

如果问题仍未解决,请发送:

  • CODEX_HOME/.sandbox/sandbox.log

同时提供以下信息也会有所帮助:

  • 简要描述你尝试执行的操作;
  • elevated 沙箱是否失败,或是否使用了 unelevated 沙箱;
  • 应用中显示的任何错误消息;
  • 是否看到 1385 或其他 Windows 或 PowerShell 错误;
  • 以及你使用的是 Windows 11 还是 Windows 10。

请勿发送:

  • CODEX_HOME/.sandbox-secrets/ 的内容。

你的系统可能缺少 C++ 开发工具,而某些原生依赖项需要这些工具:

  • Visual Studio Build Tools(C++ 工作负载)
  • Microsoft Visual C++ Redistributable (x64)
  • 使用 winget 运行 winget install --id Microsoft.VisualStudio.2022.BuildTools -e

安装完成后,完全重启 VS Code。