第三方 API 调用 Claude Code / OpenClaw 出现 LLM request timed out 的解决方案

问题描述

使用 Claude Code 或 OpenClaw 调用第三方 API(如 GLM、DeepSeek、通义千问)时,频繁出现以下超时报错:

Error: LLM request timed out
Request to https://open.bigmodel.cn/api/paas/v4/chat/completions failed after 60000ms

或者:

FetchError: request to https://api.deepseek.com/v1/chat/completions failed, 
reason: connect ETIMEDOUT

特征:

  • 偶尔能成功调用,大部分请求超时
  • 代码生成时尤其容易超时(Token 量大的响应)
  • 使用代理时问题更严重

原因分析

原因 1:默认超时时间过短

Claude Code 和 OpenClaw 的默认 API 超时时间通常是 60秒。而国产模型的代码生成响应可能较慢(尤其是生成大量代码时),60秒不够用。

原因 2:代理中间跳增加延迟

国内用户通过代理访问 API 时,网络链条为:

本地 → 代理(国内) → API服务器(国内/海外)

代理层本身会增加 1-3 秒的延迟,多层代理后更容易超时。

原因 3:API 服务端限流

第三方 API 通常有并发限制(如 DeepSeek 免费版 2 QPS),请求排队等待也计入超时时间。

解决方案

方案一:增加 API 超时时间

Claude Code:

配图

编辑 ~/.claude.json

{
  "hasCompletedOnboarding": true,
  "apiKey": "your-key",
  "baseUrl": "https://open.bigmodel.cn/api/paas/v4",
  "timeout": 180000
}

timeout 单位是毫秒(ms),180000 = 3分钟。建议至少设为 120000(2分钟)。

OpenClaw:

# 环境变量方式
export OPENCLAW_API_TIMEOUT=180000

# 或者在 config 文件中设置
# ~/.openclaw/config.json
{
  "api_timeout_ms": 180000
}

方案二:直连 API 服务器(去掉代理)

对于国内可直连的 API(GLM、DeepSeek、通义千问),直接连接速度更快:

# 临时去掉代理
unset HTTP_PROXY
unset HTTPS_PROXY

# 或在 Claude Code 配置中指定不使用代理
# ~/.claude.json
{
  "proxy": null
}

方案三:使用国内模型专用加速节点

部分第三方 API 提供国内优化节点:

# 智谱 GLM 国内节点
baseUrl: "https://open.bigmodel.cn/api/paas/v4"

# DeepSeek 国内节点
baseUrl: "https://api.deepseek.com"

方案四:降低请求复杂度(避免生成超长内容)

# Claude Code 命令方式
claude --max-tokens 4096   # 限制单次生成的最大 Token

# 或在配置文件中设置
{
  "maxTokens": 4096
}

总结

LLM request timed out 的超时问题本质上不是 bug,而是配置问题。三步解决:增加 timeout → 检查网络路径 → 限制单次生成长度。对于免费版 API(通常限流),配合第三步效果最好。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐