GoForum🌐 V2EX

[开源] GitHub Trending Radar - 把每日热门列表变成个性化简报

hazellin549 · 2026-03-29 11:44 · 0 次点赞 · 0 条回复

背景

天天逛 GitHub Trending 发现有许多很有趣的项目,star + mark 了很多项目,但很少真的用上。最近想着能不能加到自己项目( AI 工具 + 内容系统)中。

解决方案

写了个小工具:GitHub Trending Radar

核心逻辑:

  • 每天自动抓取 GitHub Trending
  • 用预定义的 work profile 打分(关键词、语言、项目类型)
  • 生成推荐理由和行动建议(中文输出)
  • 通过 SMTP 发送简报邮件

输出不是”今日热门 25 个”,是”你该看的 5 个 + 为什么 + 怎么用”。

技术实现

Tech Stack:

  • TypeScript
  • Cheerio (解析 GitHub Trending HTML )
  • Nodemailer ( SMTP 邮件发送)
  • Zod (类型校验)

架构设计:

src/collectors     抓取和解析 GitHub Trending
src/trending       Profile 定义和类型
src/reports        排序和简报生成
src/email          SMTP 邮件渲染和发送
src/tasks          端到端任务编排

清晰的分层:collector 负责拿数据,report 负责判断,email 负责送达。

设计考量:

  1. Collector 和 Report 解耦,后续可以换成 Product Hunt / Reddit ,只需要换 collector
  2. Profile 通过环境变量配置,无需改代码
  3. 支持 dry-run 模式,方便调试
  4. SMTP 自动识别 QQ 邮箱 / Gmail 默认配置

目前用的是 QQ 邮箱发送,Gmail 接收,主要是担心手机号的问题影响 Gmail 的 2-Step Verification 。又不想用主账号去尝试,所以改用 QQ 邮箱发送。希望后续实践能打消我的顾虑~

使用体验

配置超简单:

pnpm install
cp .env.example .env.local
# 填入 SMTP 配置
pnpm digest:send

然后用 crontab 定时执行:

0 9 * * * cd /path/to/repo && pnpm digest:send >> /tmp/github-trending-radar.log 2>&1

实际效果:

  • 从”每天扫完 25 个项目”( 15 分钟)到”只看 5 个简报”( 3 分钟)
  • 从”mark 了很多不看”到”收到即可行动”
  • 从”怕错过什么”到”相信过滤逻辑”

用了两周,最大变化是决策成本显著降低

适用场景

适合你:

  • 在做产品,需要持续关注技术趋势
  • 时间成本 > 信息成本
  • 需要”可执行建议”而不是”全面信息”
  • 愿意维护一个明确的兴趣 profile

不适合你:

  • 只是想”看看有什么新东西”
  • 喜欢自己浏览完整列表做判断
  • 工作方向经常变,无法定义稳定的 profile

这是个减法工具,核心价值是节省注意力,不是提供更多选项。

Profile 示例

默认 profile 面向:

  • AI tools and agent workflows
  • Automation pipelines
  • Content systems
  • SaaS tooling
  • Growth and marketing automation
  • Productized scripts

可以通过环境变量自定义:

TRENDING_PROFILE_NOTE=你的 profile 描述
TRENDING_PROFILE_KEYWORDS=自定义关键词,逗号分隔
TRENDING_REPO_LIMIT=10
TRENDING_RECOMMENDATION_LIMIT=5

后续计划

当前版本是 MVP ,如果要让简报更像”个人智囊”,重点在 report 层:

  1. 更丰富的 profile 格式(项目级目标、当前押注、排除主题)
  2. 更明确的推荐模板(为什么匹配 → 可以做什么 → 优先用在哪个项目)
  3. 分类标签( Agent Infra / Content Workflow / Growth Research / Dev Productivity )
  4. 深度模式( Top 3 + 详细分析,而不是 Top 5 + 简短条目)
  5. 趋势对比(持久化每日快照,对比变化趋势)

最高杠杆方向:把 scorer 变成可复用的”信号源 → 简报”引擎,支持多种趋势源( GitHub / Reddit / Product Hunt / HN )。

开源地址

欢迎 fork 、提 issue 、提 PR 。

贡献建议

核心原则:

  • 保持简单,抵制功能膨胀
  • 优先提升推荐质量,而不是增加配置项
  • 如果要加功能,先问”这是否符合减法工具的定位”

如果你有类似需求,可以试试。如果你觉得”自己浏览 Trending 更有掌控感”,这个工具不适合你。

BTW 推送是可以推送的,看不看是一回事,看了是否实践又是一回事,我也会看了但不行动,想要一个顶级的决策脑袋🐶

0 条回复
添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: hazellin549
发布: 2026-03-29
点赞: 0
回复: 0