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:
20
home-configs/claude/hooks/effort-save-hook.sh
Normal file
20
home-configs/claude/hooks/effort-save-hook.sh
Normal 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
|
||||
Reference in New Issue
Block a user