Skip to content
FunCoding

Search

Search docs, Skills and MCP

原生 Windows 沙箱与排障

配置 elevated、管理实施方式限制,检查错误 1385 和目录读取权限。

This page has not been translated into English yet. The original Chinese version is shown below.

原生 Windows 使用 PowerShell 与 Windows 沙箱;需要 Linux 工具和权限模型时可用WSL2。官方推荐 Windows 11,充分更新的 Windows 10 为 best effort,实际需现代 console/ConPTY 支持。

两种实施方式

[windows]
sandbox = "elevated"

elevated 使用专用低权限用户、文件权限边界、防火墙与必要本地策略;unelevated 使用当前用户派生的受限 token、ACL 和环境层离线控制,网络隔离较弱。管理员设置不可用时可作为备用,但组织 requirements 可能只允许 elevated。

管理员可在 requirements.toml 使用 windows.allowed_sandbox_implementations=["elevated"] 限制实现。两种模式默认使用 private desktop;sandbox_private_desktop=false 是兼容旧 Winsta0\Default 的设置,不是日常必选项。

目录读取失败

当前会话可运行:

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

路径必须是存在的绝对目录,成功后后续沙箱命令获得该目录读取权限。它不表示可任意写入,也不替代管理员要求。

Elevated setup 失败

核对是否拒绝 UAC、设备是否允许创建本地用户/组、修改防火墙和授予沙箱用户所需 logon rights。企业设备应由 IT 确认这些设置,不能仅根据 Windows 版本判断能够完成 setup。

错误 1385 表示 Windows 拒绝启动命令所需的登录类型;沙箱用户可能已经创建成功。比较受影响设备的组策略或 OU,收集 CODEX_HOME/.sandbox/sandbox.log、系统版本和简短复现步骤。

ACL 与网络

Everyone 可写目录警告说明权限过宽,核查列出的目录,适当收窄后重启或重跑 setup。网络失败先确认任务是否预期离线,若本应联网则检查策略与沙箱是否处于不完整状态,再提供日志。

不要把 unelevated 与 elevated 当作同等隔离强度;需要 Linux 行为的工作流应按 WSL2 指南验证。