diff --git a/setup.ps1 b/setup.ps1 index 824fa40..4cf642b 100644 --- a/setup.ps1 +++ b/setup.ps1 @@ -45,7 +45,7 @@ function Restart-Claude { $exe = @("$env:LOCALAPPDATA\AnthropicClaude","$env:LOCALAPPDATA\Programs") | ForEach-Object { Get-ChildItem $_ -Recurse -Filter "claude.exe" -ErrorAction SilentlyContinue } | Select-Object -First 1 if ($exe) { Start-Process $exe.FullName } else { Warn "Открой Claude вручную." } } - Ok "Готово. Открой выбор модели в чате: там GLM-5.3, Kimi K3 и Flash." + Ok "Готово. Открой выбор модели в чате: там GLM-5.3 и Flash, а на платном тарифе Ollama ещё и Kimi K3." } # ---------- ОТКАТ ---------- @@ -95,15 +95,20 @@ else { # ---------- 3. Псевдонимы ---------- if ($haveOllama) { Say "[3/5] Создаю псевдонимы облачных моделей (нужен вход в аккаунт Ollama)..." + # третий элемент "optional": модель платная (Kimi K3), её отсутствие не валит установку $pairs = @( - @("glm-5.3:cloud", "claude-sonnet-4-6"), - @("kimi-k3:cloud", "claude-opus-4-6"), - @("glm-5.3-flash:cloud", "claude-haiku-4-5") + @("glm-5.3:cloud", "claude-sonnet-4-6", ""), + @("glm-5.3-flash:cloud", "claude-haiku-4-5", ""), + @("kimi-k3:cloud", "claude-opus-4-6", "optional") ) foreach ($p in $pairs) { & ollama pull $p[0] 2>$null if ($LASTEXITCODE -ne 0) { - Warn "Не получилось скачать $($p[0]). Скорее всего, нет входа в аккаунт." + if ($p[2] -eq "optional") { + Warn "$($p[0]) недоступна на твоём тарифе Ollama, пропускаю (нужен Pro или Max)." + continue + } + Warn "Не получилось скачать $($p[0]). Обычно это нет входа в аккаунт Ollama, реже недоступность модели на твоём тарифе." Write-Host " Открой окно Ollama -> Settings -> Sign in, затем запусти скрипт снова." exit 1 } @@ -134,6 +139,11 @@ if (-not (Test-Path $devSettings)) { '{"allowDevTools": true}' | Set-Content $de } '@ | Set-Content (Join-Path $LIB "$ID_OLLAMA.json") -Encoding UTF8 +# Не затираем уже вставленный ключ: перезаписываем только заглушку или отсутствующий файл +$zaiPath = Join-Path $LIB "$ID_ZAI.json" +$zaiHasKey = (Test-Path $zaiPath) -and -not ((Get-Content $zaiPath -Raw -Encoding UTF8) -match "ВСТАВЬ_СЮДА_СВОЙ_КЛЮЧ_ZAI") +if ($zaiHasKey) { Ok "Конфиг zai-glm уже настроен, ключ не трогаю." } +else { @' { "inferenceProvider": "gateway", @@ -147,7 +157,8 @@ if (-not (Test-Path $devSettings)) { '{"allowDevTools": true}' | Set-Content $de { "name": "claude-haiku-4-5", "labelOverride": "GLM-5.3 Flash (Z.ai, vision)", "anthropicFamilyTier": "haiku", "isFamilyDefault": true } ] } -'@ | Set-Content (Join-Path $LIB "$ID_ZAI.json") -Encoding UTF8 +'@ | Set-Content $zaiPath -Encoding UTF8 +} $meta = Read-Meta if (-not ($meta.entries | Where-Object { $_.name -eq "Default" })) {