OpenClaw 的内置“计划任务”服务检测到配置文件大幅变动(体积从 9k 缩减到 1k),出于安全考虑,它拒绝在后台加载这个“可疑”的配置文件。
即:你手动运行成功,但后台服务启动失败。
请按照以下步骤彻底解决并建立稳固的常驻服务:
第一步:强行清除“配置异常”警告
在 CMD 中运行:
openclaw doctor --fix
执行后,它会询问你是否要同步元数据,输入 y 或直接让它完成。这一步是告诉 OpenClaw:“这个简化的配置是我故意改的,不是文件损坏”。
第二步:改用 PM2 部署(强烈推荐,实现真正的“常驻”)
OpenClaw 自带的 gateway start 在 Windows 上是基于“任务计划程序”的,容易受到系统权限和配置校验的干扰。PM2 是目前最稳定、最主流的解决方案。
安装 PM2:
npm install pm2 -g
停止并删除旧的、不稳定的内置服务:
openclaw gateway stop
schtasks /delete /tn "OpenClaw Gateway" /f
使用 PM2 启动 OpenClaw:
(请确保你当前在 C:\Users\Administrator 目录下)
pm2 start "C:\Users\Administrator\AppData\Roaming\npm\node_modules\openclaw\dist\index.js" --name "openclaw" -- gateway --port 18789
查看状态:
pm2 status
你应该能看到 openclaw 的状态是 online。
查看实时日志(非常重要,可以看到飞书连通情况):
pm2 logs openclaw
第三步:设置开机自动启动
PM2 默认在重启电脑后不会自动启动,需要额外执行一步:
安装开机启动工具:
npm install pm2-windows-startup -g
pm2-startup install
保存当前运行列表:
pm2 save
为什么这样做更好?
自动重启:如果 OpenClaw 因为网络波动或飞书接口报错崩溃了,PM2 会在 1 秒内自动把它拉起来。
日志管理:你可以随时输入 pm2 logs 看到机器人为什么没回消息,而不是去翻文件夹找 log。
绕过校验:PM2 以直接进程方式运行,不会触发 OpenClaw 针对 Windows Service 的严苛配置校验。
现在请尝试在飞书发消息,它应该已经永久在线了!
如果在使用 PM2 过程中发现机器人没反应,或者你想让配置更改生效,可以使用以下几种重启方式:
1. 最常用的:普通重启
如果你只是想让程序重新跑一下,直接运行:
pm2 restart openclaw
2. 彻底重新加载(先删后加)
如果程序报错卡死,或者 restart 命令没效果,建议先删除进程再重新运行启动命令:
pm2 delete openclaw
pm2 start "C:\Users\Administrator\AppData\Roaming\npm\node_modules\openclaw\dist\index.js" --name "openclaw" -- gateway --port 18789
3. 查看重启历史和错误
如果程序频繁自动重启,说明代码或配置有错。你可以通过以下命令排查:
看状态:pm2 status (查看 restarts 那一列的数字,如果很大,说明一直在崩)。
看报错日志:pm2 logs openclaw --lines 50 (查看最后50行报错信息)。
重置计数器:如果你修好了错误,想让重启次数归零:pm2 reset openclaw。
4. 电脑重启后如何自动恢复
因为你是 Windows 系统,执行完上面的 start 命令后,一定要执行下面这一步,否则电脑重启后 PM2 不会自动拉起机器人:
pm2 save
总结:遇到问题“三板斧”
pm2 logs openclaw (看看到底报了什么错)
pm2 restart openclaw (尝试重启)
如果还是不行,就 pm2 delete openclaw 然后重新执行那串长长的 pm2 start ... 命令。
为什么会出现电脑闪现闪退现象?
这种情况通常是因为 PM2 在 Windows 上启动 Node.js 脚本时,脚本内部调用了某些系统命令(如 OpenClaw 正在进行的 Bonjour 局域网发现 或 价格表更新),导致系统反复弹出黑窗口。
另外,日志显示你的网络连接到飞书和价格服务器存在 Timeout(超时),这会导致 OpenClaw 反复尝试初始化,从而触发那些闪烁的窗口。
请按照以下步骤彻底解决:
1. 彻底清理冲突进程
闪退窗口频繁出现,很可能是因为之前的“任务计划程序”和现在的“PM2”都在抢占同一个端口。
pm2 delete openclaw
openclaw gateway stop
2. 使用“无窗口”模式重新启动
在 Windows 上,直接指向 .js 文件有时会导致这种问题。我们换一种更稳定的方式启动:
执行以下命令(注意:我把 node 放在了前面,并增加了环境变量):
pm2 start "node" --name "openclaw" -- "C:\Users\Administrator\AppData\Roaming\npm\node_modules\openclaw\dist\index.js" gateway --port 18789
3. 解决日志中的 Timeout 问题(核心原因)
日志里显示的 handshake timeout 和 pricing bootstrap failed 说明你的服务器访问外网(飞书服务器/OpenClaw 配置服务器)不稳定。
检查 DNS:建议将服务器 DNS 设置为 8.8.8.8 或 114.114.114.114。
配置优化:如果你的网络环境确实很差,可以通过修改 ~/.openclaw/openclaw.json,尝试禁用一些导致报错的次要功能(如局域网发现)。
4. 终极方案:使用 NSSM (比 PM2 在 Windows 上更原生)
如果 PM2 依然让你感到闪退窗口烦人,推荐使用 NSSM (Non-Sucking Service Manager),它是 Windows 上公认最稳定的服务封装工具,绝对不会弹窗。
下载 NSSM:https://nssm.cc/download (下载后解压,找到 win64 文件夹下的 nssm.exe)。
在 CMD 中进入该目录,运行:
nssm install OpenClawService
在弹出的窗口里填入:
Path: C:\Program Files\nodejs\node.exe (你的 node 路径,可以用 where node 查找)
Startup directory: C:\Users\Administrator\.openclaw
Arguments: C:\Users\Administrator\AppData\Roaming\npm\node_modules\openclaw\dist\index.js gateway --port 18789
点击 “Install Service”。
启动服务:
按下 Win + R,输入 services.msc,找到 OpenClawService,右键启动。
为什么会出现闪退窗口?
从日志看,OpenClaw 正在尝试执行以下操作:
Bonjour Watchdog: 尝试在局域网广播自己。
Model Pricing: 尝试从远程下载最新的模型价格表。
Feishu Probe: 尝试探测飞书接口。
由于你的网络出现了 Timeout(超时),OpenClaw 可能会不断触发子进程去重试。在 Windows 环境下,PM2 捕获子进程的方式不当就会导致黑窗口闪现。
建议: 如果你不想折腾,请直接用 方法 4 (NSSM)。它是 Windows 服务器管理员的标配,能把任何脚本变成真正的、无窗口的后台系统服务。


评论(0)