OpenClaw Windows 安装与排障实录

在这里插入图片描述

npm error code 1Gateway/RPC 异常,再到 OpenAI quota 问题,这篇文章完整记录一次真实的 OpenClaw 落地排障过程。
目标读者:刚开始在 Windows 上安装 OpenClaw,且希望快速定位并修复常见问题的工程同学。


一、背景与环境

本次排障环境:

  • 系统:Windows(PowerShell)
  • Node.js:v22.14.0
  • npm:10.9.2
  • OpenClaw:2026.2.24
  • 典型启动命令:
iwr -useb https://openclaw.ai/install.ps1 | iex
openclaw gateway status
openclaw gateway probe
openclaw agent --agent main -m "测试消息" --json

二、问题总览(按出现顺序)

在这次落地中,实际遇到了 6 类问题:

  1. 安装阶段报错:npm error code 1
  2. 网关状态异常:Service: Scheduled Task (missing) + RPC probe failed
  3. 网关安装失败:schtasks create failed: 拒绝访问
  4. 强制启动失败:Force: Error: lsof not found; required for --force
  5. Agent 调用参数错误:必须显式指定会话目标
  6. 模型调用失败:API rate limit reached,最终定位为 OpenAI insufficient_quota

这 6 类问题并不是孤立的,很多同学会“修好一个,冒出另一个”。下面直接给出可复现的排查链路。


三、安装报错:npm error code 1 怎么看

1) 现象

通过官方脚本安装时出现:

npm error code 1

2) 正确排查姿势

先看基础版本:

node -v
npm -v

再用详细日志重装,定位失败包:

npm install -g openclaw@latest --loglevel verbose

本次日志里可见 node-llama-cpp 相关 postinstall 失败,且出现缺少 Visual Studio C++ 构建工具的提示。
这类错误本质是本机编译链不完整(不是 OpenClaw CLI 逻辑错误)。

3) 结果

后续重新安装成功,并验证:

openclaw --version
# 2026.2.24

四、网关不可用:Scheduled Task missing + RPC failed

1) 现象

openclaw gateway status 输出类似:

Service: Scheduled Task (missing)
Runtime: unknown (...)
RPC probe: failed

openclaw gateway probe 输出类似:

Connect: failed - connect ECONNREFUSED 127.0.0.1:18789

2) 根因

网关服务本质依赖 Windows Scheduled Task。
如果安装服务失败,status 会显示 missing,probe 通常会 ECONNREFUSED

3) 关键验证

安装服务时出现:

Gateway install failed: schtasks create failed: 拒绝访问

另外手工验证也会报:

schtasks /Create ...
# ERROR: Access is denied.

这说明当前终端并未真正提权(UAC 场景下常见)。

4) 修复步骤

请使用“管理员 PowerShell”执行:

openclaw gateway install
openclaw gateway start
openclaw gateway status
openclaw gateway probe

通过标准:

  • Service 不再是 missing
  • probe 显示 Reachable: yes
  • Connect: okRPC: ok

五、--force 在 Windows 报 lsof not found 的处理

1) 现象

openclaw gateway run --force --verbose
# Force: Error: lsof not found; required for --force

2) 解释

--force 依赖 lsof 清理占用端口,这在 macOS/Linux 更常见;纯 Windows 环境往往没有 lsof

3) 正确做法

在 Windows 上优先使用:

openclaw gateway start

或前台运行(不加 --force):

openclaw gateway run --verbose

如果确实要清端口,用 Windows 原生命令:

Get-NetTCPConnection -LocalPort 18789 -State Listen
Stop-Process -Id <PID> -Force

六、Agent 调用报错:会话目标参数必须给

1) 现象

openclaw agent -m "你好,做一次连通性自检并简短回复" --json

报错:

Pass --to <E.164>, --session-id, or --agent to choose a session

2) 修复

至少提供一个会话选择参数,例如:

openclaw agent --agent main -m "你好,请回复:连通测试通过" --json

七、模型一直限流:不是网关问题,而是上游配额问题

1) 现象

即使网关恢复,仍报:

API rate limit reached. Please try again later.

2) 关键定位动作

直接绕过 OpenClaw,调用 OpenAI HTTP API 验证 key 状态:

curl.exe -i https://api.openai.com/v1/chat/completions `
  -H "Authorization: Bearer <YOUR_KEY>" `
  -H "Content-Type: application/json" `
  -d "{\"model\":\"gpt-4.1-mini\",\"messages\":[{\"role\":\"user\",\"content\":\"ping\"}],\"max_tokens\":5}"

返回:

HTTP/1.1 429 Too Many Requests
"code":"insufficient_quota"

这就把根因钉死了:是 OpenAI 项目额度/计费问题,不是 OpenClaw 网关问题。

3) 临时可用方案

改用当前已可用的 openai-codex 授权链路,并设置默认模型:

openclaw config set agents.defaults.model.primary openai-codex/gpt-5.2
openclaw config set agents.defaults.model.fallbacks "[\"openai-codex/gpt-5.1-codex-mini\"]" --strict-json
openclaw gateway start
openclaw gateway probe
openclaw agent --agent main -m "你好,请回复:网关模式测试通过" --json

本次实测结果为 status: ok,provider 为 openai-codex


八、关于日志里的几个“容易误判”的点

1) Runtime: unknown (乱码)

这常见于 Windows 控制台编码展示,不一定代表核心服务不可用。
判断服务是否真的可用,优先看 probeConnect/RPC 结果。

2) conda-script.py ... invalid choice

这是 conda 初始化脚本在当前 shell 下的噪音输出,和 OpenClaw 主流程通常无直接关系。
排障时建议使用“干净的管理员 PowerShell”(不激活 base 环境)可减少干扰。

3) Gateway agent failed; falling back to embedded

这行不代表请求必然失败,只表示“先尝试走网关,失败后回退本地 embedded 执行”。
你需要看最终 JSON 是否 status: ok


九、最终可复用的“稳定启动模板”(Windows)

模板 A:服务模式(推荐)

# 管理员 PowerShell
openclaw gateway start
openclaw gateway probe
openclaw agent --agent main -m "请回复:服务模式正常" --json

模板 B:前台调试模式

# 终端 A
openclaw gateway run --verbose

# 终端 B
openclaw gateway probe
openclaw agent --agent main -m "请回复:前台模式正常" --json

十、排障清单(Checklist)

每次出现异常,按这个顺序即可:

  1. openclaw --version:CLI 是否可用
  2. openclaw gateway probe:网关是否可达
  3. openclaw gateway status:服务是否 registered/running
  4. openclaw models status:默认模型、fallback、auth 来源是否符合预期
  5. 直连 provider API:确认是网关问题还是上游额度/权限问题

十一、安全提醒(必须做)

  • 不要在聊天记录、日志、仓库中暴露完整 API Key。
  • 一旦泄露,立即旋转(revoke + 新建)密钥。
  • 优先使用最小权限、独立项目 key,避免多系统共享同一个高权限密钥。

结语

这次排障的核心经验是:
把问题拆成三层看

  • 安装层(Node/npm/依赖构建)
  • 网关层(service/probe/RPC)
  • 模型层(auth/quota/provider)

按层验证,问题会很快收敛。
如果你也在 Windows 上部署 OpenClaw,先把“网关可达 + 模型可用”这两件事打通,再考虑渠道接入、多 Agent、记忆与自动化扩展。


参考

  • OpenClaw 官方排障文档:https://docs.openclaw.ai/troubleshooting
  • 项目仓库(中文指南):https://github.com/KimYx0207/Claude-Code-x-OpenClaw-Guide-Zh

附录:OpenClaw 常用命令速查(启动/使用/关闭)

1) 最常用启动命令(服务模式,推荐)

openclaw gateway start
openclaw gateway status
openclaw gateway probe
openclaw dashboard

2) 日常使用命令

# 发送一条 agent 请求(显式指定会话)
openclaw agent --agent main -m "你好,请回复:连通测试通过" --json

# 查看模型与认证状态
openclaw models status

# 查看会话列表
openclaw sessions

3) 排查与日志命令

openclaw status
openclaw gateway status
openclaw gateway probe
openclaw logs --follow

4) 关闭/停止命令

# 停止后台网关服务
openclaw gateway stop

# 重启后台网关服务
openclaw gateway restart

如果你是前台运行:

openclaw gateway run --verbose

直接在该终端按 Ctrl + C 即可关闭。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐