这是一份基于真实踩坑经历的 OpenClaw Windows 部署指南。如果你也卡在 “Missing A2UI bundle assets” 或不知道怎么在 Windows 上守护进程,这篇博客应该能帮到你。


🦞 OpenClaw — 个人人工智能助手

OpenClaw安装排错笔记

彻底解决 Node.js 报错:Assertion failed: new_time >= loop->time, file src\win\core.c, line 327

一、OpenClaw 是什么?

Clawdbot,现在它有了新名字:OpenClaw。
OpenClaw 是一个开源的 AI 网关/代理框架,可以理解为"自托管的 Claude/GitHub Copilot 代理"。它支持多模型(OpenAI、Claude、本地 Ollama 等)、多渠道(Telegram、Discord、Slack 等),并且可以通过 Skills(插件)扩展能力,比如操作文件、搜索网页、控制智能家居等。

本文目标:在 Windows 本地(非 WSL)完成源码编译部署,并实现开机自启 + 后台守护。


二、环境准备

在开始之前,确保你的环境满足以下条件:

  • 操作系统:Windows 10/11(本文基于 Windows 11)
  • Node.js:v22+(推荐使用 nvm-windows 管理)
  • 包管理器:pnpm(必须,npm install -g pnpm
  • Python:3.11+(用于可选 Skills,建议创建 venv)
  • Git:用于克隆源码

建议:使用 Visual Studio 2022 Developer Command PromptPowerShell 作为终端,避免权限问题。


三、源码编译安装

1. 克隆项目

git clone https://github.com/your-repo/openclaw.git
cd openclaw

2. 安装依赖

pnpm install

注意:如果遇到 Ignored build scripts: core-js,运行:

pnpm approve-builds
# 选择 core-js 并确认

四、踩坑实录:A2UI Bundle 错误

这是最坑的一步。运行 pnpm buildpnpm openclaw onboard 时,大概率会报错:

Error: Missing A2UI bundle assets. Run "pnpm canvas:a2ui:bundle" and retry.

问题根源

OpenClaw 使用了一个叫 Canvas A2UI 的前端组件,需要通过 Bash 脚本 scripts/bundle-a2ui.sh 编译。但 Windows CMD/PowerShell 无法直接执行 Bash 脚本,且脚本内部调用了 WSL 路径(/mnt/c/...),导致各种路径报错:

/mnt/c/Windows/system32/node: Success

解决方案:手动执行 Rolldown

既然 Bash 脚本在 Windows 上跑不起来,我们手动执行它原本的命令:

# 1. 编译 A2UI Renderer
pnpm exec tsc -p vendor/a2ui/renderers/lit/tsconfig.json

# 2. 使用 Rolldown 打包(关键)
pnpm exec rolldown -c apps/shared/OpenClawKit/Tools/CanvasA2UI/rolldown.config.mjs

验证:检查 src/canvas-host/a2ui/a2ui.bundle.js 是否生成(约 536KB)。


五、构建与启动

解决了 A2UI 问题后,后续就顺畅了:

# 构建完整项目
pnpm build

# 运行初始化向导(配置模型、渠道等)
pnpm openclaw onboard

Onboarding 流程

  • 选择 QuickStart 模式
  • 配置默认模型(支持 OpenAI、Claude、Ollama 本地模型等)
ollama launch clawdbot

在这里插入图片描述
在这里插入图片描述

  • 选择聊天渠道(Tel****m/D*****d 等,可先 Skip)
  • 完成配置后会显示 Dashboard URL

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

六、进程管理:PM2 + Windows 任务计划

OpenClaw 是一个常驻服务(Gateway),需要保持运行。我们不能一直开着 pnpm openclaw gateway 那个黑窗口。

1. 安装 PM2(本地安装)

注意:pnpm 的全局安装在 Windows 上配置复杂,建议在项目本地安装:

pnpm add pm2 -D -w

2. 使用 PM2 启动

# 启动 Gateway(fork 模式)
pnpm exec pm2 start pnpm --name openclaw-gateway -- openclaw gateway

# 查看状态
pnpm exec pm2 status

预期看到:

┌────┬──────────────────┬────────┬─────────┬────────┬─────────┬────────┬─────┬────────┐
│ id │ name             │ mode   │ status  │ ↺      │ cpu     │ mem    │ user│ time   │
├────┼──────────────────┼────────┼─────────┼────────┼─────────┼────────┼─────┼────────┤
│ 0  │ openclaw-gateway │ fork   │ online  │ 0      │ 0%      │ 42mb   │ love│ 0s     │
└────┴──────────────────┴────────┴─────────┴────────┴─────────┴────────┴─────┴────────┘

3. 保存配置

pnpm exec pm2 save

4. 设置 Windows 开机自启(关键)

坑点pm2 startup windows 在 Windows 上会报错 process.getuid is not a function,因为 PM2 的 startup 脚本是为 Linux systemd 设计的。

解决方案:使用 Windows 任务计划程序(Task Scheduler)。

管理员身份运行 PowerShell:

# 创建任务
$Action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-WindowStyle Hidden -Command ""cd J:\PythonProjects4\openclaw; pnpm exec pm2 resurrect""" -WorkingDirectory "J:\PythonProjects4\openclaw"

$Trigger = New-ScheduledTaskTrigger -AtLogOn
$Settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable -Hidden

Register-ScheduledTask -TaskName "OpenClaw-Gateway" -Action $Action -Trigger $Trigger -Settings $Settings -Force

# 立即测试运行
Start-ScheduledTask -TaskName "OpenClaw-Gateway"

效果

  • 开机后自动启动 OpenClaw
  • 后台运行,无黑窗口(WindowStyle Hidden)
  • 使用 PM2 守护,崩溃自动重启

七、验证与使用

1. 检查服务状态

pnpm exec pm2 status
# 或
pnpm openclaw health

2. 访问控制面板

浏览器打开:

http://127.0.0.1:18789/

或使用 CLI 打开:

pnpm openclaw dashboard

3. 配置聊天渠道(可选)

以 Telegram 为例:

pnpm openclaw channel add Tel**** --token YOUR_BOT_TOKEN

八、总结

OpenClaw 在 Windows 上的部署主要有三个痛点:

  1. A2UI Bundle 编译:Bash 脚本不兼容 Windows,需手动执行 tsc + rolldown
  2. 进程守护:不要尝试 npm install -g 或 Windows Service,用 PM2 本地安装 + 任务计划程序 最稳
  3. 路径问题:项目放在非系统盘(如 J 盘)完全没问题,但确保所有命令都在项目目录下执行

最终架构

  • Gateway: PM2 守护(openclaw-gateway
  • 自启: Windows Task Scheduler 调用 pm2 resurrect
  • 访问: Web UI http://127.0.0.1:18789/

现在你可以关闭所有终端,重启电脑,OpenClaw 会自动在后台运行。打开浏览器,开始你的 AI 代理之旅吧!🦞


参考资料

  • OpenClaw 官方文档:https://docs.openclaw.ai
  • PM2 Windows 部署:https://pm2.keymetrics.io/docs/usage/startup/
  • Rolldown 配置修复:手动指定 -c 参数绕过 Bash 脚本
Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐