fix: изоляция effort между ai-* лаунчерами и персистентность

- _restore_effort: каждый лаунчер читает свой effort из
  ~/.cache/ai-setup/effort_<launcher> и записывает в settings.json
- effort-save-hook.sh: сохраняет effortLevel из settings.json в кэш
  при завершении сессии (через Claude Code hooks)
- Все лаунчеры (claude/deepseek/kimi/openrouter) экспортируют
  AI_LAUNCHER для идентификации в statusline и хуках
- _deepseek_balance: мультивалютный вывод (USD + CNY с символами $ и ¥)
- Дефолтные effort: claude=xhigh, deepseek/kimi/openrouter=high

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-06-11 22:21:13 +03:00
parent 3f61f15507
commit 44e3ea90f9
2 changed files with 103 additions and 8 deletions

View File

@@ -0,0 +1,20 @@
#!/usr/bin/env bash
# Сохраняет текущий effortLevel в кэш лаунчера при завершении сессии.
# /effort внутри Claude Code обновляет settings.json - мы читаем оттуда.
launcher="${AI_LAUNCHER:-}"
[ -z "$launcher" ] && exit 0
cat /dev/stdin > /dev/null 2>&1 # drain stdin (Claude Code передаёт JSON)
effort=$(python3 -c "
import json, os
p = os.path.expanduser('~/.claude/settings.json')
if os.path.exists(p):
try:
d = json.load(open(p))
print(d.get('effortLevel', ''))
except Exception:
pass
" 2>/dev/null)
[ -z "$effort" ] && exit 0
mkdir -p "$HOME/.cache/ai-setup"
echo "$effort" > "$HOME/.cache/ai-setup/effort_${launcher}"
exit 0