From 5a4297a11a83c38ac24eec7df0e4e41d6b3dbb9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BE=BE=E4=BB=A4=E5=B0=8F=E6=96=B0?= Date: Tue, 9 Jun 2026 03:25:05 +0800 Subject: [PATCH] fix(model_metadata): prefer hardcoded 1M for MiniMax M3 over stale models.dev probe --- agent/model_metadata.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/agent/model_metadata.py b/agent/model_metadata.py index b2c5a1c9fe8..3a71e974fdb 100644 --- a/agent/model_metadata.py +++ b/agent/model_metadata.py @@ -1838,6 +1838,17 @@ def get_model_context_length( from agent.models_dev import lookup_models_dev_context ctx = lookup_models_dev_context(effective_provider, model) if ctx: + # MiniMax M3: models.dev reports 512K but actual context is 1M. + # Prefer hardcoded catalog over stale probe value. + if _model_name_suggests_minimax_m3(model): + catalog = DEFAULT_CONTEXT_LENGTHS.get("minimax-m3") + if catalog and ctx < catalog: + logger.info( + "Rejecting models.dev context=%s for %r " + "(MiniMax-M3 underreport); using hardcoded default %s", + ctx, model, f"{catalog:,}", + ) + ctx = catalog return ctx # 6. OpenRouter live API metadata — provider-unaware fallback.