fix(ai-glm): чиним разорванный env-блок и включаем /effort max

Регрессия из c571584: поясняющий комментарий оказался посреди цепочки
continuation-строк (\), из-за чего statement разрывался — claude
запускался без ANTHROPIC_BASE_URL/AUTH_TOKEN/DEFAULT_*_MODEL (дефолтный
Anthropic, "Not logged in", glm-5.2 not recognized, откат на Haiku 4.5).
Комментарий перенесён над env-блоком, цепочка восстановлена.

Дополнительно: ai-glm стартует на /effort max. max невалиден в settings.json
(там только low/medium/high/xhigh), поэтому задаётся через CLI --effort +
CLAUDE_CODE_ALWAYS_ENABLE_EFFORT=1 (без неё glm-5.2 не распознан как
effort-capable и параметр не уходит к Z.ai). Проверено перехватом трафика:
Claude Code шлёт output_config.effort=max, Z.ai включает thinking
(+35% reasoning tokens vs low на нетривиальной задаче). /effort внутри
сессии работает; ручной override запуска: AI_EFFORT=high ai-glm.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-07-04 18:59:57 +03:00
parent c57158420e
commit 1bfef33da1

View File

@@ -1636,7 +1636,15 @@ export CLAUDE_CONFIG_DIR="$HOME/.config/ai-setup/cfg/glm"
# (он схлопывает пикер). Claude Code навязывает 3 слота; незаданный показал бы
# чужой Claude, поэтому opus+sonnet = glm-5.2, haiku = glm-5.2[1m].
_setup_isolated_config glm opus high ''
_apply_effort glm high
# ai-glm стартует на /effort max. max невалиден в settings.json (там только
# low/medium/high/xhigh), поэтому задаём через CLI --effort, а не _apply_effort.
# CLAUDE_CODE_ALWAYS_ENABLE_EFFORT заставляет Claude Code отправлять effort в API
# для GLM (иначе glm-5.2 не распознан как effort-capable и параметр не уходит).
# /effort внутри сессии работает; ручной override запуска: AI_EFFORT=high ai-glm.
# CLAUDE_CODE_DISABLE_1M_CONTEXT НЕ выставляем: GLM 5.2 реально держит 1M контекста,
# а флаг заставлял бы счётчик ctx: считать окно = 200K (врал в ~5 раз). Прочие
# лаунчеры (deepseek/kimi/openrouter/opencode) флаг оставляют — у них другой контекст
# и флаг убирает [1M]-дубли из пикера; ai-claude его и так не использует.
ANTHROPIC_BASE_URL="$glm_base_url" \
ANTHROPIC_AUTH_TOKEN="$api_key" \
ANTHROPIC_DEFAULT_OPUS_MODEL=glm-5.2 \
@@ -1649,12 +1657,9 @@ ANTHROPIC_DEFAULT_HAIKU_MODEL='glm-5.2[1m]' \
ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME="GLM 5.2 [1M]" \
ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION="GLM 5.2 [1M] — расширенный контекст" \
CLAUDE_CODE_SUBAGENT_MODEL=glm-5.2 \
# CLAUDE_CODE_DISABLE_1M_CONTEXT НЕ выставляем: GLM 5.2 реально держит 1M контекста,
# а флаг заставлял бы счётчик ctx: считать окно = 200K (врал в ~5 раз). Прочие
# лаунчеры (deepseek/kimi/openrouter/opencode) флаг оставляют — у них другой контекст
# и флаг убирает [1M]-дубли из пикера; ai-claude его и так не использует.
CLAUDE_CODE_ALWAYS_ENABLE_EFFORT=1 \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
claude --dangerously-skip-permissions --system-prompt-file "$_PROMPT_FILE" "$@"
claude --dangerously-skip-permissions --effort "${AI_EFFORT:-max}" --system-prompt-file "$_PROMPT_FILE" "$@"
GLMEOF
chmod +x "$BIN_DIR/ai-glm"