首页 教程 分类 Skills下载 关于
ZH EN JA KO
安装部署

使用openclaw doctor诊断安装问题

· 8 分钟

openclaw doctor是什么

openclaw doctor是OpenClaw内置的诊断工具,它会自动检查你的运行环境、配置文件和各项服务连接状态,帮助你快速定位和解决安装部署中的问题。无论你是刚完成安装还是运行中遇到故障,openclaw doctor都应该是你的第一个排查手段。

基本用法

在终端中运行:

openclaw doctor

命令会依次执行多项检查,并以清晰的格式输出结果。每一项检查会标记为通过、警告或失败状态。

检查项详解

openclaw doctor会检查以下关键项目,让我们逐一了解每项检查的含义和常见问题。

Node.js版本检查

OpenClaw要求Node.js 22或更高版本。doctor会检查当前Node.js版本是否满足要求。

常见问题:系统安装了多个Node.js版本,实际运行的版本低于22。

解决方法

node --version

如果版本低于22,需要升级。推荐使用nvm管理Node.js版本:

nvm install 22
nvm use 22
nvm alias default 22

特别注意:不要使用Bun作为Node.js替代品。虽然Bun在某些场景下更快,但在处理WhatsApp和Telegram的WebSocket连接时存在已知兼容性问题,OpenClaw官方不建议使用。

配置文件检查

doctor会验证~/.openclaw/openclaw.json配置文件是否存在且格式正确。

常见问题

  • 配置文件不存在:通常是因为没有运行过初始化引导
  • JSON格式错误:手动编辑时引入了语法错误

解决方法

如果配置文件不存在,运行引导程序:

openclaw onboard --install-daemon

如果JSON格式错误,可以用以下命令验证:

python3 -m json.tool ~/.openclaw/openclaw.json

错误的JSON通常是因为缺少逗号、多余的逗号或引号不匹配。

网络连通性检查

doctor会测试与OpenClaw核心服务和各AI模型API的网络连接。

常见问题

  • 防火墙阻止出站连接
  • 代理配置不正确
  • DNS解析失败

解决方法

检查基本网络连通性:

curl -I https://api.openai.com
curl -I https://api.anthropic.com

如果你在需要代理的网络环境中,确保设置了正确的代理环境变量:

export HTTP_PROXY=http://proxy:port
export HTTPS_PROXY=http://proxy:port

AI模型API检查

doctor会验证配置的AI模型API密钥是否有效,并测试API连接。

常见问题

  • API密钥已过期或无效
  • API额度已耗尽
  • 选择的模型不可用

解决方法

打开配置文件检查API密钥:

cat ~/.openclaw/openclaw.json

确认密钥格式正确且未过期。你可以通过各AI提供商的控制台检查密钥状态和剩余额度。如需更新密钥,直接编辑配置文件或重新运行引导程序。

聊天平台连接检查

doctor会逐一检查已配置的聊天平台连接状态,包括WhatsApp、Telegram、Discord等。

常见问题

  • WhatsApp会话过期需要重新扫码
  • Telegram Bot Token无效
  • Discord Bot未被邀请到目标服务器
  • Webhook URL不可达

解决方法

对于WhatsApp连接问题:

openclaw onboard

重新进入引导程序,选择重新连接WhatsApp并按提示扫码。

对于Telegram问题,确认Bot Token有效:

curl https://api.telegram.org/bot你的TOKEN/getMe

对于Webhook URL问题,确保你的服务器可以从外部访问,且端口3000(或你配置的端口)未被防火墙阻止。

端口占用检查

doctor会检查OpenClaw需要使用的端口(默认3000)是否被其他程序占用。

常见问题

  • 另一个OpenClaw实例已在运行
  • 其他Web应用占用了同一端口

解决方法

查看端口占用情况:

# Linux
ss -tlnp | grep 3000

# macOS
lsof -i :3000

如果端口被占用,可以停止占用端口的进程,或者修改OpenClaw配置使用其他端口。

磁盘空间检查

doctor会检查~/.openclaw/所在分区是否有足够的磁盘空间。

常见问题

  • 日志文件积累过多
  • 磁盘空间不足导致服务异常

解决方法

df -h ~
du -sh ~/.openclaw/*

如果空间不足,清理不必要的日志文件:

rm -rf ~/.openclaw/logs/*.log.old

守护进程状态检查

doctor会检查OpenClaw的守护进程是否正确配置和运行。

常见问题

  • systemd服务未启用(Linux)
  • LaunchAgent未加载(macOS)
  • 服务已停止或处于失败状态

解决方法

在Linux上:

systemctl status openclaw
sudo systemctl restart openclaw

在macOS上:

launchctl list | grep openclaw
launchctl start com.openclaw.agent

常见诊断场景

场景一:刚安装完成

安装后第一件事就是运行openclaw doctor,确认环境满足所有要求:

npm install -g openclaw@latest
openclaw onboard --install-daemon
openclaw doctor

场景二:服务突然停止工作

当OpenClaw突然不响应消息时:

openclaw doctor

根据检查结果定位问题。通常是网络变化、API密钥过期或聊天平台会话超时导致的。

场景三:升级后出现问题

升级OpenClaw版本后运行doctor确认兼容性:

npm install -g openclaw@latest
openclaw doctor

场景四:迁移后验证

将OpenClaw从一台服务器迁移到另一台后:

openclaw doctor

确认配置文件正确恢复、所有连接在新环境中正常工作。

输出解读

doctor的输出使用颜色和符号标记每项检查的状态:

  • 通过:该项检查完全正常,无需任何操作
  • 警告:该项存在潜在问题但不影响基本运行,建议关注
  • 失败:该项检查未通过,需要立即修复

对于失败的检查项,doctor通常会给出具体的错误信息和修复建议。按照建议逐一修复后,重新运行openclaw doctor直到所有检查通过。

获取更详细的诊断信息

如果标准诊断不够详细,可以查看OpenClaw的运行日志获取更多信息:

# Linux systemd
journalctl -u openclaw -n 100

# macOS LaunchAgent
cat /tmp/openclaw.stderr.log

# 或者查看OpenClaw自身日志
ls ~/.openclaw/logs/

寻求社区帮助

如果自行排查无法解决问题,可以将openclaw doctor的完整输出分享到OpenClaw的GitHub Issues或社区论坛中寻求帮助。诊断输出提供了足够的环境信息,社区成员可以据此快速帮你定位问题。

提交问题时建议包含:

  • openclaw doctor完整输出
  • openclaw --version版本信息
  • node --version版本信息
  • 操作系统类型和版本
  • 问题的详细描述和复现步骤

总结

openclaw doctor是OpenClaw生态中最实用的诊断工具之一。养成在安装后、升级后、遇到问题时第一时间运行doctor的习惯,可以帮助你快速识别和解决绝大多数安装部署问题。它系统化地检查了从运行环境到服务连接的方方面面,是确保OpenClaw稳定运行的重要保障。

OpenClaw 是开源免费的个人AI助手,支持 WhatsApp、Telegram、Discord 等多平台接入