Windows 工程师 AI 战机
10 件套,给 Windows 10/11 开发者搭一套 AI 工作流:WinGet + Scoop 装包,Windows Terminal + WSL 跑壳,PowerToys + GlazeWM 控窗,AutoHotkey + Espanso 自动化,Windows-MCP 让 AI agent 直接驱动桌面。原生 Windows 优先 — 不是把 Mac 教程换个图标。
这个 pack 包含什么
这是一个真正用 Windows 10/11 干活的工程师在新装机器上一个晚上会配的核心 — 不是 Reddit 上 40 个随手工具的合集。每个都是活跃维护、可脚本化、和 AI agent 配合好(Claude Code / Cursor / Codex / Copilot,任何能调 shell 或 MCP server 的)。
Pack 刻意原生 Windows 优先。WSL 会出现,但作为 PowerShell 和 Win32 的同级 tab,而不是用来「假装在 Linux」。如果答案是「直接用 macOS」,那是另一个 pack — 这个 pack 是给主动选 Windows 的工程师(游戏机改的开发机、公司发的本本、Surface、Arm64 骁龙、GPU 主机)想把它弄得跟 Unix 工作站一样可自动化。
推荐安装顺序
- WinGet — 微软官方包管理器。Win10 1809+ 和 Win11 自带。先装这个,因为后面所有工具都能
winget install --id <id>装,得先有一条规范的安装路径再开始写脚本。 - Scoop — 基于 bucket 的便携安装器。和 WinGet 互补不冲突:Scoop 擅长命令行开发工具(jq / ripgrep / fd / sd),直接落到
~/scoop/shims不弹 UAC。GUI 用 WinGet,CLI 用 Scoop。 - Windows Terminal — 现代 GPU 加速终端,支持 tab、分屏、profile。PowerShell / CMD / WSL / SSH 全在一个窗口里。在
"globals.keybindings"里绑一个 `Ctrl+`` 全局热键,弹出/收起 Quake 模式 — 单点最大体验提升。 - WezTerm (可选替代) — GPU 加速终端,Lua 配置,内置 SSH 多路复用和图像协议。Windows Terminal 和 WezTerm 二选一;只在 WezTerm 用于重度 SSH 日 + Windows Terminal 用于 Windows 原生会话时才同时装。
- PowerShell 7 — 跨平台 pwsh。别凑合用系统自带的
powershell.exe(5.1,只在 Windows,模块基本不更新)。winget install Microsoft.PowerShell装的pwsh,AI agent 在 Windows / Linux / macOS 上调用方式完全一致。 - PowerToys — 微软出的生产力套件。开启 PowerToys Run(Alt+Space 启动器)、FancyZones(按自定义网格 snap 窗口)、Keyboard Manager(Caps Lock 改成 Esc 或 Ctrl)、Always On Top。别全部打开 — 选这四个,其他模块等真的需要再开。
- GlazeWM — i3 风格的平铺窗口管理器。FancyZones 用两周后手动拖窗口烦了,GlazeWM 自动平铺一切。和 PowerToys 不冲突,只要热键不重叠(
Alt+1..9给 GlazeWM workspace,Win+方向键给 FancyZones snap)。 - AutoHotkey — Windows 上的 Hammerspoon。把
CapsLock & j/k/l/;绑成方向键、做一个 Pomodoro HUD、空闲触发 webhook、任何东西粘任何东西。用 v2 学(v1 语法在淘汰)。 - Espanso — Rust 写的文本扩展器。打
:llm弹一段 200 字 Claude prompt;打:gpr弹你的 git PR 模板。YAML 配置跨平台,可 git 同步。学习曲线比 AutoHotkey 低,适合 80% 的「我打这个就出那个」场景。 - Windows-MCP — Model Context Protocol server,让 agent 控制 Windows 应用、UI 和文件。
uvx windows-mcp装好,接进 Claude Code 或 Codex。这是整套 AI stack 的收尾:shell、窗口、剪贴板都可脚本化之后,一个支持 MCP 的 agent 能驱动整套战机。
它们怎么协同
WinGet ───────┐
├─→ 装所有其他工具
Scoop ────────┘ (GUI 走 WinGet,CLI 走 Scoop)
Windows Terminal (或 WezTerm)
│
├─ tab: PowerShell 7 (pwsh)
├─ tab: WSL 2 (Ubuntu / Debian)
├─ tab: CMD(罕用,只为跑老 .bat)
└─ tab: SSH 到开发机 / GPU 服务器
PowerToys (PT Run / FancyZones / Keyboard Mgr) ⟵ GlazeWM (自动平铺)
│ │
└─── 都绑在 Win+... / Alt+... 下 ─────────────┘
(别双绑 — 同一个热键归一个工具)
AutoHotkey ──┐
├─ 胶水层:Hyper 风格 remap、全局 hook、
│ Pomodoro HUD、截屏流水线、webhook
Espanso ──────┘ (Espanso 只做文本扩展,
AHK 做剩下所有)
Windows-MCP (uvx)
│
└─→ Claude Code / Codex / Cursor — agent 驱动桌面
通过 screenshot + click + keyboard + 文件 API
Windows Terminal + PowerShell 7 + AutoHotkey + Windows-MCP 这四件套是分水岭:装完这套,整个机器不再是「Windows 上拼装的几个工具」,而是一个 AI 驱动的统一工作站。别跳过 PowerShell 7 — 没有 pwsh,每段从 Claude 抄来的跨平台脚本都得重写。
你会遇到的取舍
- WSL 2 vs 原生 Win32 — WSL 2 快、有真
apt、Linux 开发流几乎零成本移植。坑:跨 WSL ↔ Windows 文件系统的 IO 巨慢(10-100 倍)。原则:代码放在工具住的那一侧。Node 项目?放~/projects/(WSL 内),别放/mnt/c/Users/...。C# / .NET / 游戏?留原生。 - WinGet vs Scoop vs Chocolatey — WinGet 系统自带;Scoop 最适合 CLI 工具(不弹 UAC);Chocolatey 仓库最全但更重 + 需要管理员。本 pack 选 WinGet + Scoop,两者加起来覆盖 ~98% 开发工具,CLI 侧零 UAC。
- PowerToys FancyZones vs GlazeWM — FancyZones 是按拖触发(你决定什么时候 snap)。GlazeWM 自动平铺(每个新窗口加入布局)。两个都装:FancyZones 给大屏做 2-3 窗口 code review,GlazeWM 给笔记本默认平铺一切。
- AutoHotkey vs PowerShell 脚本 — AHK 在输入层(截 Caps Lock、热键触发、坐标 click)。PowerShell 在进程/文件层(管服务、解 JSON、打 API)。别互换 — AHK 写 HTTP 痛苦,PowerShell 用
Register-EngineEvent做热键不稳。 - Windows Terminal vs WezTerm — Windows Terminal Windows 集成最好(通知、jumplist、Quake 模式)。WezTerm SSH 多路复用更好,高 DPI 字体更清晰,Lua 配置。大多数工程师默认 Windows Terminal,WezTerm 给重度 SSH 日。选一个当默认就行,别纠结。
常见踩坑
- WSL 2 文件系统性能 —
/mnt/c/...里跑npm install比~/慢 30 倍。开发流感觉「坏了」一般就是这个原因。把仓库挪进 WSL 原生 ext4 分区。 - WSL 和 Windows 路径转换 —
wslpath -w ~/file把 WSL 路径转成C:\Users\...\file给 Windows 工具用,wslpath -u反过来。这两个命令背下来,省好几小时。 - AutoHotkey v1 vs v2 语法 — 互联网上 99% 脚本是 v1。别盲粘到 v2 — 语法不同(
Send, foovsSend("foo"))。新脚本写 v2,老脚本用官方 v1-to-v2 转换器。别浪费时间学 v1。 - PowerToys 自动更新冲掉 GlazeWM 热键 — 每次 PT 更新可能重新启用你关掉的模块。GlazeWM workspace 突然不响应了 → 先看是不是 PT FancyZones 又把
Alt+1..9抢走了。 - PowerShell 执行策略 —
pwsh.exe -ExecutionPolicy Bypass -File foo.ps1是 AI agent 友好的调用方式。默认Restricted策略会静默拒绝跑.ps1,看起来像脚本坏了。 - Windows-MCP 需要前台窗口 — agent 驱动的 UI 自动化没法点被遮挡的窗口。要么先把目标拉到前台再发输入,要么改用无头的文件/注册表 API。
- Defender SmartScreen 首次拦截 — Scoop / GlazeWM / AutoHotkey 脚本首次跑都可能触发 SmartScreen。右键 → 属性 → 取消阻止,或者 PowerShell 里
Unblock-File。别全局关 SmartScreen — 单文件取消阻止就行。
10 个资产打包就绪
常见问题
新装的 Windows 全部装完到底要多久?
纯安装时间约 2 小时:WinGet + Scoop + Windows Terminal + PowerShell 7 全是一行命令,30 分钟;WSL 2 + Ubuntu 发行版下载,20 分钟;PowerToys + GlazeWM 配置 + 热键冲突清理,30 分钟;写第一个 AutoHotkey 脚本 + Espanso 配置,30 分钟。预算一个晚上,不是喝杯咖啡的功夫。AI 收尾(Windows-MCP 接进 Claude Code)等 uvx 跑起来再额外加 30 分钟。
我必须装 WSL 吗?还是这整套能纯原生 Windows 跑?
纯原生跑 .NET / Go / Rust / 大部分 Python 开发都没问题。WSL 变重要是当你依赖 Linux-first 工具时:不用 Docker Desktop 跑 Docker、Nix、跑不动 pwsh 的 Bash CI 脚本、Node 项目里某个只跑 Linux 的依赖。很多工程师只在撞到某个具体工具需要时才开 WSL,不当默认。本 pack 把 WSL 当成 Windows Terminal 里的一个同级 tab,不是主操作系统。
已经有 PowerToys FancyZones 了为啥还要 GlazeWM?
FancyZones 是手动(你拖窗口到 zone)。GlazeWM 是自动(每个新窗口自己 i3 风格平铺)。解决不同问题。多数人最后两个都装:FancyZones 给大屏明确控制的 2-3 窗口 code review 场景,GlazeWM 给笔记本默认全平铺。只要热键不重叠(Win+方向键 给 FancyZones、Alt+1..9 给 GlazeWM workspace),两个共存毫无冲突。
2026 年学 AutoHotkey 应该学 v1 还是 v2?
v2。官方团队已经把 v1 标为维护状态,v2 是支持的未来。坑:GitHub 和 AHK 论坛上 80% 脚本还是 v1 语法。老脚本用官方 v1-to-v2 转换器;新脚本从头学 v2(语法干净、有真函数、有真对象、错误处理规范)。别浪费时间在 v1 上。
Claude Code 这类 AI agent 真的能通过 Windows-MCP 驱动 Windows 吗?
能 — 这就是 MCP server 的全部意义。uvx windows-mcp 装好、在 Claude Code 的 MCP 配置里注册之后,agent 就拿到 Win10/11 的 screenshot / click / 键盘输入 / 文件操作 / 窗口管理工具。配上 PowerShell 7 跑无头脚本,agent 能做和你写在 AutoHotkey 里一样的桌面自动化 — 只不过是对话驱动的。把 MCP server 当作高信任胶水层:限制在它自己的用户账号下,别挂在管理员账号里。