From c0f27600cbbc5dd5e7c3ad4e713ab9dde1336e32 Mon Sep 17 00:00:00 2001 From: vitaly Date: Sat, 20 Jun 2026 11:27:22 +0300 Subject: [PATCH] =?UTF-8?q?feat:=20=D1=81=D0=B1=D1=80=D0=BE=D1=81=20=D0=BA?= =?UTF-8?q?=D0=BB=D1=8E=D1=87=D0=B0=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20AI?= =?UTF-8?q?=5FRESET=5FKEY=20=D0=B8=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B2=D0=B2?= =?UTF-8?q?=D0=BE=D0=B4=20=D0=BF=D1=80=D0=B8=20429?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ai-deepseek, ai-glm, ai-openrouter: AI_RESET_KEY=1 принудительно удаляет сохранённый ключ перед запуском - при 429 предлагается ввести новый ключ вместо немедленного выхода - OpenRouter сбрасывает ключ без reauth (там нет переменной reauth) Co-Authored-By: Claude --- scripts/ai-setup.sh | 68 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 65 insertions(+), 3 deletions(-) diff --git a/scripts/ai-setup.sh b/scripts/ai-setup.sh index 06b8b5a..ee1731a 100755 --- a/scripts/ai-setup.sh +++ b/scripts/ai-setup.sh @@ -1419,6 +1419,12 @@ key_file="$HOME/.config/ai-setup/deepseek_key" api_key="" reauth=0 +# Принудительный сброс сохранённого ключа через AI_RESET_KEY=1 +if [ "${AI_RESET_KEY:-0}" == "1" ] && [ -f "$key_file" ]; then + rm -f "$key_file" + api_key="" +fi + [ -f "$key_file" ] && api_key=$(cat "$key_file") if [ -n "$api_key" ]; then @@ -1432,7 +1438,22 @@ if [ -n "$api_key" ]; then reauth=1 elif [ $ret -eq 429 ]; then echo -n "Продолжить всё равно? (запросы могут не проходить) [y/N] " - read -r _ans; case "${_ans:-N}" in [Yy]*) ;; *) exit 1 ;; esac + read -r _ans + case "${_ans:-N}" in + [Yy]*) ;; + *) + echo -n "Хотите ввести новый DeepSeek ключ? [Y/n] " + read -r _ans2 + case "${_ans2:-Y}" in + [Yy]*) + rm -f "$key_file" + api_key="" + reauth=1 + ;; + *) exit 1 ;; + esac + ;; + esac elif [ $ret -ne 0 ]; then exit 1 fi @@ -1708,6 +1729,12 @@ key_file="$HOME/.config/ai-setup/glm_key" api_key="" reauth=0 +# Принудительный сброс сохранённого ключа через AI_RESET_KEY=1 +if [ "${AI_RESET_KEY:-0}" == "1" ] && [ -f "$key_file" ]; then + rm -f "$key_file" + api_key="" +fi + [ -f "$key_file" ] && api_key=$(cat "$key_file") # Endpoint: international Z.AI по умолчанию, можно переопределить через GLM_BASE_URL. @@ -1724,7 +1751,22 @@ if [ -n "$api_key" ]; then reauth=1 elif [ $ret -eq 429 ]; then echo -n "Продолжить всё равно? (запросы могут не проходить) [y/N] " - read -r _ans; case "${_ans:-N}" in [Yy]*) ;; *) exit 1 ;; esac + read -r _ans + case "${_ans:-N}" in + [Yy]*) ;; + *) + echo -n "Хотите ввести новый GLM ключ? [Y/n] " + read -r _ans2 + case "${_ans2:-Y}" in + [Yy]*) + rm -f "$key_file" + api_key="" + reauth=1 + ;; + *) exit 1 ;; + esac + ;; + esac elif [ $ret -ne 0 ]; then exit 1 fi @@ -1796,6 +1838,12 @@ source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/ai-api-helpers.sh" 2>/dev/ key_file="$HOME/.config/ai-setup/openrouter_key" api_key="" +# Принудительный сброс сохранённого ключа через AI_RESET_KEY=1 +if [ "${AI_RESET_KEY:-0}" == "1" ] && [ -f "$key_file" ]; then + rm -f "$key_file" + api_key="" +fi + [ -f "$key_file" ] && api_key=$(cat "$key_file") if [ -n "$api_key" ]; then @@ -1809,7 +1857,21 @@ if [ -n "$api_key" ]; then elif [ $ret -eq 429 ]; then _openrouter_balance "$api_key" echo -n "Продолжить всё равно? (запросы могут не проходить) [y/N] " - read -r _ans; case "${_ans:-N}" in [Yy]*) ;; *) exit 1 ;; esac + read -r _ans + case "${_ans:-N}" in + [Yy]*) ;; + *) + echo -n "Хотите ввести новый OpenRouter ключ? [Y/n] " + read -r _ans2 + case "${_ans2:-Y}" in + [Yy]*) + rm -f "$key_file" + api_key="" + ;; + *) exit 1 ;; + esac + ;; + esac elif [ $ret -ne 0 ]; then exit 1 else