newsnow
newsnext/newsnow加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
每天打开十几个网站刷热榜的时代,NewsNow(新闻现在)给你一个统一的答案——把微博、知乎、抖音、GitHub、Hacker News、36Kr、豆瓣、哔哩哔哩等数十个平台的热榜内容,聚合到一个干净优雅的页面里,以统一的时间线展示,实时更新,按刷新频率自动调节抓取间隔。
你有没有过这样的经历:早上打开微博看热搜,中午刷知乎看热榜,下午刷 GitHub Trending,晚上再看一圈小众论坛——一天下来,光是打开各种网站、切换 App 就耗尽了大部分精力,而真正有价值的资讯反而淹没在重复的信息流中。
NewsNow 的作者 ourongxing 就遇到了这个痛点。他发现市面上的资讯聚合工具要么界面丑陋、广告满天飞,要么只支持单一平台,缺乏全局视野。经过数月打磨,NewsNow 在 GitHub 上积累了近 2.2 万颗星,成为了开源资讯聚合领域的标杆项目。

NewsNow 采用了前后端分离 + 全栈 SSR 的现代架构,以 Nitro(一个统一的 Node.js 服务端框架)为底层,支持 Cloudflare Workers、Vercel Serverless、本地 Node.js 和 Docker 多种部署方式。
前端技术栈:
后端技术栈:
前端源码结构(src/):
atoms/ — Jotai 原子状态,管理全局 UI 状态components/ — React 组件库hooks/ — 自定义 Hooks(与 TanStack Query 集成)routes/ — 页面路由(基于 TanStack Router 文件约定)styles/ — UnoCSS 样式配置utils/ — 工具函数后端源码结构(server/):
api/ — API 路由(latest、login、oauth 等)database/ — 数据库操作(cache.ts 缓存层、user.ts 用户管理)getters.ts — 各平台数据抓取器统一封装middleware/ — 中间件(auth 认证)sources/ — 核心:各平台数据源适配器(40+ 个源),支持增量扩展utils/ — 工具函数(fetch 封装、日期处理、RSS 解析)NewsNow 目前支持的数据源覆盖了社交媒体(微博、知乎、抖音、B站、豆瓣)、技术社区(GitHub、Hacker News、36Kr)、垂直领域(虎扑、懂球帝、FreeBuf)等,总计超过 40 个数据源,并且提供了完整的类型定义和 CONTRIBUTING.md 文档,用户可以方便地添加新平台。

智能抓取调度:NewsNow 不是粗暴地每分钟轮询所有数据源,而是根据各平台的更新频率动态调整抓取间隔,最短可达 2 分钟。这样既保证了热榜的时效性,又避免了频繁请求导致的 IP 被封风险。已登录用户的缓存有效期为 30 分钟,未登录用户使用服务端统一缓存策略。
GitHub OAuth 登录与数据同步:用户通过 GitHub OAuth 登录后,系统会记录个人浏览偏好,支持 force refresh 强制刷新和收藏功能。JWT Secret 与 GitHub OAuth Client Secret 关联,确保 token 安全性。
MCP 服务器支持:NewsNow 还提供了 MCP(Model Context Protocol)服务器接口,用户只需在 Claude Desktop 等支持 MCP 的 AI 工具中配置一行 JSON,即可让 AI 助手直接查询全网热榜——这是一个将 AI 工具与实时资讯结合的前沿尝试。
数据库灵活切换:支持 Cloudflare D1(Serverless SQLite)、本地 better-sqlite3、Turso(libSQL)等多种数据库后端,通过 db0 抽象层统一接口,用户按需选择。
NewsNow 的部署设计得非常友好,针对不同场景提供了多种方案:
| 部署方式 | 难度 | 适用场景 | 推荐指数 |
|---|---|---|---|
| Docker 一键 | ⭐ | 自建服务器/NAS | ⭐⭐⭐⭐⭐ |
| Cloudflare Pages | ⭐⭐ | 免费 Serverless | ⭐⭐⭐⭐ |
| Vercel | ⭐⭐ | 快速原型 | ⭐⭐⭐ |
Docker 部署(最推荐):
一条命令即可启动,预构建镜像为 ghcr.io/ourongxing/newsnow:latest,包含完整的前端构建产物和后端服务,自动配置 SQLite 数据库。
Cloudflare Pages 部署(免费方案):
pnpm run build,Output Directory 为 dist/output/publicNewsNow 的代码质量在开源资讯聚合类项目中属于上乘:
但项目也有一些局限性:目前仍处于快速迭代阶段(v0.0.42),部分功能尚不稳定;OAuth 登录依赖 GitHub 生态,对非 GitHub 用户不够友好;Cloudflare 部署涉及 Wrangler CLI 配置,对新手仍有一定门槛。
NewsNow 的出现折射出一个趋势:在信息过载的时代,聚合层工具的价值正在被重新发现。不同于早期的 RSS 阅读器(需要用户主动订阅),NewsNow 通过自动聚合热榜内容,降低了用户"不错过重要资讯"的认知负担。
项目路线图显示,未来将支持多语言界面、基于分类的新闻偏好设置,以及更多国际化数据源。如果 MCP 服务器接口成熟,NewsNow 有望成为 AI Agent 的"实时资讯感知层"——让大模型在回答问题时能引用最新的网络热榜数据,这是一个值得关注的技术方向。
一句话评价:NewsNow 是目前开源领域最优雅、功能最完整的热榜聚合工具,Docker 一键部署 + 40+ 数据源 + MCP 支持,适合个人用户、AI 开发者和技术团队快速搭建内部资讯中枢。