预览网站: https://newsnow.czl.net
项目概述
newsnow 是一个专为追求高效优雅阅读体验的用户打造的实时新闻聚合平台。随着信息爆炸时代的到来,获取权威、可靠并且热门的新闻变得异常重要,但市面上的新闻平台往往界面杂乱、广告众多,影响了用户的专注和体验。newsnow 致力于通过简洁美观的界面,为用户带来沉浸式的阅读环境,同时依托智能的数据采集机制,第一时间推送最新和最火热的话题新闻。
该平台支持实时新闻更新,结合 GitHub OAuth 登录实现个性化的数据同步和缓存,保证用户无论在何处都能便捷访问自己的阅读记录。在资源调度方面,newsnow 采用自适应的抓取间隔,有效避免了因频繁请求而导致的资源浪费与 IP 风险。其轻量级部署和灵活的自定义服务器配置,也使开发者可以快速搭建属于自己的专属新闻中心。newsnow 打造了一个专注、高效且颜值在线的新闻聚合新范式,赋能用户用更少的时间掌握更多有价值的资讯。
项目统计
项目概况
12214 Stars |
3617 Forks |
12214 Watchers |
75 Issues
开源协议: MIT License |
创建于: 2024-09-23 |
更新于: 2025-07-29
技术栈
该项目主要使用 TypeScript 开发,占代码库的 95.9%。此外还包含 HTML (1.8%)、CSS (1.5%)、JavaScript (0.7%)
核心功能
发现新闻的最优雅方式,从newsnow开始!无论是实时热点还是刚刚发生的大事件,newsnow都能带你一手掌握。界面简洁清爽,摆脱杂乱无章,聚焦于真正的内容与高效的阅读体验,让你读新闻像刷Feed一样轻松。
- 实时新闻跟进:独家支持热门新闻的秒级捕捉,帮你紧跟时事,抢先掌握当前最热资讯。
- 美观舒适阅读:极致精炼的界面风格,不仅整洁大方,还贴心优化了每一个细节,提升每一秒的阅读愉悦感。
- GitHub账号同步:通过GitHub OAuth授权轻松登陆,收藏、设置和偏好都能同步到云端,切换设备也不怕丢。
- 智能缓存与强制刷新:内置30分钟智能缓存,无需频繁刷新闻,但又允许登录用户随时强制刷新获取第一手动态;更省资源,也更自由。
- 自适应爬取频率:系统会根据新闻源的更新活跃度自动调整爬取间隔,最短可达2分钟,一键防止浪费资源或被IP封禁,新闻总是新鲜热辣。
- 灵活后台部署:不仅支持MCP服务器自定义部署,也允许你更改BASE_URL,把服务跑在自己喜欢的域名下,玩出个性和自由。
- 云端同步和未来多语支持:已经完善了中文体验,未来将不断增加多语言及更多自定义功能,让全球用户都能享受无国界的阅读快感。
更多贴心细节和新功能正在路上,不断优化只为让新闻阅读变得简单、快速、纯粹。newsnow,新闻阅读的全新打开方式!

技术架构
newsnow 项目以 TypeScript 为主要开发语言,前后端采用现代化的分层架构,确保了项目的可维护性与扩展性。前端界面实现简洁优雅的设计,极大优化了用户阅读新闻的体验。项目支持服务端渲染,结合静态资源部署,保证了页面的加载速度与 SEO 效果。
后端部分通过自研爬虫引擎动态抓取并实时跟踪热点新闻,采集引擎支持自适应更新间隔,通过最小两分钟轮询机制,在减少服务器负载及规避 IP 被封的同时,保证了新闻数据的新鲜度。缓存机制默认 30 分钟,登录用户可强制刷新,提升了系统响应效率。鉴权采用 GitHub OAuth,登录与数据同步安全可靠,配置灵活,便于部署到 Cloudflare Pages、Vercel 等无服务器平台。
环境变量设计上支持多实例和自定义数据源(如 MCP server),通过配置 BASE_URL 实现与后端服务的解耦。项目强调敏捷部署和云原生支持,开发者仅需 Fork 并配置少量参数即可上线,无需复杂依赖。整体架构注重高可用、低维护与开源社区友好,适合多场景扩展和二次开发。
架构流程简述:终端用户访问前端页面,前端从缓存或经爬虫抓取的后端 API 获取最新新闻数据,登录用户基于 GitHub OAuth 完成授权,数据读写经安全同步后展示于界面。
使用指南
要开始使用 newsnow,请按照以下步骤操作:
- 首先 Fork 本仓库到你的 GitHub 账号。
- 推荐使用 Cloudflare Pages 或 Vercel 进行部署。以 Cloudflare Pages 为例,导入你的 newsnow 仓库,设置构建命令为
pnpm run build,输出目录填写为dist/output/public。 - 若需登录与同步数据,需配置 GitHub OAuth。前往 GitHub应用创建页面 生成 Client ID 与 Client Secret。回调地址填写为
https://你的域名.com/api/oauth/github。 - 参照项目根目录下的
example.env.server文件,复制为.env.server并填写相关字段,比如:G_CLIENT_ID=你的GitHub客户端ID G_CLIENT_SECRET=你的GitHub客户端密钥 JWT_SECRET=你的密钥 INIT_TABLE=true ENABLE_CACHE=trueINIT_TABLE首次运行需为true,后续可关闭。 - 若需自定义后端新闻服务(如支持 MCP),可以在配置文件中调整
BASE_URL参数,例如:
可将{ "mcpServers": { "newsnow": { "command": "npx", "args": ["-y", "newsnow-mcp-server"], "env": { "BASE_URL": "https://newsnow.busiyi.world" } } } }BASE_URL替换为你的自定义地址。
部署完成后,访问你的站点即可优雅阅读实时热榜新闻。登录后享有更丰富的同步与刷新功能。
总结评价
newsnow 项目以简洁优雅的界面和实时热点新闻聚合为核心,凭借 TypeScript 打造现代化 Web 体验。项目核心亮点在于对新闻数据的高效聚合与自适应爬取策略,既优化资源利用,也降低 IP 风险,同时支持 GitHub OAuth 同步,实现了个性化数据管理。其云端易部署、开箱即用的特性,降低了初学者和开发者的上手门槛。截至目前,该项目已获 12,000+ Star,表明在开源社区有较高关注度,受到不少开发者认可。值得注意的是,当前演示版仅支持中文,英文及更多自定义特性尚待后续完善,适合对国内新闻聚合有需求的用户或二次开发者。建议关注项目更新,合理评估其功能适配自身需求,待多语言内容和完整功能上线后,其应用前景更加广阔。
