2023-09-11
AI Summary by GPT-4
RSS-GPT 是一个使用 GitHub Actions 自动运行 Python 脚本的项目,该脚本通过调用 OpenAI API 为 RSS 源生成总结。用户需准备 GitHub 账号、OpenAI API 密钥,并设置必要的 Repository Secrets。项目支持自定义订阅源、过滤规则、总结长度等,生成的新 xml 文件会自动部署到 GitHub Pages,允许在任何 RSS 阅读器中订阅。项目也提供了定制化的功能,包括修改刷新频率和关闭 AI 总结功能。

RSS-GPT 使用指南

项目地址与功能介绍

需要准备的东西

1 GitHub Actions 部署

大致原理是使用 GitHub Actions 定时运行 Python 脚本, 脚本调用 OpenAI API 生成总结附在 RSS 原文之前, 生成一个新的 xml 文件, 并自动 commit 到仓库中 docs/ 文件夹内。

文件夹内所有内容都将自动部署在 GitHub Pages 上, 这样就可以通过你的 Pages 地址访问到这个 xml 文件, 然后就可以在任何 RSS 阅读器中订阅。

如果你不想部署在 GitHub Pages, 应该也可以通过直接访问仓库中的 xml 原文件(地址以 https://raw.githubusercontent.com 开头)来订阅, 比如说我这个仓库的 xml 文件地址是 https://raw.githubusercontent.com/yinan-c/RSS-GPT/main/docs/brett-terpstra.xml

1.1 Fork项目

进入项目 RSS-GPT, 然后 fork 项目到自己的仓库。

1.2 记录三个需要的参数

U_NAME

就是 git commit 用的用户名, 一般可以用你的 GitHub 用户名, 你的 GitHub 主页地址的最后一段就是你的用户名, 比如 https://github.com/yinan-c, 用户名就是 yinan-c。

U_EMAIL

就是 git commit 用的邮箱, 是你注册 GitHub 时的邮箱, 可以在 GitHub 设置页面

WORK_TOKEN

因为项目涉及使用脚本操作仓库内容,所以需要给脚本修改仓库内文件的权限,需要申请一个 Repository Secret 令牌。

点击完后复制token, 注意一定要在此页面复制好, 离开这个页面你就再也看不到token了。错过就只能按照上面的步骤重新生成一个了

1.3 设置 Repository Secrets

进入你 fork 的 repository, 点击上方菜单栏的 "Settings", 然后点开左侧菜单栏的 "Secrets and variables", 选择 "Actions", 然后点击右上角的 "New repository secret"。

1.4 给需要的权限

开启 GitHub Actions 访问 Pages 的权限

2 设置需要合并, 过滤, 总结的 RSS 源

进入项目, 点击上方菜单栏的 "Code", 点击进入 "config.ini" 文件, 点击右上角的铅笔图标, 编辑代码, 设置你需要的订阅源, 前两行的内容不要动。

[cfg]
base = "docs/"

然后在接下来的三行更改目标语言, 关键词数量, 和总结长度。之后的代码是 feed-specific 的配置, 格式如下, 首先是3个必填项目:

接下来是关于过滤的可选配置: 注意三个配置必须要同时设置或者同时不设置, 不能只设置其中一个或者两个, 否则会报错。

点击最下边的 “Commit changes” 提交修改。

3.1 修改 main.py 中的仓库名称

(如果你在 1.1 中使用了默认仓库名称,或者你不想要修改 prompt, 可以跳过这一步)

4 开启并测试 GitHub Actions

进入项目, 点击上方菜单栏的 "Actions", 点击 “cron_job", 选择 “Run workflow"

等待运行成功会显示绿色的勾, 运行失败会显示红色的叉。如果出现红叉, 一般都是你修改 ini 文件时, 什么地方写错了, 或者权限、Secrets 设置错误。请仔细检查。

如果前边没出现错误 (主要是运动 Actions 没出现红叉), 那么你可以在项目的介绍页看到你的订阅源。

每条项目的 -> 左侧的是原始订阅链接, 右侧是转换后的链接。请确保你已经在第3步中设置了你自己的 GitHub Pages 地址。在任何 RSS 阅读器中订阅右侧的链接即可。

一些额外的说明

关于 feed 刷新频率

   - cron: '0 */2 * * *' # 每2小时运行一次
   - cron: '0 */1 * * *' # 每1小时运行一次
   - cron: '0 0 * * *' # 每天0点运行一次
   - cron: '*/30 * * * *' # 每30分钟运行一次

更加具体的参数可以查看 crontab 的用法 或者crontab.guru 的文档。

如果你不想要 AI 总结的功能

关于 OpenAI 总结的内容

关于 OpenAI API 的用量

关于仓库更新

< RSS-GPT Configuration AI 总结 RSS Feeds >
Created: 2023-09-11 Updated: 2023-11-07