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 负责送达。
设计考量:
- Collector 和 Report 解耦,后续可以换成 Product Hunt / Reddit ,只需要换 collector
- Profile 通过环境变量配置,无需改代码
- 支持 dry-run 模式,方便调试
- 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 层:
- 更丰富的 profile 格式(项目级目标、当前押注、排除主题)
- 更明确的推荐模板(为什么匹配 → 可以做什么 → 优先用在哪个项目)
- 分类标签( Agent Infra / Content Workflow / Growth Research / Dev Productivity )
- 深度模式( Top 3 + 详细分析,而不是 Top 5 + 简短条目)
- 趋势对比(持久化每日快照,对比变化趋势)
最高杠杆方向:把 scorer 变成可复用的”信号源 → 简报”引擎,支持多种趋势源( GitHub / Reddit / Product Hunt / HN )。
开源地址
- GitHub: https://github.com/Hazel-Lin/github-trending-radar
- License: MIT
- CI: GitHub Actions ( typecheck + dry-run )
欢迎 fork 、提 issue 、提 PR 。
贡献建议
核心原则:
- 保持简单,抵制功能膨胀
- 优先提升推荐质量,而不是增加配置项
- 如果要加功能,先问”这是否符合减法工具的定位”
如果你有类似需求,可以试试。如果你觉得”自己浏览 Trending 更有掌控感”,这个工具不适合你。
BTW 推送是可以推送的,看不看是一回事,看了是否实践又是一回事,我也会看了但不行动,想要一个顶级的决策脑袋🐶
0 条回复
添加回复
你还需要 登录
后发表回复