From 3d7098017c4500d76f6ca03f0a71e18ac6d8a142 Mon Sep 17 00:00:00 2001 From: JAPER Date: Mon, 20 Jul 2026 15:04:25 +1000 Subject: [PATCH] fix(agent): resolve kimi-k3 context window to 1M in fallback table The DEFAULT_CONTEXT_LENGTHS catch-all "kimi": 262144 (written for the K2 generation) was the only Kimi entry, so longest-prefix matching resolved kimi-k3 to 256K. For configurations whose base_url does not reach a models.dev provider entry (e.g. provider=kimi-for-coding with base_url=https://api.moonshot.ai/v1), the fallback won and Hermes budgeted/compacted at a quarter of K3's actual 1M-token window. Add "kimi-k3": 1048576 ahead of the catch-all, matching models.dev (kimi-for-coding/k3, moonshotai/kimi-k3, moonshotai-cn/kimi-k3 all report context=1048576). Verified with agent.model_metadata.get_model_context_length: pre-patch: 262144 post-patch: 1048576 --- agent/model_metadata.py | 1 + 1 file changed, 1 insertion(+) diff --git a/agent/model_metadata.py b/agent/model_metadata.py index f58aed040718b..3fdc7606c39d8 100644 --- a/agent/model_metadata.py +++ b/agent/model_metadata.py @@ -317,6 +317,7 @@ def _save_model_metadata_disk_cache(data: Dict[str, Dict[str, Any]]) -> None: "grok-2": 131072, # grok-2, grok-2-1212, grok-2-latest "grok": 131072, # catch-all (grok-beta, unknown grok-*) # Kimi + "kimi-k3": 1048576, # kimi-k3 — 1M context per Moonshot launch specs "kimi": 262144, # Upstage Solar — api.upstage.ai/v1/models does not return context_length, # so these fallbacks keep token budgeting / compression from probing down