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 位置。具体字段名称会随版本变化,以当前页面和配置文件为准。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"]
          }
        ]
      }
    }
  }
}

保留一部分窗口给系统提示、工具结果和模型输出。若上游只允许更小的输入或输出,应继续下调,不能只按模型厂商宣传值填写。

修改与验证顺序

  1. 备份当前配置文件,不要直接覆盖唯一副本。
  2. 只修改当前 provider 和模型条目,保留其他配置。
  3. 运行 openclaw models list,确认模型被识别。
  4. 运行 openclaw models set guishu/YOUR_MODEL_ID,确认选中的 provider/model 正确。
  5. 重启网关:openclaw gateway restart。
  6. 先发送一条很短的测试请求,再逐步增加上下文。

如果短请求也返回 429,继续改大上下文窗口没有帮助;应转向检查并发、账户额度和上游状态。如果只有长请求失败,再检查输入长度、压缩策略和三个上下文字段。

配置截图和日志里可能含有 API Key。提交给客服前请遮住完整 Key,只保留错误时间、状态码、模型 ID 和请求 ID。