OpenClaw 上下文窗口与限流排查
区分 429 限流、上下文超限和本地模型元数据错误,再安全调整 contextWindow、contextTokens 与 maxTokens。
先判断错误类型
API rate limit reached 通常表示上游返回 429、并发限制或额度限制,不能仅凭这句话判断是 16k 上下文配置造成的。先看状态码和原始错误,再决定是否修改配置。
| 现象 | 更可能的原因 | 先做什么 |
|---|---|---|
429、rate_limit、quota、too many requests | 上游限流、并发或额度不足 | 降低并发并稍后重试,检查额度与上游状态 |
context_length_exceeded、请求过大、输入超限 | 输入加预留输出超过模型或网关上限 | 缩短对话、开启压缩,再核对上下文配置 |
| OpenClaw 本地提示窗口过小 | 自定义模型元数据缺失或旧配置残留 | 检查 contextWindow、contextTokens、maxTokens |
| 只有一个模型失败 | 模型路由或该模型参数问题 | 用同一 Key 和 Base URL 换一个模型做最小请求 |
OpenClaw 设置页中的 Model Window 位置
三个字段分别代表什么
contextWindow:模型原生上下文窗口的元数据。contextTokens:OpenClaw 实际允许用于输入的上限,可小于原生窗口。maxTokens:单次响应的最大输出 Token 上限,不是总上下文大小。
不要为了“获得更大上下文”随意填入 1M。填写值必须同时符合模型能力、贵数当前路由限制和客户端版本。
配置位置
主配置通常位于:
~/.openclaw/openclaw.json按 Agent 单独配置时通常位于:
~/.openclaw/agents/<agentId>/agent/models.json如果设置了 OPENCLAW_AGENT_DIR,请到该目录查找对应 Agent 配置。
安全修改示例
下面的数值只演示字段关系,不代表所有模型的真实上限。请先在本站模型列表和当前路由说明中确认数值:
{
models: {
mode: "merge",
providers: {
guishu: {
baseUrl: "https://api.llm-token.cn/v1",
apiKey: "YOUR_API_KEY",
api: "openai-completions",
models: [
{
id: "YOUR_MODEL_ID",
name: "YOUR_MODEL_ID",
contextWindow: 128000,
contextTokens: 96000,
maxTokens: 8192,
input: ["text"]
}
]
}
}
}
}保留一部分窗口给系统提示、工具结果和模型输出。若上游只允许更小的输入或输出,应继续下调,不能只按模型厂商宣传值填写。
修改与验证顺序
- 备份当前配置文件,不要直接覆盖唯一副本。
- 只修改当前 provider 和模型条目,保留其他配置。
- 运行
openclaw models list,确认模型被识别。 - 运行
openclaw models set guishu/YOUR_MODEL_ID,确认选中的 provider/model 正确。 - 重启网关:
openclaw gateway restart。 - 先发送一条很短的测试请求,再逐步增加上下文。
如果短请求也返回 429,继续改大上下文窗口没有帮助;应转向检查并发、账户额度和上游状态。如果只有长请求失败,再检查输入长度、压缩策略和三个上下文字段。
配置截图和日志里可能含有 API Key。提交给客服前请遮住完整 Key,只保留错误时间、状态码、模型 ID 和请求 ID。