为什么OpenClaw的免费模型在长上下文对话中容易出现截断问题【解惑】
你可能已经注意到了,用OpenClaw的免费模型处理长篇内容时,经常读到一半就莫名其妙断掉了——特别是面对像QwQ-32B这样的模型,明明底层能力支持到32K上下文,结果OpenClaw却只给它分配了8K的窗口。这就好比一辆跑车,发动机能飙到300公里/小时,但ECU却把最高时速限制在了100公里。问题出在哪里?根源在于配置没有对齐模型的实际能力。

根本原因:配置未对齐模型真实能力
打开~/.openclaw/openclaw.json,找到models.providers.ollama-qwq.models数组中对应的模型项。检查contextWindow字段——如果它还是默认的8192,或者根本没有显式声明,那么OpenClaw就会用这个狭窄的窗口来限制所有输入输出,哪怕后端Ollama加载了一个支持32K上下文的模型。
这一步必须手动修正。OpenClaw不会自动探测模型的能力上限,它只会死守配置文件里的数字。市场上不少类似工具都存在这个“水土不服”的问题。
关键参数修改步骤
修正起来其实很简单,只需要三步:
第一步,把"contextWindow": 8192改为"contextWindow": 32768;
第二步,同步调整"maxTokens": 2048为"maxTokens": 4096,避免单次生成长响应时抢占输入空间;
第三步,保存文件后执行openclaw gateway restart。
不重启服务,新参数不会生效
验证是否生效
配置改完了,怎么确认真的生效了?两个办法:
方法一:运行openclaw status,看输出里的active context window是不是变成了32768。
方法二:直接往OpenClaw里扔一段5000字以上的文本带上指令,观察返回结果。如果中间某段突然消失,说明截断问题仍然存在。
不过要提个醒:某些旧版OpenClaw CLI可能会缓存旧配置。如果验证失败,先执行openclaw config reset再重试。