backend 0.8.121
Added
- Документы в WebAI-чате. DeepSeek принимает PDF, DOC/DOCX, TXT/MD, CSV и XLS/XLSX наравне с изображениями; классификация проверяет MIME и расширение, документы ждут текстовый парсинг без vision-fork, изображения продолжают fork в vision. Qwen остаётся image-only, Kimi/Z.ai — без файлов.
- Миниатюры истории.
GET /api/v1/webai/chats/{id}/messages/{messageId}/ files/{index}/bytesотдаёт только изображение: путь берётся из истории, повторно проверяется внутри uploads, вне диапазона/для документа — 400/404. - Папки, шаблоны и автотайтл. CRUD
chat-groupsиtemplates,POST .../auto-title; в SQLite добавленыpinned,group_id,title_sourceплюс таблицы папок и шаблонов через additive-миграции.
Fixed
- Переименование чата больше не очищает model.
PUT /webai/chats/{id}стал настоящим частичным обновлениемmodel/title/pinned/groupId; пустой PATCH возвращает 400. - Пустой prompt для документа больше не просит «описать изображение», а выбранный режим vision включается только при наличии картинки.