Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Seanium/FeedMe

Repository files navigation

中文文档 | English Documentation

😋FeedMe

用 AI 重新定义你的 RSS 阅读体验,轻松部署到 GitHub Pages / Docker


🍱 轻量、智能、为你定制

  • 🪶 告别臃肿:拒绝强制登录与 App 下载,一个响应式静态页面解决信息流阅读需求

  • 🤖 效率至上:AI 自动生成文章摘要,把握重点

  • ⚙️ 为你定制:无论是订阅源还是 AI 配置,一切设置权归你所有

  • 🚀 自由部署:零成本部署至 GitHub Pages 或 Docker

✨ 功能

  • 聚合摘要:一站式整合多源 RSS,通过 LLM 自动生成摘要

  • 自动更新:GitHub Actions / Cron 定时保持内容鲜活

  • 灵活部署:GitHub Pages 零成本静态托管 / Docker 私有化部署

  • 现代体验:响应式设计,明暗主题


本项目由阿里云 ESA提供加速、计算和保护

阿里云 ESA

🚀 部署

方式一:GitHub Pages 部署

本项目使用 GitHub Actions 自动部署到 GitHub Pages,使用工作流处理数据更新和网站部署。

  1. Fork 或克隆仓库到你的 GitHub 账号

  2. 设置 GitHub Secrets

    在项目顶端 Settings - 左侧 Secrets and variables -> Actions 中添加以下密钥(Secrets):

    • LLM_API_KEY: 用于 AI 摘要生成的 API 密钥
    • LLM_API_BASE: LLM 服务的 API 基础 URL
    • LLM_NAME: 使用的模型名称
    • SUMMARY_LOCALES: 需要生成摘要的语言列表,默认 zh,en
  3. 启用 GitHub Pages

    在仓库设置中,选择从 GitHub Actions 部署

  4. 手动触发工作流(可选)

    在 GitHub 仓库的 Actions 页面手动触发"更新数据并部署"工作流

工作流说明

更新数据并部署 (update-deploy.yml):

  • 触发条件:
    • 定时执行(每小时一次)
    • 推送代码
    • 手动触发
  • 执行内容:
    • 单次构建流程:一次性获取 RSS 内容、生成摘要并构建静态网站
    • 多平台部署:
      • 自动部署到 GitHub Pages
      • 将构建产物推送到 deploy 分支,供 Vercel 等平台监控部署

自定义部署配置

  • 自定义 RSS 源: 编辑 src/config/feedme.config.yaml 文件以修改或添加 RSS 源。类目的展示顺序由 categories 列表顺序决定。每个源需要包含:

    • id:稳定唯一标识
    • name:多语言名称
    • url:RSS 地址
    • category:所属分类
  • 修改更新频率: 编辑 .github/workflows/update-deploy.yml 中的 cron 表达式

    # 例如,改为每天凌晨更新一次
    cron: '0 0 * * *'
  • 调整默认源和保留条目数: 修改 src/config/feedme.config.yaml 中的 settings.defaultSourcesettings.maxItemsPerFeed

  • 自定义摘要生成: 在 src/config/feedme.config.yamlsummary 中可以调整摘要提示词、输入截断长度、temperaturemaxTokens 和摘要失败兜底文案。摘要生成语言仍通过 SUMMARY_LOCALES 控制,例如 zhenzh,en。如需新增语言,请在 src/config/i18n-config.ts 中增加 locale 元数据,并在相关本地化配置中补充该语言文案。

方式二:Vercel 部署

  1. 前往 Vercel 导入页面,选择 "GitHub" 并授权访问
  2. 选择你 fork 的 FeedMe 仓库,点击 "Deploy",这时部署失败是正常的,因为默认部署分支为 main
  3. 参考 Deploying Git Repositories with Vercel 将生产分支改为 deploy,设置仅构建生产分支,并重新部署

GitHub Actions 每次构建后会自动推送到 deploy 分支,Vercel 会自动检测并部署。

方式三:阿里云 ESA Pages 部署

  1. 前往 阿里云 ESA 控制台,进入 Pages 服务
  2. 点击"新建应用",选择 "GitHub" 并授权访问
  3. 选择你 fork 的 FeedMe 仓库,配置如下:
    • 生产分支:deploy
    • 静态资源目录:.(一个英文句号)
    • 安装命令:留空
    • 构建命令:留空
  4. 点击"部署"即可

GitHub Actions 每次构建后会自动推送到 deploy 分支,阿里云 ESA Pages 会自动检测并部署。得益于阿里云 ESA 的边缘加速能力,应用在全球范围内均可获得极速访问体验。

方式四:Docker 本地部署

此方式使用 Docker 在本地或服务器上运行 FeedMe,并通过容器内的 Cron 任务自动更新数据和重建,不依赖 GitHub Actions。

  1. 克隆仓库

    git clone https://github.com/Seanium/feedme.git
    cd feedme
  2. 配置环境变量 复制 .env.example 文件为 .env 并填入必要的 API 密钥:

    cp .env.example .env

    编辑 .env 文件:

    LLM_API_KEY=你的_API_密钥
    LLM_API_BASE=LLM服务的API基础URL
    LLM_NAME=使用的模型名称
  3. 构建并启动 Docker 容器

    docker-compose up --build
  4. 访问应用 应用将在 http://localhost:3000 上可用。

  5. 自动更新 容器将根据 src/config/crontab-docker 中的配置(默认为每小时)自动执行 pnpm update-feedspnpm build,并重新启动服务。 如需修改更新频率,请编辑 src/config/crontab-docker 文件中的 cron 表达式(例如 0 */6 * * * 表示每 6 小时执行一次)。

💻 开发

本项目使用 Node.js 24 LTS。可通过 .nvmrc.node-version 自动切换版本。

  1. 克隆仓库

    git clone https://github.com/Seanium/feedme.git
    cd feedme
  2. 安装依赖

    pnpm install
  3. 配置环境变量

    复制环境变量示例文件并编辑:

    cp .env.example .env

    填入以下内容:

    LLM_API_KEY=你的 API 密钥
    LLM_API_BASE=LLM服务的 API 基础 URL(例如:https://api.siliconflow.cn/v1)
    LLM_NAME=使用的模型名称(例如:THUDM/GLM-4-9B-0414)
    SUMMARY_LOCALES=摘要语言列表(例如:zh,en)
    

    这些环境变量用于配置文章摘要生成功能,需要从 LLM 服务提供商获取

  4. 更新 RSS 数据

    pnpm update-feeds

    此命令会抓取 RSS 源并生成摘要,保存到 public/data 目录

  5. 类型检查与构建

    pnpm typecheck
    pnpm build
  6. 启动开发服务器

    pnpm dev

    访问 http://localhost:3000 查看应用

Star 趋势

Star History Chart

About

😋 AI-powered, Lightweight RSS Reader. Supports: GitHub Pages | Vercel | Alibaba Cloud ESA Pages | Docker

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /