← 项目档案
PolitiLens
政治新闻情报面板,用来比较不同立场媒体如何报道同一事件。

这是什么
问题
政治新闻数量庞大,但横向比较成本很高。读者需要手动寻找平行报道、判断媒体位置,并区分共同事实与叙事差异。
方案
PolitiLens 汇集不同政治光谱与地区的媒体报道,将同一事件聚类,并展示分歧度、语气、来源健康度、政治罗盘位置与 AI 辅助的叙事分析,同时公开方法与局限。
界面一览
Story explorerClustered stories expose source breadth, political lean coverage, sentiment, and divergence before the reader opens a comparison.
技术栈
Product
- Next.js 16
- React 19
- TypeScript
- Tailwind CSS
Data
- TanStack Query
- Zustand
- RSS
- GDELT
- Congress.gov
Analysis
- Vercel AI SDK
- OpenRouter
- AFINN
- compromise
Visualization
- Recharts
- react-simple-maps
亮点功能
- Story clustering across politically diverse outlets
- Two-axis political compass with regional filtering
- Divergence and sentiment signals with confidence context
- AI-assisted framing comparison and consensus extraction
- Congress, fact-check, source-health, and world-coverage views
- Complete English and Simplified Chinese interface
工程实现
- 过程 01
Measure divergence without calling it truth
- 背景
- Political framing is multidimensional, and a single bias score can imply certainty the system does not possess.
- 方法
- Compute a documented heuristic from source breadth, spectrum coverage, and region, then show its method and confidence context.
- 结果
- The signal supports comparison without judging factual correctness, but readers must still inspect the underlying coverage.
- 过程 02
Cluster deterministically before invoking AI
- 背景
- Letting a model decide which articles belong together would make the core research unit difficult to reproduce or challenge.
- 方法
- Normalize, deduplicate, and similarity-cluster articles first; use AI only to describe framing and consensus inside an established cluster.
- 结果
- The pipeline stays inspectable and cheaper, while deterministic clustering errors remain visible instead of being hidden by fluent summaries.
实现细节
架构笔记
- RSS and API articles normalize into one model before URL deduplication and similarity clustering.
- Divergence is a transparent heuristic based on source breadth, spectrum coverage, and region rather than a claim about truth.
- Expensive news aggregation routes use bounded concurrency, caching, and stale-while-revalidate behavior.
- AI analysis is downstream of deterministic clustering and presents framing differences without assigning factual authority.
挑战
- Keeping politically sensitive scores explainable enough that users can challenge the method.
- Handling unreliable feeds and uneven source coverage without hiding degraded data.
- Making a dense research interface scan quickly on both desktop and mobile.
结果
一个已部署的 v1.1 研究产品,把嘈杂的新闻流整理成透明的比较流程,同时明确说明启发式指标并不等同于客观真相。
规划与心得
复盘
- 01Trust comes from showing how a score was produced, not polishing away its uncertainty.
- 02Dense dashboards need progressive disclosure so methodology remains available without blocking the first scan.
- 03AI is more credible when it describes differences after deterministic grouping instead of deciding the groups itself.
下一步
- 01Ground framing summaries in cited article excerpts
- 02Improve entity-aware story clustering
- 03Add timeline views for how coverage changes across a news cycle