Files
memind/docs/news-engine-mvp.md
T
2026-09-22 10:19:54 +08:00

59 lines
2.3 KiB
Markdown

# MeMind News Engine MVP
## Boundary
- `memind-news-engine` owns collection, event clustering, ranking, and briefing candidates.
- `Memind` consumes ranked candidates and owns page generation and delivery.
- `memind_adm` owns source configuration, ranking policy editing, review, run monitoring, and publish controls.
- The legacy `ops/` UI is not extended.
## Current pipeline
```text
Memind SearXNG query groups
-> memind-news-engine HTTP API
-> event clustering by canonical URL and title similarity
-> deterministic rule score
-> optional structured LLM assessment
-> global score plus optional user-interest score
-> breaking-news override
-> category quotas and source diversity
-> ranked candidates in the existing briefing prompt
-> existing page generation, dedupe, image, and WeChat delivery guards
```
The first slice is deliberately deterministic. The model may provide the six semantic dimensions, but application code calculates the weighted score and owns final selection.
## Score contract
LLM assessment values are 0-10:
```json
{
"importance": 8,
"novelty": 9,
"impact": 8,
"credibility": 9,
"relevance": 8,
"actionability": 7,
"category": "ai_tech",
"reason": "A flagship model release changes capability and API economics."
}
```
Semantic score weights are 25% importance, 20% impact, 15% novelty, 15% credibility, 15% relevance, and 10% actionability. When the LLM assessment is present, global score is 35% rule score plus 65% semantic score. When a user-interest score is present, final score is 70% global plus 30% personal.
Breaking override is active when importance is at least 9, there are at least two distinct sources, and credibility is at least 8.
## Runtime controls
- `MEMIND_NEWS_ENGINE_DAILY_LIMIT`: selected event count, default `15`.
- `MEMIND_NEWS_ENGINE_MINIMUM_SCORE`: minimum final score, default `0` during the observation phase.
- `MEMIND_NEWS_ENGINE_URL`: independent service base URL; ranking is skipped when unset.
- `MEMIND_NEWS_ENGINE_API_TOKEN`: service-to-service bearer token.
- `MEMIND_NEWS_ENGINE_TIMEOUT_MS`: request timeout, default `5000`.
## Next slice
The engine repository now owns persistence migrations and the ranking API. Next work is the bounded LLM scoring worker, collection scheduler, and `memind_adm` management UI.