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 <noreply@anthropic.com>
This commit is contained in:
Виталий Никитенко
2026-10-07 12:39:32 +07:00
parent 5e1e3cc796
commit 17a943069a
2 changed files with 19 additions and 3 deletions

View File

@@ -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, # Effort: Claude Code шлёт output_config.effort и без CLAUDE_CODE_ALWAYS_ENABLE_EFFORT,
# но LiteLLM прокси его вырезает, поэтому /effort пока ни на что не влияет (07.10: # но LiteLLM прокси его вырезает, поэтому /effort пока ни на что не влияет (07.10:
# напрямую в Z.ai low/max = 81/3712 выходных токенов, через прокси ~3-5K на любом уровне). # напрямую в 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) # ENABLE_TOOL_SEARCH НЕ включаем: на anthropic-деплойментах прокси (Z.ai /api/anthropic)
# GLM с ним путается - ищет Read/Bash через ToolSearch и решает, что их нет. Цена - # GLM с ним путается - ищет Read/Bash через ToolSearch и решает, что их нет. Цена -
# схемы встроенных тулов в каждом запросе (~+11K входных токенов). # схемы встроенных тулов в каждом запросе (~+11K входных токенов).
@@ -1813,8 +1818,7 @@ ANTHROPIC_DEFAULT_HAIKU_MODEL="$model" \
ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME="$model" \ ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME="$model" \
ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION="$model - корпоративный прокси Eltex" \ ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION="$model - корпоративный прокси Eltex" \
CLAUDE_CODE_SUBAGENT_MODEL="$model" \ CLAUDE_CODE_SUBAGENT_MODEL="$model" \
CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000 \ CLAUDE_CODE_MAX_CONTEXT_TOKENS=1000000 \
CLAUDE_CODE_DISABLE_1M_CONTEXT=1 \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \ CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
API_TIMEOUT_MS=600000 \ API_TIMEOUT_MS=600000 \
claude --dangerously-skip-permissions --system-prompt-file "$_PROMPT_FILE" "$@" claude --dangerously-skip-permissions --system-prompt-file "$_PROMPT_FILE" "$@"

View File

@@ -141,6 +141,17 @@ test_eltex_no_tool_search() {
fi 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 ────────────────────────── # ── logout hook: /logout-eltex удаляет eltex_key ──────────────────────────
test_logout_eltex() { test_logout_eltex() {
local tmp_home rc=0 local tmp_home rc=0
@@ -367,6 +378,7 @@ test_glm_default_effort
test_eltex_claude_launcher test_eltex_claude_launcher
test_eltex_model_from_key test_eltex_model_from_key
test_eltex_no_tool_search test_eltex_no_tool_search
test_eltex_context_window
test_logout_eltex test_logout_eltex
test_gemini_native_launcher test_gemini_native_launcher
test_cursor_native_launcher test_cursor_native_launcher