From 17a943069abba8f5395604f8589a619bdf19b799 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B8=D1=82=D0=B0=D0=BB=D0=B8=D0=B9=20=D0=9D=D0=B8?= =?UTF-8?q?=D0=BA=D0=B8=D1=82=D0=B5=D0=BD=D0=BA=D0=BE?= Date: Wed, 7 Oct 2026 12:39:32 +0700 Subject: [PATCH] fix(eltex): use the real 1M context window like ai-glm ctx: in ai-eltex filled up too fast: the launcher capped the window at 200K (CLAUDE_CODE_AUTO_COMPACT_WINDOW from the admins' doc plus CLAUDE_CODE_DISABLE_1M_CONTEXT), while anth-glm-5.3 is the same glm-5.3 on the Z.ai Anthropic endpoint that ai-glm runs with a 1M window. A 598K-token request went through the proxy fine (glm-5.3 answered correctly from the last line). Claude Code now reports contextWindow 1000000. The 200K cap also made Z.ai's analyze_image turns dangerous: their usage covers both internal model passes (~x2), e.g. 82.7K -> 166.7K (83% of 200K), which could trigger an early auto-compact. Co-Authored-By: Claude Opus 5.5 --- scripts/ai-setup.sh | 10 +++++++--- tests/test_fixes.sh | 12 ++++++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/scripts/ai-setup.sh b/scripts/ai-setup.sh index da92092..102f52b 100755 --- a/scripts/ai-setup.sh +++ b/scripts/ai-setup.sh @@ -1795,7 +1795,12 @@ export CLAUDE_CONFIG_DIR="$HOME/.config/ai-setup/cfg/eltex" # Effort: Claude Code шлёт output_config.effort и без CLAUDE_CODE_ALWAYS_ENABLE_EFFORT, # но LiteLLM прокси его вырезает, поэтому /effort пока ни на что не влияет (07.10: # напрямую в Z.ai low/max = 81/3712 выходных токенов, через прокси ~3-5K на любом уровне). -# Env из доки админов: API_TIMEOUT_MS (прокси бывает медленным), автокомпакт на 200K. +# API_TIMEOUT_MS из доки админов: прокси бывает медленным. +# Окно контекста 1M, как у ai-glm (та же glm-5.3 на Anthropic-эндпоинте Z.ai; через прокси +# 07.10 прошёл запрос на 598K входных токенов). Автокомпакт на 200K из доки админов и +# CLAUDE_CODE_DISABLE_1M_CONTEXT не ставим: ctx: показывал бы занятость в ~5 раз больше +# реальной, а ответ с analyze_image (Z.ai считает usage за оба прохода модели, ~x2) мог бы +# досрочно запустить компакт. # ENABLE_TOOL_SEARCH НЕ включаем: на anthropic-деплойментах прокси (Z.ai /api/anthropic) # GLM с ним путается - ищет Read/Bash через ToolSearch и решает, что их нет. Цена - # схемы встроенных тулов в каждом запросе (~+11K входных токенов). @@ -1813,8 +1818,7 @@ ANTHROPIC_DEFAULT_HAIKU_MODEL="$model" \ ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME="$model" \ ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION="$model - корпоративный прокси Eltex" \ CLAUDE_CODE_SUBAGENT_MODEL="$model" \ -CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000 \ -CLAUDE_CODE_DISABLE_1M_CONTEXT=1 \ +CLAUDE_CODE_MAX_CONTEXT_TOKENS=1000000 \ CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \ API_TIMEOUT_MS=600000 \ claude --dangerously-skip-permissions --system-prompt-file "$_PROMPT_FILE" "$@" diff --git a/tests/test_fixes.sh b/tests/test_fixes.sh index f314bf1..89264d7 100755 --- a/tests/test_fixes.sh +++ b/tests/test_fixes.sh @@ -141,6 +141,17 @@ test_eltex_no_tool_search() { fi } +# ── ai-eltex: окно 1M, как у ai-glm (иначе ctx: завышен в ~5 раз) ───────── +test_eltex_context_window() { + if echo "$ELTEX_SECTION" | grep -q '^CLAUDE_CODE_MAX_CONTEXT_TOKENS=1000000' \ + && ! echo "$ELTEX_SECTION" | grep -q '^CLAUDE_CODE_DISABLE_1M_CONTEXT=' \ + && ! echo "$ELTEX_SECTION" | grep -q '^CLAUDE_CODE_AUTO_COMPACT_WINDOW='; then + ok "ai-eltex: 1M context window, no 200K compact window / DISABLE_1M" + else + fail "ai-eltex: must set CLAUDE_CODE_MAX_CONTEXT_TOKENS=1000000 without DISABLE_1M / AUTO_COMPACT_WINDOW" + fi +} + # ── logout hook: /logout-eltex удаляет eltex_key ────────────────────────── test_logout_eltex() { local tmp_home rc=0 @@ -367,6 +378,7 @@ test_glm_default_effort test_eltex_claude_launcher test_eltex_model_from_key test_eltex_no_tool_search +test_eltex_context_window test_logout_eltex test_gemini_native_launcher test_cursor_native_launcher