GitHub 热门项目日报系统(MVP)。
架构:
- GitHub Actions:每日抓取 + 生成数据 + Telegram 推送
- GitHub Repo:存储
data/*.json - Vercel:前端展示
- Next.js 14 (App Router)
- TypeScript (strict)
- Tailwind CSS
- axios + cheerio
- node-telegram-bot-api
复制 .env.example 并填充:
cp .env.example .env.local关键变量:
SUMMARY_API_KEYSUMMARY_BASE_URLSUMMARY_MODELSUMMARY_BATCH_SIZE(可选,默认 3)GITHUB_TOKENTELEGRAM_BOT_TOKENTELEGRAM_CHAT_IDTELEGRAM_THREAD_ID(可选,Telegram 话题帖 thread id)APP_BASE_URL(Telegram 消息中的页面链接)
兼容说明:保留
KIMI_*作为备用回滚配置,优先使用SUMMARY_*。
npm ci
npm run lint
npm run build
npm run scrape
npm run notifynpm run scrape 会执行完整 pipeline:
- 抓取 trending(daily + weekly)
- 过滤/分类(hot/gem)
- Kimi 生成一句话总结(含重试)
- 安全评分
- 落盘:
data/YYYY-MM-DD.jsondata/latest.jsondata/history/YYYY-MM.json
npm run notify 会读取 data/latest.json 并发送 Telegram 日报(自动分段,避免 4096 字符限制)。
本仓库已包含 vercel.json:
- 使用
npm ci --no-audit --no-fund安装依赖 - 使用
npm run build构建 - framework 指定为
nextjs
在 Vercel Project Settings → Environment Variables 中添加:
SUMMARY_API_KEYSUMMARY_BASE_URLSUMMARY_MODELSUMMARY_BATCH_SIZE(可选,默认 3)GITHUB_TOKENTELEGRAM_BOT_TOKENTELEGRAM_CHAT_IDTELEGRAM_THREAD_ID(可选)APP_BASE_URL
说明:前端展示本身不强依赖上述变量,但后续自动化任务与 Telegram 推送会使用到。