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