mirror of
https://gitverse.ru/kpa39l/vesti.git
synced 2026-09-29 09:55:03 +00:00
feat(web): перевод поста на русский локальной моделью (openspec post-translate)
Кнопка «🌐 Перевести» в карточках кандидатов и отобранных переводит пост
локальной моделью (qwen3:8b-nothink), результат в posts.translated_text
(идемпотентный ALTER при старте). Метка «Оригинальный пост» стала закладкой,
при готовом переводе рядом появляется закладка «Перевод» (активна по умолчанию),
переключение на vanilla JS. Повторный клик не тратит токены: перевод в БД.
call_ollama из classifier не подошла (парсит ответ как JSON) — прямой запрос
к Ollama /v1/chat/completions. POST /posts/{id}/translate, лимит 6000 символов.
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
# Задачи
|
||||
|
||||
- [x] web/app.py: идемпотентный ALTER TABLE posts ADD COLUMN translated_text (при старте)
|
||||
- [x] web/app.py: helper _translate_text (прямой запрос к Ollama — call_ollama жёстко парсит JSON, для перевода непригоден; лимит 6000)
|
||||
- [x] web/app.py: POST /posts/{post_id}/translate (повторный клик — без LLM, проверено)
|
||||
- [x] web/templates/candidates.html: закладки «Оригинал»/«Перевод» + кнопка «🌐 Перевести»
|
||||
- [x] web/templates/selected.html: то же в колонке оригинала
|
||||
- [x] vanilla JS переключения вкладок (scripts-блок, паттерн bulk-чекбоксов)
|
||||
- [x] openspec validate post-translate — чисто
|
||||
- [x] Рестарт vesti-web, ручная проверка: пост EN → «Перевести» → закладка «Перевод»; повторный клик — без модели
|
||||
- [ ] Обновить STATUS.md
|
||||
Reference in New Issue
Block a user