一个把国际新闻关系可视化到世界地图上的网站原型。
项目最初需求来自 国家之间.md:自动抓取国际新闻,识别新闻涉及的多个国家,并在世界地图上用红线连接这些国家,帮助用户从新闻流里观察国家关系的活跃程度和国际局势变化。
- 整个浏览器页面是一张可拖动的世界地图
- 地图上以红点标记国家,连线使用点到点弧线
- 右侧悬浮新闻流,按发布时间倒序展示
- 点击某条新闻时,只高亮该新闻对应的国家连线与关联国家
- 每条新闻支持
中 / 英切换 - 支持
今天 / 近七天 / 近一年 / 全部时间窗口筛选 - 新闻展开后可查看摘要、关联国家和原文链接
- 后端支持实时抓取 RSS,并在不可用时回退到本地缓存或示例数据
BetweenNations/
├─ 国家之间.md # 原始需求说明
└─ Demo/ # 可运行的网站原型(前端 + Node 后端)
Demo 目录目前是一个前后端一体的原型项目:
- 前端:
Vite + React - 地图:本地世界轮廓数据 + SVG 渲染
- 后端:原生 Node.js HTTP 服务
- 数据:实时 RSS、可选 NewsAPI、本地
runtime-cache.json、基础mock-data.json
核心能力包括:
- 国际新闻抓取与归一化
- 新闻关联国家识别
- 中英标题与摘要展示
- 国家关系聚合与地图可视化
- 前端首屏快速回退与后端缓存提速
进入 Demo 目录后执行:
npm install
npm run api默认后端地址:
http://127.0.0.1:4173
开发前端:
npm run dev默认前端地址:
http://127.0.0.1:5173
构建生产资源:
npm run build更详细的运行说明、接口说明和数据说明见 Demo/README.md。
这个仓库目前实现的是一个高保真原型,已经具备演示和继续产品化演进的基础,但仍然属于 demo 阶段:
- 实时新闻源以 RSS 为主
- 中文翻译采用“机器翻译优先,本地兜底”
- 国家识别和新闻过滤已做了多轮优化,但仍可继续提高准确率
- 地图点位已按首都或地区中心重新校准
- 接入更稳定的实时国际新闻数据源
- 引入更强的实体识别与关系抽取模型
- 增加国家详情页、事件详情页和趋势分析图
- 增加用户视角筛选、收藏、分享和导出能力