Windows 沙箱
在 Windows 上通过原生 ChatGPT 桌面应用、CLI 或 IDE extension 使用 Codex。
Windows 上的 ChatGPT 桌面应用支持并行聊天、工作树、计划任务、Git 功能、内置浏览器、文件预览、插件和技能等核心工作流。
该应用可以在 PowerShell 中原生运行,并使用 Windows 沙箱,无需 WSL 或虚拟机。这样既能让 Codex 保持在 Windows 原生工作流中运行,又能强制执行受限的文件系统和网络权限。

使用原生 Windows 应用跨项目工作、运行并行聊天,并在同一位置查看结果。
原生 Windows 沙箱有两种模式:
- 在 Windows 上原生使用更强的
elevated沙箱; - 在 Windows 上原生使用备用的
unelevated沙箱。
配置 Windows 沙箱
Section titled “配置 Windows 沙箱”在 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 版本矩阵
Section titled “Windows 版本矩阵”| 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。 - 推荐的原生沙箱依赖管理员批准的设置。
- 某些企业管理的设备会阻止所需的设置步骤,即使操作系统版本本身符合要求。
授予沙箱读取权限
Section titled “授予沙箱读取权限”当命令因 Windows 沙箱无法读取某个目录而失败时,请使用:
/sandbox-add-read-dir C:\absolute\directory\path该路径必须是一个现有的绝对目录。命令成功后,在当前会话期间,之后于沙箱中运行的命令即可读取该目录。
默认使用原生 Windows 沙箱。当你需要 Linux 原生工具、工作流已经在 WSL2 中运行,或两种原生 Windows 沙箱模式都无法满足需求时,请选择 WSL。
故障排除和常见问题
Section titled “故障排除和常见问题”如果你正在排查一台受管理的 Windows 机器,请从原生沙箱模式、Windows 版本以及 Codex 显示的任何策略错误入手。大多数原生 Windows 支持问题源于沙箱设置、登录权限或文件系统权限,而不是编辑器本身。
我的原生沙箱设置失败了
Section titled “我的原生沙箱设置失败了”如果 Codex 无法完成 elevated 沙箱设置,最常见的原因包括:
- 拒绝了 Windows UAC 或管理员提示;
- 计算机不允许创建本地用户或组;
- 计算机不允许更改防火墙规则;
- 计算机阻止沙箱用户所需的登录权限;
- 或其他企业策略阻止了设置流程的某个部分。
可以尝试:
- 再次尝试设置
elevated沙箱;如果环境允许,请批准管理员提示。 - 如果公司笔记本阻止了此操作,请询问 IT 团队,确认计算机是否允许管理员批准的本地用户或组创建、防火墙配置以及所需的沙箱用户登录权限。
- 如果默认设置仍然失败,请使用
unelevated沙箱,以便在调查问题期间继续工作。
Codex 将我切换到了 unelevated 沙箱
Section titled “Codex 将我切换到了 unelevated 沙箱”这意味着 Codex 无法在你的计算机上完成更强的 elevated 沙箱设置。
- Codex 仍然可以在沙箱模式下运行。
- 它仍然会应用基于 ACL 的文件系统边界,但不会使用
elevated中独立的沙箱用户边界,并且网络隔离较弱。 - 这是一个实用的备用方案,但不是首选的长期企业配置。
如果你使用的是受企业管理的笔记本,最佳的长期解决方案通常是在 IT 团队的帮助下使 elevated 沙箱正常运行。
我看到了 Windows 错误 1385
Section titled “我看到了 Windows 错误 1385”如果沙箱中的命令失败并显示错误 1385,说明 Windows 拒绝了沙箱用户启动命令所需的登录类型。
实际上,这通常意味着 Codex 已成功创建沙箱用户,但 Windows 策略仍然阻止这些用户启动沙箱中的命令。
可以采取以下措施:
- 询问 IT 团队,确认设备策略是否向 Codex 创建的沙箱用户授予了所需的登录权限。
- 如果问题仅影响部分计算机或团队,请比较组策略或 OU 差异。
- 如果需要立即继续工作,请在调查策略问题期间使用
unelevated沙箱。 - 将
CODEX_HOME/.sandbox/sandbox.log连同 Windows 版本和简短的失败描述一并发送。
Codex 警告某些文件夹可由 Everyone 写入
Section titled “Codex 警告某些文件夹可由 Everyone 写入”Codex 可能会警告某些文件夹可由 Everyone 写入。
如果看到此警告,说明这些文件夹的 Windows 权限过于宽松,沙箱无法对其提供完整保护。
可以采取以下措施:
- 查看 Codex 在警告中列出的文件夹。
- 如果符合你的环境要求,请移除这些文件夹对
Everyone的写入权限。 - 修正权限后,重启 Codex 或重新运行沙箱设置。
如果不确定如何更改这些权限,请向 IT 团队寻求帮助。
沙箱中的命令无法访问网络
Section titled “沙箱中的命令无法访问网络”根据所使用的权限模式,某些 Codex 聊天会有意在没有出站网络访问权限的情况下运行。
如果任务因无法访问网络而失败:
- 检查该任务是否本应在禁用网络的情况下运行。
- 如果你预期任务可以访问网络,请重启 Codex,然后重试。
- 如果问题持续发生,请收集沙箱日志,以便团队检查计算机是否处于部分沙箱状态或沙箱状态损坏。
沙箱之前可以正常工作,后来停止了
Section titled “沙箱之前可以正常工作,后来停止了”这可能发生在以下情况之后:
- 移动仓库或工作区;
- 更改计算机权限;
- 更改 Windows 策略;
- 或更改其他系统配置。
可以尝试:
- 重启 Codex。
- 再次尝试设置
elevated沙箱。 - 如果仍未解决,请暂时使用
unelevated沙箱作为备用方案。 - 收集沙箱日志以供检查。
我需要将诊断信息发送给 OpenAI
Section titled “我需要将诊断信息发送给 OpenAI”如果问题仍未解决,请发送:
CODEX_HOME/.sandbox/sandbox.log
同时提供以下信息也会有所帮助:
- 简要描述你尝试执行的操作;
elevated沙箱是否失败,或是否使用了unelevated沙箱;- 应用中显示的任何错误消息;
- 是否看到
1385或其他 Windows 或 PowerShell 错误; - 以及你使用的是 Windows 11 还是 Windows 10。
请勿发送:
CODEX_HOME/.sandbox-secrets/的内容。
IDE 扩展已安装但没有响应
Section titled “IDE 扩展已安装但没有响应”你的系统可能缺少 C++ 开发工具,而某些原生依赖项需要这些工具:
- Visual Studio Build Tools(C++ 工作负载)
- Microsoft Visual C++ Redistributable (x64)
- 使用
winget运行winget install --id Microsoft.VisualStudio.2022.BuildTools -e
安装完成后,完全重启 VS Code。