reddit_newspaper 是一个 AI 信息筛选脚本。它从 Reddit 的 LocalLlama 社区抓取最新内容,用模型做初步判断和摘要,再把结果写入数据库,方便后续生成 AI 日报或选题池。
这个项目解决的是信息过载问题:AI 社区每天都有大量帖子,但不是每条都值得读。脚本先做第一轮筛选,把明显低价值内容过滤掉,再让模型按传播性、信息量和相关性打分。
- 从 Reddit
LocalLlama获取最新帖子。 - 跳过已经处理过的帖子,避免重复入库。
- 过滤部分低价值 flair,比如
Question | Help、Discussion、Other、Funny。 - 把标题和正文交给模型分析。
- 要求模型输出中文 JSON,包括评分和摘要。
- 将摘要、评分、作者、发布时间和原文链接写入 MySQL。
- 用 SQLite 记录已处理帖子 ID。
- 每天跟踪 AI 社区动态,但不想人工刷完所有帖子。
- 为 AI 日报、选题库、内容产品做第一轮素材筛选。
- 想把 Reddit 里的讨论沉淀到自己的数据库里,再做二次分析。
创建 .env 文件,并配置下面这些变量:
REDDIT_CLIENT_ID=""
REDDIT_CLIENT_SECRET=""
REDDIT_USER_AGENT=""
OPENAI_API_KEY=""
OPENAI_BASEURL="api.openai.com"
MYSQL_HOST=""
MYSQL_USER=""
MYSQL_PASSWORD=""
MYSQL_DB=""不要把真实密钥提交到仓库。
脚本会写入 MySQL 的 rss_data 表,目前用到这些字段:
processed_content
timestamp
poster
rating
original_content_link
selected_for_ai_daily
同时,本地会生成 processed_posts.db,用来记录已经处理过的 Reddit post ID。
python main.py当前脚本是单文件版本,适合个人工作流自用。正式部署前建议补上依赖文件、数据库初始化脚本和日志处理。
- 默认只抓取
LocalLlama。 - 默认每次读取最新 10 条。
- 模型、提示词和过滤规则写在代码里,还没有抽成配置文件。
- 对模型返回格式有依赖,如果返回内容不是 JSON,会跳过该条。
- 把 subreddit、抓取数量、过滤规则和 prompt 放进配置文件。
- 增加更严格的 JSON 解析和重试机制。
- 增加日报生成逻辑,把高分内容自动组合成可读稿件。
- 把 MySQL 表结构和依赖管理补齐,方便部署。
这个脚本不是为了替代阅读,而是做第一层筛选。它把“全部都要看”的压力降下来,让人把精力放在真正值得判断的内容上。