logo
0
0
WeChat Login
docs: simplify README by removing demo and feedback links

NewsNow Logo


NewsNow - 优雅的新闻聚合阅读器

English | 简体中文 | 日本語

NOTE

当前版本为演示版,仅支持中文内容。完整功能版将包含更好的自定义选项和英文内容支持,敬请期待。

📖 项目简介

NewsNow 是一款优雅的实时新闻聚合阅读器,汇集全球热点新闻,提供极致的阅读体验。

核心特性

  • 优雅界面 - 简洁现代的 UI 设计,提供最佳阅读体验
  • 🔄 实时更新 - 实时获取热门新闻,紧跟时事动态
  • 🔐 GitHub 登录 - 支持 GitHub OAuth 登录,数据云端同步
  • 💾 智能缓存 - 默认 30 分钟缓存策略(登录用户可强制刷新)
  • 自适应抓取 - 根据数据源更新频率自适应调整抓取间隔(最小 2 分钟),优化资源使用并防止 IP 封禁
  • 🔌 MCP 支持 - 支持 MCP(Model Context Protocol)服务器集成

MCP 服务器配置

{ "mcpServers": { "newsnow": { "command": "npx", "args": [ "-y", "newsnow-mcp-server" ], "env": { "BASE_URL": "https://your-domain.com" } } } }

您可以将 BASE_URL 更改为自己的域名。


🚀 部署指南

基础部署

无需登录和缓存功能的部署方式:

  1. Fork 本仓库
  2. 导入到 Cloudflare Pages 或 Vercel 等平台

Cloudflare Pages 配置

  • 构建命令: pnpm run build
  • 输出目录: dist/output/public

GitHub OAuth 配置

  1. 创建 GitHub App
  2. 无需特殊权限
  3. 设置回调 URL: https://your-domain.com/api/oauth/github(替换 your-domain 为您的实际域名)
  4. 获取 Client ID 和 Client Secret

环境变量配置

参考 example.env.server。本地开发时,重命名为 .env.server 并配置:

# GitHub Client ID G_CLIENT_ID= # GitHub Client Secret G_CLIENT_SECRET= # JWT Secret,通常与 Client Secret 相同 JWT_SECRET= # 初始化数据库,首次运行必须设置为 true,之后可以关闭 INIT_TABLE=true # 是否启用缓存 ENABLE_CACHE=true # ProductHunt API Token(可选) PRODUCTHUNT_API_TOKEN=

数据库支持

支持的数据库连接器: https://db0.unjs.io/connectors

推荐使用 Cloudflare D1 数据库

配置步骤:

  1. 在 Cloudflare Worker 面板中创建 D1 数据库
  2. wrangler.toml 中配置 database_iddatabase_name
  3. 如果 wrangler.toml 不存在,重命名 example.wrangler.toml 并修改配置
  4. 修改将在下次部署时生效

Docker 部署

在项目根目录执行:

docker compose up

也可以在 docker-compose.yml 中设置环境变量。

云原生部署(CNB)

本项目支持云原生构建,使用 .cnb.yml 配置文件进行自动化部署。

配置说明:

  • 构建环境: Node.js 20.x
  • 包管理器: pnpm
  • 构建命令: pnpm run build
  • 输出目录: dist/output/public

部署前请确保:

  1. 已配置环境变量
  2. 数据库连接信息正确
  3. GitHub OAuth 应用已创建

💻 开发指南

NOTE

需要 Node.js >= 20

安装依赖

corepack enable pnpm install

启动开发服务器

pnpm dev

添加数据源

参考 shared/sourcesserver/sources 目录。项目提供了完整的类型定义和清晰的架构。

关于如何添加新数据源的详细说明,请参阅 CONTRIBUTING.md


🗺️ 发展路线图

  • 添加多语言支持(英文、中文等)
  • 改进个性化选项(基于类别的新闻、保存的偏好设置)
  • 扩展数据源以覆盖多语言的全球新闻

Release when ready

NewsNow Demo


🤝 贡献指南

欢迎贡献!欢迎提交 Pull Request 或创建 Issue 提出功能请求和错误报告。

详细的贡献指南,特别是关于添加新数据源的说明,请参阅 CONTRIBUTING.md


📄 许可证

MIT License © Lethehong


🔗 相关链接


优雅阅读,实时资讯