一个基于Next.js的RSS源聚合阅读网站,自动使用AI生成中文摘要
🌐 在线演示 • ✨ 功能 • 🔧 技术栈 • 💻 开发 • 🚀 部署
- 多源RSS聚合: 从多个信息源获取并整合RSS内容
- AI摘要生成: 自动使用LLM为文章生成中文摘要
- 定时更新机制: 通过GitHub Actions定期自动更新内容
- 分类浏览: 支持按分类查看不同信息源
- 主题切换: 支持明暗主题切换
- 静态部署: 可部署在GitHub Pages等静态托管服务上
- 框架: Next.js 15,React 19
- 语言: TypeScript 5
- 样式: Tailwind CSS,shadcn/ui
- 包管理: pnpm
- 部署: GitHub Actions,GitHub Pages
- RSS解析: rss-parser
-
克隆仓库
git clone https://github.com/Seanium/feedme.git cd feedme
-
安装依赖
pnpm install
-
配置环境变量
创建
.env.local
文件,添加以下内容:LLM_API_KEY=你的API密钥 LLM_API_BASE=LLM服务的API基础URL(例如:https://api.siliconflow.cn/v1) LLM_NAME=使用的模型名称(例如:THUDM/GLM-4-9B-0414)
这些环境变量用于配置文章摘要生成功能,需要从LLM服务提供商获取
-
更新RSS数据
pnpm update-feeds
此命令会抓取RSS源并生成摘要,保存到
data
目录 -
启动开发服务器
pnpm dev
访问 http://localhost:3000 查看应用
-
自定义RSS源
编辑
config/rss-config.js
文件以修改或添加RSS源。每个源需要包含:- 名称
- URL
- 分类
本项目使用GitHub Actions自动部署到GitHub Pages,使用单一工作流同时处理数据更新和网站部署。
更新数据并部署 (update-deploy.yml
):
- 触发条件:
- 定时执行(每3小时一次)
- 推送到main分支
- 手动触发
- 执行内容:
- 获取最新RSS内容并生成摘要
- 构建静态网站
- 部署到GitHub Pages
-
Fork或克隆仓库到你的GitHub账号
-
设置GitHub Secrets
在项目顶端 Settings - 左侧 Secrets and variables:Actions 中添加以下密钥:
LLM_API_KEY
: 用于AI摘要生成的API密钥LLM_API_BASE
: LLM服务的API基础URLLLM_NAME
: 使用的模型名称
-
启用GitHub Pages
在仓库设置中,选择从GitHub Actions部署
-
手动触发工作流(可选)
在GitHub仓库的Actions页面手动触发"更新数据并部署"工作流
-
修改更新频率: 编辑
.github/workflows/update-deploy.yml
中的cron表达式# 例如,改为每天凌晨更新一次 cron: '0 0 * * *'
-
调整保留条目数: 修改
config/rss-config.js
中的maxItemsPerFeed
值 -
自定义域名配置: 请按照以下内容设置,避免出现页面资源加载异常:
- 不使用自定义域名: 请删除目录下的
CNAME
文件 - 使用自定义域名: 在仓库设置的GitHub Pages部分添加自定义域名,并修改CNAME文件内容为自定义域名
- 不使用自定义域名: 请删除目录下的
MIT © 2025 Seanium