openclaw doctor 仅校验环境变量是否存在,不验证密钥有效性;需手动用 curl 测试接口、检查平台配额与账户状态,并确认 gateway 运行、端口占用及模型名严格匹配官方命名。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

openclaw doctor 能直接定位大多数登录异常,但别急着全信它的结论——它只检查环境变量和配置项是否存在,不验证密钥是否真实有效、是否过期、是否被平台封禁。
认证失败时 openclaw doctor 显示“OK”但实际无法登录
这是最常被忽略的坑:openclaw doctor 只校验 ANTHROPIC_API_KEY 或 OPENAI_API_KEY 环境变量是否已设置,并不调用模型接口做真实鉴权。所以即使变量值是错的、空的、或只是个占位符(比如 sk-xxx 但后面全是乱码),doctor 也可能显示通过。
- 先手动验证密钥有效性:用
curl直接请求对应模型的健康接口,例如 OpenAI:
curl https://api.openai.com/v1/models \ -H "Authorization: Bearer <your_api_key>" \ -H "Content-Type: application/json"</your_api_key>
如果返回 401 Unauthorized 或 403 Forbidden,说明密钥无效;若返回 429 Too Many Requests,说明密钥可用但额度超限。
- 检查密钥是否被平台限制:Gemini 需确认 Google Cloud 项目已启用
Generative Language API,且配额未耗尽;Anthropic 密钥需确认账户状态正常,未因异常调用被临时冻结。 - 密钥中不能含空格或换行:复制时容易带入不可见字符,建议在终端里用
echo "$ANTHROPIC_API_KEY" | od -c查看原始字节。
openclaw config get agents.defaults.model 返回空或错误模型名
这说明 Aionclaw 没有明确指定默认模型,或配置被覆盖。即使你设置了环境变量,Aionclaw 仍会优先读取配置文件里的 agents.defaults.model 字段,而不是自动 fallback 到环境变量。
- 运行
openclaw config get agents.defaults.model查看当前值;若为空,必须显式设置,例如:
openclaw config set agents.defaults.model openai/gpt-4o
- 模型标识必须严格匹配官方命名:不是
gpt4,而是openai/gpt-4o;不是claude-3.5,而是anthropic/claude-3-5-sonnet-20240620。 - 部分模型需额外配置 endpoint:如自建 Ollama 实例,要同时设
models.openai.endpoint和models.openai.api_key(后者可为空)。
登录异常伴随 gateway.mode=local 但日志报连接拒绝
Gateway 启动失败常被误判为“账号问题”,其实根本没走到认证环节。当 gateway.mode 是 local 时,Aionclaw 会尝试启动本地 gateway 进程,若失败,整个登录链路就断了。
- 确认 gateway 是否真在运行:
ps aux | grep openclaw-gateway,而不是只看openclaw config get gateway.mode。 - 检查端口
18789是否被占用:macOS 上用lsof -i :18789,Linux 上用ss -tuln | grep 18789。 - 查看 gateway 日志:macOS 默认在
~/Library/Logs/openclaw-gateway.log,Linux 用journalctl --user -u openclaw-gateway -n 50,重点找failed to bind或permission denied类错误。











