WEB board

всеканоны и докиворкеры↗ iOS↗ Легаси
WEB-142 · Дефект · Видео · web

Вернуть Gemini как второе плечо ансамбля — он жив, но не отдаёт структурированные сцены

Закрыт P1 · важно ведёт: —
Суть
Контекст: после миграции на pegasus1.5 выяснилось, что TwelveLabs — ЕДИНСТВЕННЫЙ поставщик сцен (WEB-134). Owner вспомнил, что у Gemini две модели и обе работали, и предположил исчерпанную бесплатную квоту. ПРОВЕРИЛ — гипотеза НЕ подтвердилась: ключ GEMINI_API_KEY живой, прямой запрос к gemini-2.5-flash отвечает нормально (200, осмысленный ответ, usageMetadata на месте). Значит дело не в квоте и не в авторизации. НАСТОЯЩАЯ ПРИЧИНА: движок классифицирует ответ как empty_structured_output — по lib/provider-health.ts:34-42 это status=success при chapters.length==0 И shots.length==0. То есть Gemini отвечает успешно, но структурированных сцен мы из него не получаем. В lib/providers/gemini.ts есть режим structuredJson с responseSchema (строки ~448, 1585-1602), включая отдельную ветку для gemini-2.5 — там и надо копать: схема ответа, responseMimeType=application/json, разбор и запасной путь через плоский текст (строка 916 говорит, что запасной разбор тоже не находит сцен). ЦЕННОСТЬ: если Gemini снова начнёт давать сцены, мы перестанем зависеть от TwelveLabs единолично, а заодно, возможно, компенсируем регрессию гранулярности после миграции (4 сцены вместо 17). Приёмка: в прогоне режима Глибоко providers used in final содержит gemini со сценами, empty_structured_output не выставляется.
Воркер
не привязан — привязать: curl -X POST https://bugs.wool2.online/api/web/assign -H 'content-type: application/json' \ -d '{"issueId":"WEB-142","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-08-04T22:24:40.883Z