在Windows上跑Codex等AI Agent,总被PowerShell报错困扰?本文教你安装WSL,把Agent放进Linux环境,告别环境问题,省token又省心。

Windows跑AI Agent总报错?别跟PowerShell硬磨,装个WSL一劳永逸

你遇到过这种情况吗?

在Windows上打开Codex CLI,让它写段Python脚本。结果它第一件事不是写代码,而是跟PowerShell的路径格式、编码问题、权限错误死磕了五分钟。Token烧了几百个,活一点没干。

我上个月帮一个客户调试类似问题,光看Log就花了半小时。最后发现,问题根本不是模型不行——它只是被Windows那套环境给“卡”住了。

我的建议很直接:别跟PowerShell硬磨。把Agent放进WSL里。

Windows你照常用,代码、依赖、Agent都放到Linux环境里。只需要一行命令,不用换电脑,更不用装双系统。这篇文章,我带你从零跑通这套流程。

---

为什么我劝你放弃PowerShell,拥抱WSL?

WSL,全称Windows Subsystem for Linux。简单说,就是在Windows里给你“塞”了一个轻量级的Linux内核。

对AI Agent来说,Linux环境是“母语”。包管理器(apt)、文件权限、Shell语法(bash),一切都是它最熟悉的。而在PowerShell里,路径用反斜杠、环境变量用`$env:`、权限模型完全不同——Agent每干一步都要“翻译”一次,不报错才怪。

说白了,这不是模型的问题,是环境的问题。

把Agent放到WSL里,就是把一个老外从需要翻译的会议室,直接扔到了他的母语国家。效率能不高吗?

---

第一步:检查你的电脑是否“达标”

先别急着敲命令。花10秒看一眼你的CPU虚拟化开了没。

打开任务管理器 → 点「性能」 → 点「CPU」。看右下角「虚拟化」那一项。

- 如果是**「已启用」**,恭喜,直接往下走。
- 如果是**「未启用」**,别慌。重启电脑,进BIOS/UEFI设置。
- **Intel CPU**:找 `Intel Virtualization Technology`、`VT-x` 或 `VMX`。
- **AMD CPU**:找 `SVM Mode` 或 `AMD-V`。

不同电脑的入口和菜单名可能不一样。如果找不到,直接搜“你的主板型号 + 开启虚拟化”,比什么都快。

---

第二步:一行命令,装好WSL和Ubuntu

用管理员身份打开PowerShell,然后敲下这行“魔法咒语”:

进入Ubuntu后,先更新软件源:

PHP
sudo apt update
```

然后检查你的“三件套”:

```bash
git --version
python3 --version
node -v
npm -v

buntu通常自带Git和Python3。如果缺Node.js,去官网找Linux安装说明,一行命令的事。

**项目放哪?** 我建议你建在Linux文件系统里:

PHP
mkdir -p ~/projects/agent-demo
cd ~/projects/agent-demo

千万别图省事,把长期项目丢到 `/mnt/c/Users/...` 下。

我一开始就这么干过,结果读写文件慢得想砸电脑。跨系统I/O开销很大,这是血的教训。

第四步:让AI Agent(Codex CLI)跑在WSL里

新手别想着一口气装一整套工具。先挑一个你已经有账号的Agent,跑通最小流程。

以Codex CLI为例。去它的官网找到Linux安装命令,在WSL里执行:

PHP
curl -fsSL https://chatgpt.com/codex/install.sh | sh

装完后,输入`codex`启动,用你的ChatGPT账号登录就行。

让Codex桌面版进入WSL: 打开Codex的设置,找到「终端集成」,把Shell改成WSL的bash路径。重启Codex,之后它执行的命令就都是Linux命令了。

第五步:Windows和WSL,打通任督二脉

WSL最大的优势,就是两边能“互通”。

- Windows浏览器访问WSL服务:在WSL里跑个Python Web服务,直接在Windows浏览器里打开 `http://localhost:3000` 就能访问。端口是通的,无缝衔接。
- WSL读取Windows文件:临时从C盘拷个截图?没问题。Windows磁盘默认挂在 `/mnt/c` 和 `/mnt/d` 下。
- Windows软件打开Linux文件:想在资源管理器里看看WSL里的文件?最方便的方法:在WSL里执行 `explorer.exe .`,当前目录就直接在Windows里弹出来了。或者在资源管理器地址栏输入 `\\wsl$`,所有发行版的文件系统一览无余。

第六步:给Agent划个“安全区”,别让它乱跑

把Agent放进WSL,不等于自动获得了安全隔离。**它能看到哪些目录,取决于你给它多大权限。**

我给自己定了三层规矩:

1. 独立环境:为Agent**单独创建一个WSL发行版**,不和日常的Linux环境混用。这样Agent就算“发疯”,也祸害不到你的工作环境。
2. 最小权限:只把项目文件放进Agent的专用目录。**密钥、浏览器数据、个人文档**,一概不往里放。
3. 关闭自动挂载:对于高风险任务,我直接关掉Windows磁盘自动挂载。编辑WSL里的 `/etc/wsl.conf` 文件:

PHP
enabled=false

保存后,回到PowerShell执行 `wsl --shutdown` 重启WSL。之后再进Ubuntu,用 `df -h` 检查,Windows磁盘就不会自动出现了。

注意:这只是一个防君子不防小人的“软隔离”,不是完整沙箱。有权限的用户依然可以手动挂载。

第七步:备份你的干净环境,随时“复活”

WSL发行版可以完整备份,这是我最喜欢的功能。

当你配置好一个干净的Agent环境(装好Git、Python、Node.js),先导出一个“基础镜像”:

PHP
wsl --export Ubuntu D:\WSL\ubuntu.tar

以后如果需要恢复,或者想复制一份新环境来跑高风险实验,就用导入命令:

PHP
wsl --import Ubuntu-Agent D:\WSL\Ubuntu-Agent D:\WSL\ubuntu.tar

这招能干嘛?

- 把一台电脑的开发环境,无缝迁移到另一台。
- 克隆多个相互独立的环境,一个测开源项目,一个做实验。
- 环境搞坏了?直接删掉实例,从干净镜像重新导入。比花半天清理残留依赖和权限,省心太多了。

下一步做什么?

这就是Windows跑AI Agent最省心的一套思路:Windows负责你熟悉的桌面软件,WSL负责Linux工具链,Agent只在你划定的环境里工作。

现在,关掉这篇教程,打开PowerShell,敲下 `wsl --install`。

如果你在配置过程中遇到任何报错,欢迎在评论区留言,我看到了会尽力帮你排查。毕竟,这坑我帮你踩过了,你就别再来一次了。

本文最后更新于2026年7月23日,若涉及的内容可能已经失效,直接留言反馈补链即可,我们会处理,谢谢
声明:本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,请勿用于任何商业目的与商业用途,如需商用请支持正版!如亲下载后改变其用途与使用方式,与本站无任何关系,本站已经进行告知义务!我们只做安全认证测试如果资源侵犯了您的版权利益,请联系站长邮箱:17606723350@163.com