mirror of
https://gitverse.ru/kpa39l/vesti.git
synced 2026-09-29 01:50:03 +00:00
1.8 KiB
1.8 KiB
Ctrl-C: VESTI — новостной конвейер
Что это
Конвейер новостей: краулер источников → классификатор (LLM) → банк статей → веб-интерфейс отбора (модерация) → публикация в Telegram (@dedinit_vesti) и Fediverse (GoToSocial @vesti@dedinit.ru).
Стек
FastAPI + Jinja2 (vesti-web, :8400), publisher-service (Docker, :8410), SQLite db/vesti.db, локальная LLM — Ollama qwen3:8b-nothink. Фронтенд — локальный Bootstrap 5.3 (без CDN), без htmx/JS-фреймворков.
Правила
- ВСЕ изменения — через OpenSpec (change в openspec/changes/), перед каждым планируемым изменением — grill-with-docs (обязательно, AGENT.MD).
- НЕ начинать правки кода, пока change не создан и
openspec validateне чисто. - После правок — STATUS.md/TODO.md + бэкап (автокрон, вручную не запускать).
- Дата в UI — фильтр
| dt(ЧЧ:ММ ДД.ММ.ГГГГ), markdown — XSS-safe фильтр. - Секреты — только в .env, не коммитить; .env.example актуализировать.
- Ссылки на ресурсы и доступы — фиксировать в файлах проекта.
Запуск / проверка
cd /opt/vesti
sudo systemctl restart vesti-web # веб :8400
docker compose -f services/publisher/docker-compose.yml up -d --build # publisher :8410
curl -s http://127.0.0.1:8410/healthz
openspec validate <change-name>
Внешний доступ: https://vesti.nixg.ru (Caddy на VPS02, reverse_proxy 10.8.0.2:8400).