📝 文章摘要
文章建议 Windows 用户将 AI Agent 放入 WSL 运行,避免在 PowerShell 中因路径、权限、包管理器和 Shell 语法差异反复报错。核心流程包括开启虚拟化、用 `wsl --install` 安装 Ubuntu、把项目放在 WSL 文件系统而非 `/mnt/c`,并在 Linux 环境中配置 Git、Python、Node 与 Codex。文章还介绍了 Windows 与 WSL 的互通方式、安全隔离建议,以及通过导出镜像备份和克隆环境。整体思路是:Windows 负责桌面软件,WSL 承载 Linux 工具链,让 Agent 更稳定高效运行。
WSL 跑 AI Agent 教程封面,左侧 Windows 桌面与右侧 Ubuntu Linux 终端由桥接相连,Agent 在 Linux 终端运行,蓝紫渐变扁平插画

Windows 跑 Agent 别跟 PowerShell 死磕:WSL 喂饭教程,从装到跑通

你在 Windows 上用 Codex,是不是经常遇到这种情况:明明让 Agent 写个功能,它却在 PowerShell 里反复报同一个错,绕着同一条命令空转。

先别急着怪模型。它大概率不是不会写代码,是卡在路径格式、权限、包管理器、Shell 语法这些破事上。活没干多少,token 全浪费在环境调试里了。我的建议很直接:别跟 PowerShell 硬磨,把 Agent 请进 WSL。

Windows 照常用,代码、依赖和 Agent 留在 Linux 里。一行命令搞定,不用换电脑,也不用装双系统。

先别怪模型:八成是环境在坑你

PowerShell 的路径是反斜杠、权限模型和 Linux 完全不同、包管理器也不是 apt。Agent 在 Linux 训练出来的经验,到了 PowerShell 上水土不服是常态。而 WSL(Windows Subsystem for Linux,适用于 Linux 的 Windows 子系统)直接给你一个正经 Linux 环境——路径、权限、apt、Node 全标准。把 Agent 放进去,空转的轮次能砍掉一大半。

装之前:确认虚拟化已开

这步新手最容易漏。打开任务管理器 →「性能」→「CPU」,看「虚拟化」一项:

  • 显示「已启用」→ 直接进下一步
  • 显示「未启用」→ 重启进 BIOS/UEFI 开:
    • Intel:Intel Virtualization Technology / VT-x / VMX
    • AMD:SVM Mode / AMD-V

不同主板入口不一样,按型号搜一下就有。

一步装好 WSL + Ubuntu

管理员身份打开 PowerShell,一条命令:

PHP
wsl --install

它会启用 WSL 组件并默认装 Ubuntu,装完按提示重启。如果下载长期卡在 0%,换网络通道:

PHP
wsl --install --web-download -d Ubuntu

重启后更新并检查:

PHP
wsl --update
wsl -l -v

第一次进 Ubuntu 要设 Linux 用户名和密码。输密码时屏幕不显示字符,那是 Linux 的正常行为,不是卡了。系统太旧或报错,看微软官方文档 https://learn.microsoft.com/zh-cn/windows/wsl/install

开发环境进 Linux,项目别放错地方

进 Ubuntu 后,先更新索引、查基础工具:

PHP
sudo apt update
git --version
python3 --version
node -v
npm -v

Ubuntu 通常自带 Git 和 Python 3。缺 Node 按官方说明装。项目目录建在 Linux 文件系统里:

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

关键:别把长期项目放 /mnt/c/Users/... 用 Linux 命令行时,文件留在 WSL 文件系统能省掉大量跨系统 I/O 开销——微软自己也这么建议。想用资源管理器看当前目录,执行 explorer.exe .;想用 VS Code 打开,执行 code .。代码依赖在 Linux,编辑器浏览器还是 Windows 版,两边不冲突。

先跑通一个 Agent:以 Codex 为例

新手别一上来装一整套。先选你已经有账号的 Agent,跑通最小流程。以 Codex CLI 为例:

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

首次启动选 ChatGPT 登录。要让桌面版 Codex 也走 Linux:打开设置,把「终端集成」的 Shell 改成 WSL,重启。之后它的 Shell 就跑在 WSL 里,执行的也是 Linux 命令——这才是彻底摆脱 PowerShell 语法坑的办法。

让 Windows 和 WSL 互通

WSL 的香,在于两边能互相够得着:

  • 浏览器访问 WSL 服务:WSL 里起 Node/Python 的 Web 服务,Windows 浏览器直接开 http://localhost:3000
  • WSL 读 Windows 文件:Windows 盘挂在 /mnt/c/mnt/d,临时读截图素材方便,但项目依赖别往这塞。
  • Windows 看 Linux 文件:除了 explorer.exe .,资源管理器地址栏输 \\wsl$ 能看到所有发行版的文件系统。

给 Agent 单独划一块安全区

把 Agent 放进 WSL,不等于自动安全隔离。它能不能乱翻,取决于你给了什么目录和权限。我的三层限制:

  1. 给 Agent 单独建一个 Ubuntu 实例,不和日常环境混用。
  1. 只把项目放进专用目录,密钥、浏览器数据、个人文档别复制进去。
  1. 高风险任务关掉 Windows 磁盘自动挂载,减少它默认碰到 /mnt/c/mnt/d 的机会。

关单个发行版自动挂载,编辑 /etc/wsl.conf

PHP
[automount]
enabled=false

保存后回 PowerShell 执行 wsl --shutdown,重进 Ubuntu 用 df -h 确认 Windows 盘不再自动出现。注意:这只是减少默认暴露,不是完整沙箱,有权限仍能手动挂。另外别混用两个配置文件——%UserProfile%\.wslconfig 是 Windows 侧全局 WSL 2 配置,/etc/wsl.conf 是当前发行版自己的。

导出镜像:坏掉就重来,比清理省事

WSL 发行版能整体备份。配好 Agent、Git、Python、Node 后,先导出一个干净基础镜像:

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

要复制一份新环境(比如测试来源不明的仓库),指定新名字和目录:

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

这套备份能干两件实在事:把开发环境从一台 Windows 迁移到另一台;克隆多个互不干扰的环境分别跑高风险实验。实验环境搞崩了,删掉实例、从干净镜像重导,比反复清理残留依赖和权限省太多时间。
这就是 Windows 跑 AI Agent 最省心的思路:Windows 管你熟悉的桌面软件,WSL 管 Linux 工具链,Agent 只在你划好的地盘里干活。

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