Windows 从源代码部署 OpenClaw
从源代码部署 clawdbot。Clawdbot,现在它有了新名字:OpenClaw
这是一份基于真实踩坑经历的 OpenClaw Windows 部署指南。如果你也卡在 “Missing A2UI bundle assets” 或不知道怎么在 Windows 上守护进程,这篇博客应该能帮到你。
彻底解决 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 Prompt 或 PowerShell 作为终端,避免权限问题。
三、源码编译安装
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 build 或 pnpm 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 上的部署主要有三个痛点:
- A2UI Bundle 编译:Bash 脚本不兼容 Windows,需手动执行
tsc+rolldown - 进程守护:不要尝试
npm install -g或 Windows Service,用 PM2 本地安装 + 任务计划程序 最稳 - 路径问题:项目放在非系统盘(如 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 脚本
更多推荐




所有评论(0)