fix+docs: classifier/publisher правки, sources.yaml расширен, глоссарий CONTEXT.md + docs/agents, backup.sh; openspec post-translate/rewrite-as-author/rich-repost-card/selected-layout-stay

This commit is contained in:
kpa39l
2026-09-22 17:39:23 +00:00
parent a10ab9fa3c
commit c8ccd7e187
8 changed files with 302 additions and 94 deletions
+28 -17
View File
@@ -1,24 +1,35 @@
# VESTI — новостной конвейер
# Ctrl-C: VESTI — новостной конвейер
Конвейер новостей: краулер источников → классификатор (LLM) → банк статей → веб-интерфейс отбора → публикация в Telegram (@dedinit_vesti) и Fediverse (GoToSocial @vesti@dedinit.ru).
## Что это
## Документация (читать при старте сессии)
Конвейер новостей: краулер источников → классификатор (LLM) → банк статей →
веб-интерфейс отбора (модерация) → публикация в Telegram (@dedinit_vesti)
и Fediverse (GoToSocial @vesti@dedinit.ru).
- **STATUS.md** — точка входа: текущее состояние, архитектура, доступы. Читать первым.
- PRD.md — продуктовое описание.
- WALKTHROUGH.md — разборы этапов, команды, засады.
- TODO.md — задачи.
## Стек
## Расположение и доступ
- Проект: /opt/vesti (docker compose в корне, services/publisher/)
- Веб-интерфейс: https://vesti.nixg.ru (uvicorn :8400, systemd vesti-web.service)
- Publisher: docker-контейнер vesti-publisher, 127.0.0.1:8410
- БД: SQLite в проекте; медиа в media/
- Бэкап: backup.sh → backups/ + Яндекс.Диск (root cron 2:45)
- Cron Hermes: vesti-crawler-all-sources (*/30), vesti-watchdog (*/15)
FastAPI + Jinja2 (vesti-web, :8400), publisher-service (Docker, :8410),
SQLite db/vesti.db, локальная LLM — Ollama qwen3:8b-nothink.
Фронтенд — локальный Bootstrap 5.3 (без CDN), без htmx/JS-фреймворков.
## Правила
- При старте сессии из этой папки сначала прочитай STATUS.md (и PRD.md при необходимости), потом действуй.
- Логи почтовых/публикационных сервисов — при наличии смотри перед диагнозом.
- **ВСЕ изменения — через OpenSpec** (change в openspec/changes/), перед каждым
планируемым изменением — **grill-with-docs** (обязательно, AGENT.MD).
- НЕ начинать правки кода, пока change не создан и `openspec validate` не чисто.
- После правок — STATUS.md/TODO.md + бэкап (автокрон, вручную не запускать).
- Дата в UI — фильтр `| dt` (ЧЧ:ММ ДД.ММ.ГГГГ), markdown — XSS-safe фильтр.
- Секреты — только в .env, не коммитить; .env.example актуализировать.
- Ссылки на ресурсы и доступы — фиксировать в файлах проекта.
## Запуск / проверка
```bash
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).