一、 适用场景
OpenClaw 开发任务(代码生成、文件操作、长推理)时频繁遇到 Request timed out 错误,无论是通过飞书(Lark)还是 openclaw tui 调用。
二、 问题描述
在日常的工作中,当我们的任务有一定复杂度时,就会频繁出现以下提示:
LLM request failed. Request timed out before a response was generated. Please try again, or increase agents.defaults.timeoutSecondsinyour 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 级超时(最关键)
# 修改前,可以先查看一下当前的配置openclaw config get models.providers.<provider-id>.timeoutSeconds# 将 <provider-id> 替换为你的实际 provider 名称openclaw configsetmodels.providers.<provider-id>.timeoutSeconds300如何确认 provider ID?
openclaw models list输出参考:
Model Input Ctx Local Auth Tags qwen/deepseek-v4-flash text 200k noyesdefault,configured qwen/qwen3.7-plus-2026-05-26 text 200k noyesfallback#1,configuredqwen/kimi-k2.7-code text 200k noyesfallback#2,configuredqwen/glm-5.2 text 200k noyesfallback#3,configuredqwen/qwen3.8-max text 200k noyesfallback#4,configuredqwen/qwen3.5-plus text+image 1000k noyesqwen/qwen3.6-plus text+image 1000k noyes第一列Model字段格式为ProviderID/ModelID,取/之前的字符串作为 Provider‑ID,如上例中的qwen
Step 2:设置 Agent 级超时
openclaw configsetagents.defaults.timeoutSeconds1800查看配置方法参考上一个命令,不再此重复。
Step 3:重启并验证
# 重启网关使配置生效openclaw gateway restart⚠️ 飞书渠道特别注意:旧会话会缓存旧的超时配置,必须新建飞书对话才能生效。或执行:
openclaw sessions prune--days0TUI 渠道:完全退出后重新执行 openclaw tui 即可。
五、不同场景的推荐配置
场景 A:本地模型(Ollama / LM Studio)
本地模型冷启动慢,建议将 Provider 超时设长:
# 保持模型常驻内存(Ollama 示例)exportOLLAMA_KEEP_ALIVE=-1# 配置超时openclaw configsetmodels.providers.ollama.timeoutSeconds600openclaw configsetagents.defaults.timeoutSeconds1800# 重启openclaw gateway restart场景 B:云端模型(Kimi / OpenAI / Claude)
云端模型响应快,但复杂开发任务(多文件操作、长代码生成)仍可能超时:
openclaw configsetmodels.providers.kimi.timeoutSeconds300openclaw configsetagents.defaults.timeoutSeconds1800openclaw gateway restart场景 C:飞书渠道
飞书会话配置持久化,修改后务必新建对话:
openclaw configsetmodels.providers.<id>.timeoutSeconds300openclaw configsetagents.defaults.timeoutSeconds1800openclaw gateway restart# 然后在飞书中开启新对话场景 D:TUI 渠道
TUI 每次启动都是新会话,重启即可:
openclaw configsetmodels.providers.<id>.timeoutSeconds300openclaw configsetagents.defaults.timeoutSeconds1800# 按 Ctrl+C 退出 TUI,重新执行 openclaw tui六、验证配置是否生效
# 查看 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 值。
七、一键配置模板
#!/bin/bash# OpenClaw 超时修复脚本# 使用前请将 PROVIDER_ID 替换为你的实际 provider 名称PROVIDER_ID="ollama"# <-- 修改这里# 1. Provider 级超时(HTTP 请求)openclaw configsetmodels.providers.${PROVIDER_ID}.timeoutSeconds300# 2. Agent 级超时(整个回合)openclaw configsetagents.defaults.timeoutSeconds1800# 3. 重启网关openclaw gateway restartecho"✅ 配置完成,请新建飞书对话或重启 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 的开发者。