
\[!注意\] 这是一个演示版本,目前仅支持中文。稍后将发布具有更好定制和英语内容支持的全功能版本。
_优雅阅读实时热门新闻_
特性
- 简洁优雅的用户界面设计,提供最佳阅读体验
- 实时更新热门新闻
- GitHub OAuth登录与数据同步
- 默认缓存持续时间为30分钟(登录用户可以强制刷新)
- 基于源更新频率的自适应抓取间隔(至少2分钟),以优化资源使用并防止IP禁令
- 支持MCP服务器
{
"mcpServers": {
"newsnow": {
"command": "npx",
"args": [
"-y",
"newsnow-mcp-server"
],
"env": {
"BASE_URL": "https://newsnow.busiyi.world"
}
}
}
}您可以更改 BASE_URL 到你自己的领域。
部署
基本部署
对于没有登录和缓存的部署:
- 分叉此存储库
- 导入到Cloudflare Page或Vercel等平台
Cloudflare页面配置
- 构建命令:
pnpm run build - 输出目录:
dist/output/public
GitHub OAuth设置
- 无需特殊权限
- 将回调URL设置为:
https://your-domain.com/api/oauth/github(替换your-domain使用您的实际域名) - 获取客户端ID和客户端密码
环境变量
参见 example.env.server。对于本地开发,请将其重命名为 .env.server 并配置:
# Github Client ID
G_CLIENT_ID=
# Github Client Secret
G_CLIENT_SECRET=
# JWT Secret, usually the same as Client Secret
JWT_SECRET=
# Initialize database, must be set to true on first run, can be turned off afterward
INIT_TABLE=true
# Whether to enable cache
ENABLE_CACHE=true数据库支持
支持的数据库连接器:https://db0.unjs.io/connectors Cloudflare D1数据库 是推荐的。
- 在Cloudflare Worker仪表板中创建D1数据库
- 在wrangler.toml中配置database_id和database_name
- 如果wrangler.toml不存在,请重命名example.wrangler.toml并修改配置
- 更改将在下次部署时生效
Docker部署
在项目根目录中:
docker compose up您还可以在中设置环境变量 docker-compose.yml.
发展
\[!注意\] 需要Node.js>=20
corepack enable
pnpm i
pnpm dev添加数据源
参见 shared/sources 和 server/sources 目录。该项目提供了完整的类型定义和干净的架构。
有关如何添加新源的详细说明,请参阅 贡献.md.
路线图
- 添加 多语言支持 (英语、中文,以后会更多)。
- 改进 个性化选项 (基于类别的新闻,保存的偏好)。
- 扩展 数据源 以多种语言报道全球新闻。
_准备就绪后释放_ 
贡献
欢迎投稿!请随时提交pull请求或为功能请求和bug报告创建问题。
看 贡献.md 有关如何贡献的详细指南,特别是添加新数据源的指南。
许可证
麻省理工学院 ©欧龙兴
