一、 适用场景
OpenClaw 开发任务(代码生成、文件操作、长推理)时频繁遇到 Request timed out 错误,无论是通过飞书(Lark)还是 openclaw tui 调用。
二、 问题描述
在日常的工作中,当我们的任务有一定复杂度时,就会频繁出现以下提示:
bash
LLM request failed.
Request timed out before a response was generated. Please try again, or increase agents.defaults.timeoutSeconds in your config.
如图:

按照提示修改agents.defaults.timeoutSeconds后,问题依旧。这是因为 OpenClaw 的超时体系是分层级的,只改一个地方往往不够。
三、 根因分析
OpenClaw 的超时控制并非单一配置,而是由三个层级共同决定:
| 层级 | 配置位置 | 控制范围 | 默认值 | 是否常被忽略 |
|---|---|---|---|---|
| Provider 级 ⭐ | models.providers.<id>.timeoutSeconds |
单个 LLM 的 HTTP 请求(连接 + 首字节 + 流传输) | ~60s | ✅ 最常见原因 |
| Agent 级 | agents.defaults.timeoutSeconds |
整个 Agent 回合(含工具调用、上下文组装) | 48h | 提示中提到的 |
| CLI/命令级 | openclaw agent --timeout |
CLI 命令等待网关响应 | 600s | TUI/CLI 场景 |
为什么只改 agents.defaults.timeoutSeconds 不够?
大多数超时发生在 Provider 级 HTTP 请求阶段:模型推理或首 token 生成超过约 60 秒时,OpenClaw 的 HTTP 客户端会主动断开连接。此时 Agent 级的 48 小时超时根本来不及触发。
对于本地模型(Ollama / LM Studio / llama.cpp),冷启动时的首 token 延迟(Time to First Token) 可能长达 30~60 秒甚至更久,极易触发 Provider 级超时。
四、解决方案
Step 1:设置 Provider 级超时(最关键)
bash
# 修改前,可以先查看一下当前的配置
openclaw config get models.providers.<provider-id>.timeoutSeconds
# 将 <provider-id> 替换为你的实际 provider 名称
openclaw config set models.providers.<provider-id>.timeoutSeconds 300
如何确认 provider ID?
bash
openclaw models list
输出参考:
bash
Model Input Ctx Local Auth Tags
qwen/deepseek-v4-flash text 200k no yes default,configured
qwen/qwen3.7-plus-2026-05-26 text 200k no yes fallback#1,configured
qwen/kimi-k2.7-code text 200k no yes fallback#2,configured
qwen/glm-5.2 text 200k no yes fallback#3,configured
qwen/qwen3.8-max text 200k no yes fallback#4,configured
qwen/qwen3.5-plus text+image 1000k no yes
qwen/qwen3.6-plus text+image 1000k no yes
第一列 Model 字段格式为 ProviderID/ModelID,取 / 之前的字符串作为 Provider‑ID,如上例中的qwen
Step 2:设置 Agent 级超时
bash
openclaw config set agents.defaults.timeoutSeconds 1800
查看配置方法参考上一个命令,不再此重复。
Step 3:重启并验证
bash
# 重启网关使配置生效
openclaw gateway restart
⚠️ 飞书渠道特别注意:旧会话会缓存旧的超时配置,必须新建飞书对话才能生效。或执行:
bash
openclaw sessions prune --days 0
TUI 渠道:完全退出后重新执行 openclaw tui 即可。
五、不同场景的推荐配置
场景 A:本地模型(Ollama / LM Studio)
本地模型冷启动慢,建议将 Provider 超时设长:
bash
# 保持模型常驻内存(Ollama 示例)
export OLLAMA_KEEP_ALIVE=-1
# 配置超时
openclaw config set models.providers.ollama.timeoutSeconds 600
openclaw config set agents.defaults.timeoutSeconds 1800
# 重启
openclaw gateway restart
场景 B:云端模型(Kimi / OpenAI / Claude)
云端模型响应快,但复杂开发任务(多文件操作、长代码生成)仍可能超时:
bash
openclaw config set models.providers.kimi.timeoutSeconds 300
openclaw config set agents.defaults.timeoutSeconds 1800
openclaw gateway restart
场景 C:飞书渠道
飞书会话配置持久化,修改后务必新建对话:
bash
openclaw config set models.providers.<id>.timeoutSeconds 300
openclaw config set agents.defaults.timeoutSeconds 1800
openclaw gateway restart
# 然后在飞书中开启新对话
场景 D:TUI 渠道
TUI 每次启动都是新会话,重启即可:
bash
openclaw config set models.providers.<id>.timeoutSeconds 300
openclaw config set agents.defaults.timeoutSeconds 1800
# 按 Ctrl+C 退出 TUI,重新执行 openclaw tui
六、验证配置是否生效
bash
# 查看 Agent 默认配置
openclaw config get agents.defaults
# 示例输出
{
"timeoutSeconds": 1800, # ← 关键字段:Agent 级超时(整个回合)
"maxIterations": 20,
"model": "kimi"
}
# 查看 Provider 配置
openclaw config get models.providers
# 示例输出
{
"ollama": {
"baseUrl": "http://127.0.0.1:11434",
"timeoutSeconds": 600 # ← 关键字段:Provider 级超时(HTTP 请求)
},
"kimi": {
"baseUrl": "https://api.moonshot.cn/v1",
"timeoutSeconds": 300 # ← 关键字段:Provider 级超时(HTTP 请求)
}
}
# 查看完整配置
openclaw config get
确认输出中包含你设置的 timeoutSeconds 值。
七、一键配置模板
bash
#!/bin/bash
# OpenClaw 超时修复脚本
# 使用前请将 PROVIDER_ID 替换为你的实际 provider 名称
PROVIDER_ID="ollama" # <-- 修改这里
# 1. Provider 级超时(HTTP 请求)
openclaw config set models.providers.${PROVIDER_ID}.timeoutSeconds 300
# 2. Agent 级超时(整个回合)
openclaw config set agents.defaults.timeoutSeconds 1800
# 3. 重启网关
openclaw gateway restart
echo "✅ 配置完成,请新建飞书对话或重启 TUI"
八、已知问题
如果使用的是 OpenClaw 2026.4.1 ~ 2026.4.8 版本,存在一个已知问题:
agents.defaults.timeoutSeconds 和 Provider 级超时在某些情况下会被忽略,存在硬编码的约 60 秒 HTTP fetch timeout。
建议:
升级到 2026.5.x 及以上版本或临时将两个超时都设为相同较大值(如 1800 秒)作为 workaround
九、总结
| 问题 | 根因 | 解决 |
|---|---|---|
LLM request timed out |
Provider 级 HTTP 超时(~60s) | 修改 models.providers.<id>.timeoutSeconds |
提示改 agents.defaults.timeoutSeconds 无效 |
只改了 Agent 级,没改 Provider 级 | 两者都要改 |
| 飞书改了仍超时 | 旧会话缓存旧配置 | 新建飞书对话或清理 sessions |
| TUI 改了仍超时 | 未完全退出重启 | Ctrl+C 后重新 openclaw tui |
| 本地模型频繁超时 | 冷启动首 token 延迟高 | Provider 超时设为 600s + OLLAMA_KEEP_ALIVE=-1 |
核心原则:
Provider超时管请求,Agent超时管回合。两者都改才靠谱,重启会话要记牢。
如果你也遇到了这个问题,欢迎收藏本文并分享给同样在使用 OpenClaw 的开发者。