如果你在 Windows 上用 Codex 这类 AI Agent,经常遇到 PowerShell 报错,先别急着怪模型。
它可能不是不会写代码,只是卡在了路径格式、权限、包管理器和 Shell 语法上。活没干多少,Agent 已经围着同一条命令来回试了好几轮,token 全浪费在环境问题上。
我的建议很直接:别继续跟 PowerShell 硬磨,把 Agent 放进 WSL。
Windows 继续照常用,代码、依赖和 Agent 放在 Linux 环境里。只需要一行命令,不用换电脑,也不用装双系统。

WSL 是 Windows Subsystem for Linux,也就是适用于 Linux 的 Windows 子系统。下面我会从安装 WSL、配置 Codex,一直讲到怎么给高风险项目单独划一个环境,带你把整套流程跑通
前提准备
先检查 CPU 虚拟化是否开启。
打开任务管理器,点击「性能」→「CPU」,查看「虚拟化」一项。如果显示「已启用」,就可以继续安装 WSL。

如果显示「未启用」,需要在开机时进入 BIOS/UEFI 设置:
Intel CPU 通常需要开启 Intel Virtualization Technology、VT-x 或 VMX。
AMD CPU 通常需要开启 SVM Mode 或 AMD-V。
不同电脑的选项名称和入口可能不一样,可以按主板或电脑型号搜索对应的开启方法。
1:安装 WSL
用管理员身份打开 PowerShell,执行:
wsl --install
这条命令会启用 WSL 所需组件,并默认安装 Ubuntu。安装完成后,按提示重启电脑。
如果下载长期卡在 0%,可以尝试:
wsl --install --web-download -d Ubuntu
重启后更新 WSL,并检查发行版和版本:
wsl --update
wsl -l -v
第一次进入 Ubuntu 时,需要创建 Linux 用户名和密码。输入密码时屏幕不会显示字符,这是 Linux 终端的正常行为。

如果系统版本较旧,或安装时遇到其他问题,可以查看微软官方 WSL 安装文档:https://learn.microsoft.com/zh-cn/windows/wsl/install
2:把开发环境装在 Linux 里
进入 Ubuntu 后,先更新软件索引,再检查 Git、Python 和 Node.js:
sudo apt update
git --version
python3 --version
node -v
npm -v

Ubuntu 通常会自带 Git 和 Python 3。如果缺少 Node.js,可以按照 Node.js 官方 Linux 安装说明安装。
项目目录建议建在 Linux 文件系统里:
mkdir -p ~/projects/agent-demo
cd ~/projects/agent-demo
不要把长期开发项目放在 /mnt/c/Users/... 下。使用 Linux 命令行工作时,把文件存进 WSL 文件系统,能减少跨系统读写带来的 I/O 开销。微软也建议:使用 Linux 工具时,把项目放在 Linux 文件系统中。
需要用 Windows 资源管理器查看当前目录,可以执行:
explorer.exe .
需要用 VS Code 打开当前项目,可以执行:
code .
这样,代码和依赖留在 Linux 文件系统中,编辑器、浏览器和资源管理器仍然使用 Windows 版本。
3:先跑通一个 AI Agent
新手不需要一次安装一整套工具。先选一个你已经有账号或订阅的 AI Agent,跑通最小流程。
以 Codex CLI 为例,先打开:https://learn.chatgpt.com/docs/codex/cli

在 WSL 中执行 Linux 安装命令:
curl -fsSL https://chatgpt.com/codex/install.sh | sh
安装完成后,输入:
codex
第一次启动时,选择使用 ChatGPT 登录,或按页面提示使用其他登录方式。

让 Codex 桌面版进入 WSL
打开 Codex 设置,把「终端集成」里的 Shell 修改为 WSL。

重启 Codex。此后 Codex 的 Shell 就会运行在 WSL 中,执行的也是 Linux 命令。
4:让 Windows 和 WSL 互通
WSL 的优势是两边可以互通。下面几项最常用。
Windows 浏览器访问 WSL 服务
在 WSL 中启动 Node.js、Python 或其他 Web 服务后,通常可以直接在 Windows 浏览器打开:
http://localhost:3000
WSL 读取 Windows 文件
Windows 磁盘默认挂载在:
/mnt/c
/mnt/d
临时读取截图、数据文件或素材很方便,但项目依赖和大量小文件仍建议留在 ~/projects。
Windows 软件打开 Linux 文件
除了执行 explorer.exe .,也可以在 Windows 资源管理器地址栏输入:
\\wsl$
你会看到所有已安装发行版的文件系统。更多细节可以查看微软的 Windows 与 Linux 文件系统互操作说明:https://learn.microsoft.com/zh-cn/windows/wsl/filesystems
5:给 Agent 单独划一块安全区域
把 Agent 放进 WSL,不等于自动获得了完整的安全隔离。安全性仍然取决于它能看到哪些目录、拿到哪些权限。
我建议做三层限制:
1:为 Agent 单独创建一个 Ubuntu 发行版或实例,不和日常 Linux 环境混用。
2:只把项目放进专用目录,不把密钥、浏览器数据和个人文档复制进去。
3:高风险任务关闭 Windows 磁盘自动挂载,减少 Agent 默认接触 /mnt/c 和 /mnt/d 的机会。
关闭单个发行版的自动挂载,需要在 WSL 中编辑 /etc/wsl.conf:
[automount]
enabled=false
保存后回到 PowerShell 执行:
wsl --shutdown
重新进入 Ubuntu,再检查 Windows 磁盘是否仍然自动出现:
df -h
这里要注意:关闭自动挂载只是减少默认暴露,不是完整沙箱;有权限的用户仍然可以手动挂载磁盘。
.wslconfig 和 wsl.conf 也不要混用:
%UserProfile%\.wslconfig:Windows 侧的全局 WSL 2 配置。
/etc/wsl.conf:当前 Linux 发行版自己的配置。
6:用导出和导入保留干净环境
WSL 发行版可以完整备份。配置好 Agent、Git、Python 和 Node.js 后,先导出一个基础镜像:
wsl --export Ubuntu D:\WSL\ubuntu.tar

需要恢复或复制一份新环境时,指定新发行版名称、安装目录和刚才导出的 tar 文件:
wsl --import Ubuntu-Agent D:\WSL\Ubuntu-Agent D:\WSL\ubuntu.tar

这套方法适合做两类事情:
把自己电脑上的开发环境迁移到另一台 Windows 电脑。
克隆多个相互独立的环境,分别用来测试来源不明的仓库、安装脚本和高风险实验。
实验环境坏掉后,可以直接删除对应实例,再从干净镜像重新导入。很多时候,这比反复清理残留依赖和权限更省时间。
这就是 Windows 跑 AI Agent 最省心的一套思路:Windows 继续负责你熟悉的桌面软件,WSL 负责 Linux 工具链,Agent 只在你划定的环境里工作。

暂无评论,来说点什么吧~