ARTICLE · 1135050
为了刷个热搜,你要装几个 App?
早上通勤刷微博热搜,到公司摸鱼看一眼知乎热榜,午休刷 B 站,收盘前再瞄眼财联社——一天下来,光是切换 App 就能切几十次。
有个 2.2 万 Star 的开源项目,把这件事压成了一个网页:打开就是一整面卡片墙,每张卡片是一个平台的实时榜单,66 个信息源同时摊在你眼前。
它叫 NewsNow,MIT 协议,作者是 ourongxing。这篇文章不吹概念,就把「怎么装、怎么用」讲清楚。
项目地址:https://github.com/newsnext/newsnow在线体验(国内可直连):https://newsnow.busiyi.world

图 1:在「更多」里把常看的源加星收藏后,「关注」页就是一屏六格的卡片墙
一、先说清楚它是什么
NewsNow 是一个实时热点聚合阅读器,TypeScript 写的,前端 React 19 + TanStack Router,界面走深色卡片风格。
打开官网默认进入「最热」,每张卡片对应一个信息源:左上角是源的名字和 logo,下面一行小字告诉你「27 分钟前更新」。再往下是内容——热搜榜类的源(百度、微博、知乎)会带 1、2、3 的排名,资讯类的源(IT 之家、Solidot)则按时间倒序铺开。卡片右上角有两个图标,一个是手动刷新,一个是加星收藏。
实测下来它最舒服的地方是「一眼扫完」:把常看的源加星收藏之后,IT 之家、Solidot、Hacker News、GitHub Today、少数派、V2EX 六个卡片就并排在同一屏里,不用逐个打开 App,也不用忍受各家自己的信息流推荐。

图 2:单张卡片长这样——源 logo、更新时间、条目流,右上角是刷新和收藏
顶部有五个入口:「更多」「关注」「最热」「实时」「更新」。其中「更多」是信息源面板——点开会弹出一个可搜索的源清单,左侧按科技、财经、社区等分类排列,每个源后面都有星星,加星之后就会出现在「关注」页里。换句话说,你能把它调教成自己的一套信息台。

图 3:「更多」打开的信息源面板,可搜索、按分类浏览、加星收藏
二、66 个信息源,覆盖到什么程度
从官方源清单里数,一共有 66 个条目(同一平台的不同栏目分开计算),大致分这么几类:
综合热搜:百度、微博、知乎、今日头条、贴吧、豆瓣、虫部落
科技数码:IT 之家、少数派、V2EX、LinuxDo、酷安、GitHub Trending、Hacker News、Product Hunt、Solidot
财经快讯:财联社、格隆汇、华尔街见闻、雪球、金十数据、法布财经、36 氪
社区生活:B 站、虎扑、懂球帝、什么值得买、靠谱
游戏视频:Steam、原神、崩坏星穹铁道、抖音、快手、爱奇艺、腾讯视频
海外其它:半岛电视台中文、卫星通讯社中文、联合早报等
首页默认只摆五六个源,其余的都在「更多」里等你加星。
三、三种用法,按需要选
第一种:直接用官网,零安装
打开 https://newsnow.busiyi.world 就能用。电脑、手机浏览器都一样,手机上卡片是横向滑动,底部会提示「左右滑动查看更多」。界面做了 PWA,手机浏览器可以「添加到主屏幕」,用起来和一个 App 差不多。
代价是:官网是公共服务,用的是默认配置,默认缓存 30 分钟;不登录也能看,登录(GitHub 账号)之后可以强制刷新拿最新数据。如果你只是自己看新闻,到这一步就够了。

图 4:手机浏览器里的效果,卡片横滑,可以「添加到主屏幕」当 App 用
第二种:Docker 自托管,两条命令
想长期用、或者想让数据留在自己机器上,官方主推 Docker 部署。先把仓库拉下来:
git clone https://github.com/newsnext/newsnow.gitcd newsnow
然后在项目根目录执行:
docker compose up
就这样。容器会跑在 4444 端口,浏览器打开 http://localhost:4444 就能看到自己的 NewsNow 了。
docker-compose.yml 里已经写好端口映射(4444:4444)和数据卷(newsnow_data),数据会持久化,重启容器不会丢。镜像来自 ghcr.io/ourongxing/newsnow:latest。
如果你想要「GitHub 登录 + 数据同步 + 缓存」这三件事,还得做两步:
第一步,去 GitHub 创建一个 OAuth App(github.com/settings/applications/new),不需要任何特殊权限,回调地址填:
https://你的域名/api/oauth/github
拿到 Client ID 和 Client Secret。
第二步,把这两个值填进环境变量。在项目根目录把 example.env.server 复制成 .env.server(本地跑),或者直接改 docker-compose.yml 里的 environment 段:
G_CLIENT_ID=你的 Client IDG_CLIENT_SECRET=你的 Client SecretJWT_SECRET=通常直接用 Client SecretINIT_TABLE=trueENABLE_CACHE=true
这里有个坑要提醒:INIT_TABLE=true 只在第一次运行时需要,用来初始化数据库表,之后建议改回 false。另外 PRODUCTHUNT_API_TOKEN 是给 Product Hunt 那个源用的,不填就是该源取不到数据,不影响其它源。
第三种:Fork 到自己的账号,部署到 Cloudflare Pages 或 Vercel
不想管服务器,就走这条路:Fork 仓库,然后在 Cloudflare Pages 或 Vercel 里导入这个仓库。
Cloudflare Pages 的两个关键配置:
构建命令:pnpm run build输出目录:dist/output/public
数据库方面,官方推荐用 Cloudflare 的 D1:在 Cloudflare 控制台建一个 D1 数据库,拿到 database_id 和 database_name,写进 wrangler.toml(仓库里有 example.wrangler.toml 可参考),重新部署即可生效。
需要说明的是:官方主推的是 Cloudflare Pages 和 Docker,Vercel 那条路你得自己搞定数据库——项目用的是 db0 这套连接器,支持哪些数据库可以看 db0.unjs.io/connectors。
四、还有一个隐藏玩法:把它接给 AI 用
这是 README 里没怎么被提起、但很实用的一点:NewsNow 自带 MCP Server。也就是说,你可以把它挂到支持 MCP 的 AI 客户端里,让 AI 直接读实时热榜。配置大概长这样:
{ "mcpServers": { "newsnow": { "command": "npx", "args": ["-y", "newsnow-mcp-server"], "env": { "BASE_URL": "https://newsnow.busiyi.world" } } }}
BASE_URL 换成你自己的域名也行,自建的用户可以直接指向本机。填完之后,问 AI「今天科技圈有什么热点」,它就能去拉这些榜。
五、想自己改代码、加数据源
本地开发需要 Node.js 20 或以上:
corepack enablepnpm ipnpm dev
项目包管理用 pnpm(package.json 里锁的是 pnpm@10.30.3),先把 corepack 打开,避免版本对不上。
想加自己的信息源,去看 shared/sources 和 server/sources 两个目录,一个源基本就是一个文件,类型定义写得比较完整,照抄改一改就能跑。
六、用之前要知道的几件事
这部分比上面都重要,别跳过。
第一,这个项目的定位正在换代。README 顶部挂着一条公告:下一代版本 NewsNext 即将到来,官方开了一个等待名单。同时明确写了——新版即将到来,当前版本不再接受新的贡献(PR 和 issue 功能请求都停了)。它还在维护数据源的可用性,但你别指望提需求能被响应。所以如果你是想「参与一个活跃项目」,这个时间点要清楚这一点。
第二,缓存 30 分钟是设计,不是 bug。默认缓存时长 30 分钟,登录用户可以强制刷新。另外抓取间隔是根据每个源的更新频率动态调整的,最快也就 2 分钟一次——官方写得很直白:这是为了避免频繁抓取导致 IP 被封禁。自建部署时尤其要注意,你的服务器 IP 是有限资源,不要手动把间隔改得激进。
第三,上游源失效是常态,不是你装错了。我自己实测的时候,切到「实时」页,AIHOT、财联社电报、懂球帝头条、法布财经快讯、格隆汇事件、IT 之家这几个源当场全部显示「获取失败」。这在聚合类项目里很常见:源站接口变了、加了反爬、或者临时限流,项目这边就得跟进修。官方仓库目前挂着 150 多个未关闭的 issue,其中相当一部分就是源失效的修复。遇到失败,刷新一次或者过一会儿再看,通常就好了。
第四,自建不等于更稳。官网的服务器和抓取策略是作者长期调过的,你自己的机器、自己的 IP 反而更容易被源站限制。如果是内网或云服务器部署,还要考虑出口 IP 是否被目标站点拉黑。
第五,界面只有深色。作者在提交记录里把浅色模式关掉了,理由是「太丑」。喜欢深色的会很舒服,不喜欢的只能自己改样式。
第六,版本号是快照。这篇写于 2026 年 10 月,仓库当时的版本是 v0.0.42(9 月中旬发布),Star 数 2.19 万,协议 MIT。这些数字会变,装之前建议自己再看一眼仓库首页。

图 5:仓库首页——2.2 万 Star、6 千 Fork、MIT 协议,最新版本 v0.0.42
七、写在最后
NewsNow 解决的不是什么大问题,它就是把「今天全网在聊什么」这件事,从七八个 App 里搬回到一个页面。
它值得装的理由也很朴素:一是省事,二是这代码是开源的、数据可以放自己手里、抓取逻辑你可以自己改。
如果你只想试试,直接打开在线版,两秒钟就知道合不合胃口:
在线体验:https://newsnow.busiyi.world开源仓库:https://github.com/newsnext/newsnow
觉得有用的话,收藏一下,也转给那个每天要刷七八个 App 的朋友。
(本文数据核对于 2026 年 10 月 6 日,Star 数、版本号以 GitHub 仓库实时显示为准)