feat: переключение аккаунтов через хук без токенов LLM

- UserPromptSubmit хук перехватывает /switch-account до LLM, переключает
  credentials по кругу и возвращает decision:block - нулевой расход токенов
- Статусная строка: effort и имя аккаунта в квадратных скобках [high·work]
- ai-setup.sh деплоит хук switch-account-hook.sh и прописывает его в settings.json
- Скилл switch-account оставлен как fallback-документация для setup

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-09 20:58:06 +03:00
parent 57d171a592
commit c6161c3332
4 changed files with 169 additions and 1 deletions

View File

@@ -15,7 +15,19 @@ short_cwd="${cwd/#$HOME/\~}"
printf "\033[00;37m%s\033[00m" "$short_cwd"
[ -n "$branch" ] && printf " \033[00;37m[%s]\033[00m" "$branch"
[ -n "$model" ] && printf " \033[38;5;173m%s\033[00m" "$model"
if [ -n "$model" ]; then
effort=$(jq -r '.effortLevel // empty' ~/.claude/settings.json 2>/dev/null)
account=$(cat ~/.claude/accounts/current 2>/dev/null)
if [ -n "$effort" ] && [ -n "$account" ]; then
printf " \033[38;5;173m%s [%s·%s]\033[00m" "$model" "$effort" "$account"
elif [ -n "$effort" ]; then
printf " \033[38;5;173m%s [%s]\033[00m" "$model" "$effort"
elif [ -n "$account" ]; then
printf " \033[38;5;173m%s [%s]\033[00m" "$model" "$account"
else
printf " \033[38;5;173m%s\033[00m" "$model"
fi
fi
# Форматирует оставшееся время до сброса лимита
fmt_remaining() {