fix(assistant): снятие устаревшего флага failover + чистый sample в тесте
Баннер «провайдеры недоступны» висел из старой записи assistant_failover.
Теперь успешный тест активного провайдера и смена активного снимают флаг,
плюс кнопка «Снять» на баннере (PUT /assistant {dismissFailover}).
Тест провайдера: system-инструкция + 64 токена + fallback на reasoning →
sample не показывает «мысли вслух» reasoning-моделей.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -67,11 +67,15 @@
|
||||
var fo = cfg.failover, rmap = { rate_limit: 'исчерпан лимит', http: 'ошибка API', timeout: 'таймаут', network: 'нет связи', error: 'ошибка' };
|
||||
var when = ''; try { when = new Date(fo.at).toLocaleString('ru'); } catch (e) {}
|
||||
var ban = document.createElement('div');
|
||||
ban.style.cssText = 'margin-top:14px;padding:11px 14px;border-radius:11px;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.4);color:#92400e;font-size:.84rem;line-height:1.5';
|
||||
ban.innerHTML = fo.servedName
|
||||
? '<b>Переключение провайдера.</b> «' + esc(fo.failedName || '?') + '» недоступен (' + (rmap[fo.reason] || 'ошибка') + ') — работаю на «' + esc(fo.servedName) + '». ' + (when ? '<span style="opacity:.7">' + esc(when) + '</span>' : '') + '<br><span style="opacity:.8">Снимется автоматически, когда активный снова заработает.</span>'
|
||||
: '<b>Все провайдеры ИИ недоступны</b> (' + (rmap[fo.reason] || 'ошибка') + '). Сейчас «Спроси» в FAQ-режиме.';
|
||||
ban.style.cssText = 'margin-top:14px;padding:11px 14px;border-radius:11px;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.4);color:#92400e;font-size:.84rem;line-height:1.5;display:flex;align-items:flex-start;gap:12px';
|
||||
var bantxt = fo.servedName
|
||||
? '<b>Переключение провайдера.</b> «' + esc(fo.failedName || '?') + '» недоступен (' + (rmap[fo.reason] || 'ошибка') + ') — работаю на «' + esc(fo.servedName) + '». ' + (when ? '<span style="opacity:.7">' + esc(when) + '</span>' : '') + '<br><span style="opacity:.8">Снимется автоматически, когда активный снова заработает. Запись могла устареть — нажмите «Тест» на активном или снимите вручную.</span>'
|
||||
: '<b>Все провайдеры ИИ недоступны</b> (' + (rmap[fo.reason] || 'ошибка') + '). Сейчас «Спроси» в FAQ-режиме. ' + (when ? '<span style="opacity:.7">' + esc(when) + '</span>' : '') + '<br><span style="opacity:.8">Если провайдер уже работает (тест проходит) — запись устарела, снимите её.</span>';
|
||||
ban.innerHTML = '<div style="flex:1">' + bantxt + '</div><button id="asst-fo-dismiss" class="asst-ib" style="flex-shrink:0;background:#92400e;border-color:#92400e;color:#fff">Снять</button>';
|
||||
host.appendChild(ban);
|
||||
ban.querySelector('#asst-fo-dismiss').addEventListener('click', function () {
|
||||
LS.adminSaveAssistant({ dismissFailover: true }).then(function () { LS.toast('Уведомление снято', 'success'); render(); }).catch(function () { LS.toast('Ошибка', 'error'); });
|
||||
});
|
||||
}
|
||||
|
||||
// ── Провайдеры (карточки) ──
|
||||
|
||||
Reference in New Issue
Block a user