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后,先更新软件源:
sudo apt update
```
然后检查你的“三件套”:
```bash
git --version
python3 --version
node -v
npm -vbuntu通常自带Git和Python3。如果缺Node.js,去官网找Linux安装说明,一行命令的事。
**项目放哪?** 我建议你建在Linux文件系统里:
mkdir -p ~/projects/agent-demo
cd ~/projects/agent-demo千万别图省事,把长期项目丢到 `/mnt/c/Users/...` 下。
我一开始就这么干过,结果读写文件慢得想砸电脑。跨系统I/O开销很大,这是血的教训。
第四步:让AI Agent(Codex CLI)跑在WSL里
新手别想着一口气装一整套工具。先挑一个你已经有账号的Agent,跑通最小流程。
以Codex CLI为例。去它的官网找到Linux安装命令,在WSL里执行:
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` 文件:
enabled=false保存后,回到PowerShell执行 `wsl --shutdown` 重启WSL。之后再进Ubuntu,用 `df -h` 检查,Windows磁盘就不会自动出现了。
注意:这只是一个防君子不防小人的“软隔离”,不是完整沙箱。有权限的用户依然可以手动挂载。
第七步:备份你的干净环境,随时“复活”
WSL发行版可以完整备份,这是我最喜欢的功能。
当你配置好一个干净的Agent环境(装好Git、Python、Node.js),先导出一个“基础镜像”:
wsl --export Ubuntu D:\WSL\ubuntu.tar以后如果需要恢复,或者想复制一份新环境来跑高风险实验,就用导入命令:
wsl --import Ubuntu-Agent D:\WSL\Ubuntu-Agent D:\WSL\ubuntu.tar这招能干嘛?
- 把一台电脑的开发环境,无缝迁移到另一台。
- 克隆多个相互独立的环境,一个测开源项目,一个做实验。
- 环境搞坏了?直接删掉实例,从干净镜像重新导入。比花半天清理残留依赖和权限,省心太多了。
下一步做什么?
这就是Windows跑AI Agent最省心的一套思路:Windows负责你熟悉的桌面软件,WSL负责Linux工具链,Agent只在你划定的环境里工作。
现在,关掉这篇教程,打开PowerShell,敲下 `wsl --install`。
如果你在配置过程中遇到任何报错,欢迎在评论区留言,我看到了会尽力帮你排查。毕竟,这坑我帮你踩过了,你就别再来一次了。

评论(0)