做了个自动监控 GitHub 项目的 agent,有新 release 就通知我
-
关注的项目太多,每次都要手动去看有没有更新。
写了个 agent,每小时检查一次我 star 的项目,有新 release 就推送到微信。
技术栈:
- GitHub API 拉取 release 列表
- Redis 记录上次检查的版本
- 微信模板消息推送
const axios = require('axios'); const Redis = require('ioredis'); const redis = new Redis(); async function checkReleases() { const repos = await getStarredRepos(); for (const repo of repos) { const releases = await axios.get( `https://api.github.com/repos/${repo}/releases` ); const latest = releases.data[0]; const lastVersion = await redis.get(`release:${repo}`); if (latest.tag_name !== lastVersion) { await sendNotification(repo, latest); await redis.set(`release:${repo}`, latest.tag_name); } } }现在每天能收到 5-10 条更新通知,不会再错过重要版本了。