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。