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
本仓库已包含 SKILL.md,可被任何支持 Anthropic skill 规范的 agent(包括 Claude Code)直接识别和调用。
当 agent 加载此 skill 后,可通过以下入口与用户交互:
- 抓取今日 Trending:自动运行
npm run scrape完成从抓取到落盘的全流程 - 发送日报:运行
npm run notify(Telegram)或npm run notify:feishu/npm run sync:feishu(飞书) - 发送周报/月报:运行
npm run notify:feishu:weekly或等待 pipeline 在周日/每月 1 日自动生成并推送
Skill 描述文件中已完整标注了各脚本的作用、所需环境变量及数据输出路径,agent 无需再通读源码即可正确调用。
复制 .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 推送会使用到。