OpenClaw 问题排查的第一步,永远是运行内置诊断工具 openclaw doctor——它能自动检测配置缺失、端口冲突、认证失效等绝大多数常见问题,并通过 openclaw doctor --fix 自动修复可处理的故障,本文覆盖五类 高频错误(服务无法启动、消息不响应、API 调用失败、浏览器工具故障、升级后失效)的完整排查流程,帮助开发者在 10 分钟内定位并解决问题。
标准诊断命令序列
遇到任何问题时,按以下顺序执行诊断命令,逐层缩小问题范围:
# Step 1:检查整体服务状态
openclaw status
# Step 2:检查 Gateway 运行状态
openclaw gateway status
# Step 3:实时查看日志(保留终端窗口)
openclaw logs --follow
# Step 4:执行全面诊断
openclaw doctor
# Step 5:检查通信渠道连通性
openclaw channels status --probe
AI写代码
健康状态判断标准:
命令 正常输出 异常信号
openclaw gateway status Runtime: running,RPC probe: ok Runtime: stopped,probe failed
openclaw doctor No blocking issues found 列出具体阻塞项
openclaw channels status connected/ready disconnected,pairing pending
如果 openclaw doctor 报告可修复的问题,直接运行:
openclaw doctor --fix
AI写代码
问题 1:"openclaw" 命令失效
现象: 提示"无法识别"
解决方案:
重启 PowerShell
使用 npx openclaw 临时执行
手动配置环境变量:将 C:\Users\你的用户名\AppData\Roaming\npm 或 %LOCALAPPDATA%\pnpm 添加到系统 PATH
执行 pnpm setup 后关闭并重新打开 PowerShell
问题 2:网关未授权(令牌缺失)
现象: 访问 http://localhost:18789 显示"未授权:网关令牌缺失"
解决方案:
# 查找令牌
Get-Content C:\Users\你的用户名\.openclaw\openclaw.json | Select-String 'token'
# 访问带令牌的 URL
http://localhost:18789?token=你的令牌
问题 3:网关服务安装失败
现象: Gateway install failed: Error: schtasks create failed: spawn EPERM
原因: 权限不足,无法创建 Windows 任务计划程序
解决方案:
# 方法 1:以管理员权限运行
openclaw gateway install
# 方法 2:直接启动网关(推荐)
openclaw gateway --port 18789
问题 4:模型不支持图片输入
原因: 当前使用的模型是纯文本模型
解决方案:
# 下载 LLaVA 多模态模型
ollama pull llava:latest
# 在对话中指定模型
使用 llava 模型查看并分析这张图片:test.png
问题5:部署配置问题
端口冲突问题:默认端口18789可能被其他进程占用,需要执行lsof -i :18789(macOS/Linux)或netstat -ano | findstr "18789"(Windows)查找占用进程,然后终止占用进程或修改配置文件中的端口号。
环境依赖问题:要求Node.js 22+版本,低版本会导致启动失败。同时需要确保服务器配置不低于2核2G,否则可能导致服务无法正常运行。
问题6:服务无法启动
症状
运行 openclaw gateway status 显示 Runtime: stopped,或启动后立即退出。
原因与解决方案
原因 A:端口被占用(EADDRINUSE)
默认端口 18789 被其他进程占用。
# 查看占用端口的进程
lsof -i :18789
# 杀掉占用进程(替换 PID)
kill -9 <PID>
# 重新启动
openclaw gateway restart
AI写代码
或在配置文件中修改端口:
// ~/.openclaw/openclaw.json
{
"gateway": {
"port": 18790
}
}
AI写代码
原因 B:缺少 gateway.mode 配置
openclaw.json 中未设置 gateway.mode=local,导致 Gateway 无法初始化。
openclaw config set gateway.mode local
AI写代码
原因 C:配置文件 Schema 校验失败
OpenClaw 对配置文件做严格 Schema 校验,任何未知键或类型错误都会阻止 Gateway 启动。
# 查看具体校验错误
openclaw logs | grep "config"
# 重置为默认配置
openclaw config unset <错误的键名>
AI写代码
问题7:消息收到但不响应
症状
通信渠道(Telegram、Slack 等)显示已连接,发送消息后 OpenClaw 无回复。
排查流程
# 检查日志中是否有 drop 关键字
openclaw logs | grep "drop"
AI写代码
常见 drop 原因及处理:
日志关键字 原因 解决方案
drop guild message (mention required) 群组消息要求 @mention,但未 @ 在群组中 @ OpenClaw 发送消息
drop message (not in allowlist) 发送者不在白名单中 在配置中添加允许的用户 ID
drop message (pairing pending) 设备配对未完成 运行 openclaw channels login 重新配对
drop message (channel disabled) 该渠道被禁用 检查并启用对应渠道配置
调整 DM 策略:
// ~/.openclaw/openclaw.json
{
"channels": {
"telegram": {
"dmPolicy": "open" // 可选: pairing | allowlist | open | disabled
}
}
}
AI写代码
添加用户到白名单(以 WhatsApp 为例):
{
"channels": {
"whatsapp": {
"allowFrom": ["+8613800138000", "+8613900139000"]
}
}
}
AI写代码
问题8:API 调用失败
症状 A:HTTP 429 Rate Limit 错误
场景:长上下文请求(超过 128K tokens)报 429。
原因:Anthropic API 的 extended-context-1m beta 功能需要特定账户权限,免费/低级别账户无法使用。
解决方案:
# 方案 1:关闭超长上下文模式
openclaw config set model.context1m false
# 方案 2:配置备用模型(模型降级)
openclaw config set model.fallback "qiniu/deepseek-v3.2-251201"
AI写代码
症状 B:模型调用返回 401/403
原因:API Key 配置错误或权限不足。
七牛云 API 接入排查步骤:
# 1. 检查环境变量是否已设置
echo $QINIU_API_KEY
# 2. 验证 API Key 有效性
curl https://api.qnaigc.com/v1/models \
-H "Authorization: Bearer $QINIU_API_KEY"
# 3. 确认配置文件中的 baseUrl 正确
openclaw config get model
AI写代码
正确的七牛云模型配置格式:
{
"model": {
"default": "qiniu/deepseek-v3.2-251201",
"provider": {
"baseUrl": "https://api.qnaigc.com/v1",
"apiKey": "${QINIU_API_KEY}" // 使用环境变量引用,不硬编码
}
}
}
AI写代码
七牛云推理服务兼容 OpenAI SDK 标准接口,上述配置直接通过 provider/model 格式(qiniu/<modelId>)调用即可,无需额外适配。
症状 C:模型名称错误(404 Not Found)
模型 ID 格式错误会导致 404。七牛云常用模型 ID 参考:
模型 正确 ID 格式
DeepSeek V3.2 qiniu/deepseek-v3.2-251201
Kimi K2.5 qiniu/moonshotai/kimi-k2.5
GLM-5 qiniu/z-ai/glm-5
Minimax M2.5 qiniu/minimax/minimax-m2.5
问题9:浏览器 工具故障
症状
调用浏览器自动化功能时报错,无法打开网页或执行操作。
排查步骤
Step 1:验证 Chrome 可执行路径
# macOS 默认路径
ls "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
# 在配置中指定路径
openclaw config set tools.browser.executablePath "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
AI写代码
Step 2:检查 CDP 端口是否可访问
# 默认 CDP 调试端口
curl http://localhost:9222/json/version
AI写代码
若无响应,确认 Chrome 以调试模式启动:
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
--remote-debugging-port=9222 \
--no-first-run \
--no-default-browser-check
AI写代码
Step 3:Extension Relay 模式特殊要求
使用 profile="chrome" 时,需要有一个已连接的 Chrome 标签页处于活跃状态,否则 relay 无法建立连接。
问题10:升级后失效
症状
npm update -g openclaw 后,服务无法正常工作或出现配置不兼容。
根本原因
版本升级后配置 schema 可能变化(config drift),旧配置文件中的键名或格式在新版本中已失效。
解决方案
# Step 1:强制重新安装服务元数据
openclaw gateway install --force
# Step 2:重启 Gateway
openclaw gateway restart
# Step 3:重新诊断
openclaw doctor
# Step 4:若配置文件仍有问题,备份后重新初始化
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak
openclaw onboard
AI写代码
升级后必检项清单:
[ ] gateway.mode 配置仍然存在
[ ] Auth token 格式兼容新版本
[ ] 设备配对状态有效(openclaw channels status --probe)
[ ] 所有自定义配置键在新版本 schema 中仍然有效
日志查看与调试技巧
关键日志命令
# 实时跟踪日志
openclaw logs --follow
# 筛选错误级别日志
openclaw logs | grep -E "ERROR|WARN|drop"
# 查看指定时间段日志
openclaw logs --since 1h
# 将日志导出到文件(便于分析)
openclaw logs > ~/openclaw-debug-$(date +%Y%m%d).log
AI写代码
控制面板(Dashboard)排查
访问 http://127.0.0.1:18789 打开 Web 控制台,可视化查看:
Gateway 运行状态
各通道连接状态
最近的请求/响应记录
配置当前值
Dashboard 连接失败排查:
# 验证 probe URL 和认证模式是否匹配
openclaw config get gateway.dashboardAuth
# 若出现 "device nonce required" 或 "device signature invalid"
# 表示设备认证流程未完成,重新执行 onboard
openclaw onboard
AI写代码
配置文件快速参考
OpenClaw 配置文件位于 ~/.openclaw/openclaw.json,支持 JSON5 格式(允许注释和尾随逗号)。
最小可用配置示例(七牛云模型):
{
"gateway": {
"mode": "local",
"port": 18789
},
"model": {
"default": "qiniu/deepseek-v3.2-251201"
},
"channels": {
"telegram": {
"dmPolicy": "open"
}
}
}
AI写代码
环境变量文件(推荐存放敏感信息):
# ~/.openclaw/.env
QINIU_API_KEY=sk-your-key-here
ANTHROPIC_API_KEY=sk-ant-your-key-here
AI写代码
配置修改后,无需重启即可热加载(channels、model 、session 类配置);需要重启的配置(gateway.port、auth、TLS)修改后执行:
openclaw gateway restart
AI写代码
常见问题
Q:openclaw doctor 报错后运行 --fix 没有解决问题怎么办?
--fix 只能处理可自动修复的已知问题。对于 --fix 无法解决的问题,doctor 输出中会列出手动修复指引,按照指引逐步操作。若仍无法解决,检查 openclaw logs 中的完整错误栈,在 GitHub Issues 中搜索相同错误信息。
Q:多个 AI 模型同时配置时,如何确认当前使用的是哪个?
运行 openclaw config get model 查看当前生效的 default 模型。也可在发送给 OpenClaw 的消息中加入 "你是什么模型?" 让模型自我报告。日志中也会记录每次调用使用的模型 ID。
Q:配置了七牛云 API 但仍然连接 Anthropic 的端点,怎么排查?
检查是否存在环境变量优先级覆盖:ANTHROPIC_API_KEY 或 ANTHROPIC_BASE_URL 可能覆盖了配置文件中的设置。在 .openclaw/.env 文件中明确设置 ANTHROPIC_BASE_URL=https://api.qnaigc.com,并确认配置文件中 model.provider.baseUrl 指向七牛云端点。
Q:消息响应延迟很高,如何优化?
首先检查 openclaw logs 中的请求耗时。若模型响应慢,可切换到响应更快的模型(如 GLM-5 适合轻量对话)。若是渠道延迟,检查网络连接质量和通信平台的 Webhook 响应时间。
Q:安装时报 sharp 构建错误怎么办?
sharp 是图像处理依赖,构建失败通常因为缺少系统级依赖(libvips)。在 macOS 上运行 brew install vips,在 Ubuntu 上运行 apt-get install libvips-dev,之后重新执行安装。
您可能感兴趣的与本文相关的镜像
————————————————
版权声明:本文为CSDN博主「多年小白」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45526015/article/details/158925614
(责任编辑:admin)本文地址:http://www.codehy.com/info/AI/2026/0322/27494.html