在 Windows 11 上原生安装 OpenClaw 的尝试

在 Windows 11 上原生安装 OpenClaw 的尝试

3 min read

基础设施 / 自托管AI智能体

在 Windows 11 上原生安装 OpenClaw #

此前,我们已经验证了在 Windows Server 2019 上原生安装 OpenClaw 的方法。
这次,我们在 Windows 11 上测试了同样的原生安装路线。
我们在此公开验证记录,看看在 Server 2019 上遇到的诸多障碍是否会在 Windows 11 上重现,
还是能够顺利运行。

OpenClaw
Windows 11
原生安装
pnpm
GPUStack
自托管AI
与上一篇文章的关系
本文是《在 Windows Server 2019 上安装 OpenClaw(完整版)》的延续。
关于 Server 2019 验证的详细内容,请参阅该文章。

为什么我们选择原生路线而非WSL2 #

在 Windows 11 上,只需一条 wsl --install 命令即可安装 WSL2 与 Ubuntu,
因此通常情况下 WSL2 路线要轻松得多。
但我们仍然选择了原生路线,因为我们的目标是希望操作Windows机器本身。

想要执行的操作WSL2原生
文件操作(Linux侧)◎△
文件操作(Windows侧)○(经由 /mnt/c)◎
网页浏览与搜索◎◎
代码执行与自动化◎◎
PowerShell执行○(经由调用)◎
Windows服务管理△◎
注册表操作✕◎
WMI与COM操作✕◎
Windows GUI操作✕◎(需启用skill)
systemd服务启用◎✕
稳定性与功能完整性◎△
结论
如果想把Windows用作能够操作一切的智能体,原生安装是唯一选择。
如果重点在于信息收集、代码生成和任务自动化,WSL2会更轻松。

环境配置 #

OpenClaw主机

  • Windows 11
  • OpenClaw v2026.4.5(pnpm安装)
  • Node.js v22.14.0
  • 网关端口:18789

模型与搜索后端

  • GPUStack + vLLM 0.17.1
  • Qwen2.5-14B-Instruct
  • SearXNG(本地部署)
  • Custom Provider(OpenAI兼容)

安装步骤 #

  1. 安装 Git for Windows #

    npm解析依赖时需要用到Git。请在管理员权限的PowerShell中运行。

    curl.exe -L -o git.exe "https://github.com/git-for-windows/git/releases/download/v2.47.1.windows.1/Git-2.47.1-64-bit.exe"
    .\git.exe /VERYSILENT /NORESTART
    Start-Sleep -Seconds 30

    关闭并重新打开PowerShell,然后用 git --version 验证。

  2. 安装 Node.js 22 LTS #

    curl.exe -L -o nodejs.msi "https://nodejs.org/dist/v22.14.0/node-v22.14.0-x64.msi"
    msiexec /i nodejs.msi /quiet /norestart
    Start-Sleep -Seconds 30

    关闭并重新打开PowerShell。用 node --version 验证,应显示 v22.x.x。

  3. 脚本执行策略与pnpm设置 #

    Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
    npm install -g pnpm
    pnpm setup

    关闭并重新打开PowerShell。

  4. 使用pnpm安装OpenClaw #

    $env:NODE_OPTIONS=""
    pnpm add -g openclaw@2026.4.5

    下载完成后,批准构建脚本。

    pnpm approve-builds -g
    # Select all with spacebar → Enter → y
    pnpm add -g openclaw@2026.4.5

    构建OpenClaw大约需要2分钟。

  5. 在系统级别持久化PATH #

    防止每次打开新的PowerShell时PATH消失。

    $paths = @(
      'C:\Program Files\nodejs',
      "$env:APPDATA\npm",
      "$env:LOCALAPPDATA\pnpm"
    )
    $current = [System.Environment]::GetEnvironmentVariable('PATH','Machine')
    $entries = ($current -split ';') + $paths | Select-Object -Unique
    [System.Environment]::SetEnvironmentVariable('PATH', ($entries -join ';'), 'Machine')
    $env:PATH = ($entries -join ';')
    Write-Host "openclaw:" (Get-Command openclaw -EA SilentlyContinue).Source
  6. 引导设置(Onboarding) #

    $env:NODE_OPTIONS=""
    openclaw onboard

    在向导中配置以下内容:

    • 安全警告:选择Yes继续
    • 设置模式:QuickStart
    • 配置处理(如检测到已有配置):选择Reset以重新开始
    • 模型提供方:Custom Provider
    • Base URL:http://<GPUStack IP>/v1
    • API密钥提供方式:Paste API key now
    • 端点兼容性:OpenAI-compatible
    • 模型ID:GPUStack上运行的模型名称
    • Channel:Skip for now
    • Skill依赖:Skip for now
    • 网页搜索:SearXNG Search → 输入URL
    • Hooks:仅启用session-memory
    如果出现“Config handling”界面
    如果检测到其他机器上创建的配置文件,或此前安装遗留的配置文件,
    在引导设置开始时会出现 Existing config detected → Config handling 选项。
    如果要重新开始,请选择Reset。
  7. 手动修正contextWindow #

    引导设置完成后,OpenClaw可能会误判模型的上下文长度。
    请直接编辑配置文件(provider名称需改为与你的环境相匹配)。

    $config = Get-Content "$env:USERPROFILE\.openclaw\openclaw.json" | ConvertFrom-Json
    $config.models.providers.'custom-10-255-253-205'.models[0].contextWindow = 32768
    $config.models.providers.'custom-10-255-253-205'.models[0].maxTokens = 8192
    $config | ConvertTo-Json -Depth 20 | Set-Content "$env:USERPROFILE\.openclaw\openclaw.json" -Encoding UTF8
  8. 启动网关并验证运行状态 #

    $env:NODE_OPTIONS=""
    openclaw gateway run

    当日志中出现 [gateway] ready 时,在另一个窗口打开仪表盘。

    $env:NODE_OPTIONS=""
    openclaw dashboard

    如果能在 main 会话中聊天,说明安装已完成。

  9. 将ocstart.ps1保存到桌面 #

    创建一个快捷方式,免去每次都要设置PATH和NODE_OPTIONS的麻烦。

    $script = @'
    param([switch]$Stop)
    $env:NODE_OPTIONS=""
    $paths = @('C:\Program Files\nodejs', "$env:APPDATA\npm", "$env:LOCALAPPDATA\pnpm")
    foreach ($p in $paths) {
      if (($env:PATH -split ';') -notcontains $p) { $env:PATH += ";$p" }
    }
    if ($Stop) { openclaw gateway stop; exit }
    $action = Read-Host "[1] Start Gateway  [2] Stop  [3] Dashboard  [4] TUI  [5] Status`n> "
    switch ($action) {
      '1' { openclaw gateway run }
      '2' { openclaw gateway stop }
      '3' { openclaw dashboard }
      '4' { openclaw tui }
      '5' { openclaw gateway status; openclaw doctor }
    }
    '@
    $script | Out-File "$env:USERPROFILE\Desktop\ocstart.ps1" -Encoding UTF8
    
    $ws = New-Object -ComObject WScript.Shell
    $sc = $ws.CreateShortcut("$env:USERPROFILE\Desktop\OpenClaw Start.lnk")
    $sc.TargetPath = "powershell.exe"
    $sc.Arguments = "-ExecutionPolicy Bypass -File `"$env:USERPROFILE\Desktop\ocstart.ps1`""
    $sc.Save()
    Write-Host "Complete"

GPUStack配置 #

在GPUStack管理面板的模型后端参数中添加以下内容,并重启模型。

--max-model-len 32768
--generation-config vllm
--enable-auto-tool-choice
--tool-call-parser hermes
注意
保存后会出现提示,说明“更改只有在删除并重新创建实例后才会生效”。请停止并重启模型。

与Server 2019的对比 #

Windows 11上的改进之处

  • WSL2可作为一种可选方案
  • 原生路线可直接沿用与Server 2019相同的步骤
  • 通过Microsoft Store能更方便地获取各种工具

与Server 2019相同的行为

  • npm版本可能遇到MODULE_NOT_FOUND(推荐使用pnpm)
  • 需要持久化PATH
  • 必须清空NODE_OPTIONS
  • 需要手动调整contextWindow
  • 需要配置GPUStack后端参数
“Config handling”界面是Windows 11特有的情况
在完成Server 2019验证之后于Windows 11上运行引导设置时,
系统检测到了已有配置文件,出现了 Config handling 选项。
这种情况会在其他机器上配置的配置文件被共享,
或在同一台机器上重新安装时出现。
如果要重新开始,请选择Reset。

运行验证清单 #

  • openclaw --version 有正常输出
  • 日志中出现 [gateway] ready
  • 浏览器中能打开仪表盘(http://127.0.0.1:18789)
  • 在 main 会话中聊天能获得响应
  • GPUStack日志中显示 POST /v1/chat/completions HTTP/1.1" 200 OK
  • 会话界面的TOKENS显示为 xxxxx / 32768
  • SearXNG搜索功能正常

总结 #

在Windows 11上的原生安装,几乎可以原样沿用在Server 2019上确立的步骤。
使用pnpm、持久化PATH、清空NODE_OPTIONS——这三条原则在Windows 11上依然不变。

与Server 2019的一个重要区别是,Windows 11提供了WSL2作为可选方案,
可以根据具体用途选择安装路线。
如果想操作Windows本身,就使用原生安装;
如果是通用的AI智能体用途,就使用WSL2——请根据自己的目标来选择。

结论
Windows 11的原生安装并不比Server 2019更简单,
但只要按照既定步骤操作,一定能够跑起来。
从一开始就使用pnpm是最重要的一点。
本文的操作步骤基于2026年4月时的OpenClaw v2026.4.5、vLLM 0.17.1及GPUStack。
版本更新后行为可能会有所不同。

Updated on 2026年6月9日

What are your feelings

  • Happy
  • 常规
  • Sad

©2020 BESTNET.LLC . All Rights Reserved.