龍蝦上下文 16k 解決方案
集中說明 OpenClaw 16k 上下文錯誤與本機設定修復方式。
龍蝦上下文 16k 解決方案
OpenClaw 顯示 API rate limit 錯誤時,可能是本機上下文設為 16k,需要自行修改設定。
圖片展示 OpenClaw 的錯誤介面,顯示“API rate limit reached. Please try again later.”(…
圖片展示了OpenClaw設定檔中關於MiniMax-M2.5模型的相關資訊
OpenClaw 的模型上下文大小不是固定 16k,主要看本機設定。請檢查 ~/.openclaw/openclaw.json 或 ~/.openclaw/agents/<agentId>/agent/models.json,把對應模型的 contextWindow 和 maxTokens 改成模型實際支援值。以 MiniMax-M2.5 為例,可改為 contextWindow: 196608、maxTokens: 8192。修改後重新啟動 OpenClaw 即可。官方設定參考與 MiniMax 範例都支援這種寫法。
這個情況的原因通常是:自訂 provider / 自訂模型將 contextWindow 設為 16000(甚至更低)。OpenClaw 的實際上下文長度取決於設定;如果模型確實支援更大的上下文,就應提高此值,否則容易出現 API rate limit reached、上下文不足或長對話異常等問題。官方設定參考明確說明,OpenClaw 的主設定檔是 ~/.openclaw/openclaw.json,也支援在 agent 目錄下單獨放置 models.json;匹配模型時,contextWindow / maxTokens 會取明確設定與隱含 catalog 中較高的值。
在網頁設定中搜尋 contextWindow,然後改為 128000。
圖片展示了OpenClaw設定頁面的“Settings”設定頁籤
OpenClaw 修改上下文設定說明
一、問題現象
如果在 OpenClaw 中串接自訂模型或第三方轉接模型時,模型設定裡的上下文視窗寫得太小,例如:
"contextWindow": 16000,
"maxTokens": 4096就可能出現以下問題:
- 長對話容易失敗
- 工具呼叫時更容易出現錯誤
- 頁面提示 API rate limit reached
- 模型明明支援更大上下文,但 OpenClaw 仍按較小值處理
OpenClaw 官方文件說明,模型的 contextWindow 和 maxTokens 可以在設定中明確指定;主設定檔路徑為 ~/.openclaw/openclaw.json,也可以在 agent 目錄下使用 models.json 單獨覆蓋。
二、設定檔位置
1)主設定檔路徑
OpenClaw 預設主設定檔:
~/.openclaw/openclaw.json官方文件已明確這一點。
2)Agent 模型設定路徑
如果是按 agent 單獨設定模型,路徑通常是:
~/.openclaw/agents/<agentId>/agent/models.json官方文件寫明:自訂 provider 可以加在 models.providers 中,或者寫在 ~/.openclaw/agents/<agentId>/agent/models.json。
3)如果改過自訂 Agent 根目錄
如果設定過環境變數:
OPENCLAW_AGENT_DIR那麼 agent 設定目錄會被這個環境變數覆蓋。官方文件也寫了可透過 OPENCLAW_AGENT_DIR(或 PI_CODING_AGENT_DIR)修改 agent 設定根目錄。
三、怎麼改
方案 A:改主設定
openclaw.json
開啟:
~/.openclaw/openclaw.json找到你目前模型供應商對應的設定,例如:
{
models: {
mode: "merge",
providers: {
minimax: {
baseUrl: "https://api.minimax.io/anthropic",
api: "anthropic-messages",
apiKey: "你的 API Key",
models: [
{
id: "MiniMax-M2.5",
name: "MiniMax-M2.5",
reasoning: false,
input: ["text"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 196608,
maxTokens: 8192
}
]
}
}
}
}官方 MiniMax 範例裡給出的 MiniMax-M2.5 設定就是 contextWindow: 196608、maxTokens: 8192。
方案 B:改 agent 下的
models.json
開啟:
~/.openclaw/agents/<agentId>/agent/models.json把裡面對應模型的:
"contextWindow": 16000,
"maxTokens": 4096改成更合理的值,例如:
"contextWindow": 196608,
"maxTokens": 8192四、建議怎麼填
請勿任意填寫。不能因為希望使用 1M 上下文,就直接將數值設為 1000000;設定值必須符合模型與轉接平台實際支援的上限。
推薦原則
- contextWindow:按模型真實支援值填寫
- maxTokens:按模型真實最大輸出填寫
- 如果使用轉接平台,請以轉接服務實際開放的上限為準,不要只看原廠宣傳值
以 MiniMax-M2.5 為例
OpenClaw 官方範例推薦:
"contextWindow": 196608,
"maxTokens": 8192五、修改後要做什麼
儲存設定後,重新啟動 OpenClaw 或對應的 gateway 處理程序。
常見可用指令:
openclaw models list
openclaw models set minimax/MiniMax-M2.5官方文件也給了這兩個指令用於檢查和切換模型。
如果你是透過服務方式執行,還需要重新啟動對應服務,例如:
openclaw gateway restart或者重新啟動你自己的 systemd / pm2 / docker 容器。
六、補充說明
OpenClaw 官方設定參考還提到:
- 自訂 provider 可以直接寫到 models.providers
- contextWindow / maxTokens 支援明確設定
- 匹配模型時,會在明確設定和隱含 catalog 之間取較高值
- 若要完全用你自己的設定覆蓋 models.json,可用 models.mode: "replace"。
另外,官方文件目前說明:對於 custom providers,如果省略這些欄位,預設會使用 contextWindow: 200000、maxTokens: 8192。因此,如果使用者環境仍顯示 16k 或 4k,通常不是“OpenClaw 目前預設只能使用 16k”,而是本機模型設定曾被手動調低,或仍保留舊設定。