Surface early AI/ML trend signals for product managers. A small Python script that queries the GitHub Search API for recently-created AI repositories, adds lightweight "PM-perspective" commentary, formats a report, and pushes it to a Feishu (Lark) webhook on a twice-daily schedule via GitHub Actions.
- Queries the GitHub Search API for recently-created repos under AI topics (
artificial-intelligence,machine-learning, etc.), sorted by stars. - Generates keyword-based product-manager commentary per repo (agent/LLM/UI signals, traction tier, experimental warnings).
- Formats a readable report and sends it to a Feishu (Lark) webhook as a post message.
- Runs automatically twice a day via GitHub Actions cron, and can be triggered manually.
fetch_github_trending()calls the GitHub Search API for a couple of AI topics.analyze_for_pm()attaches simple keyword-driven commentary to each repo.generate_report()assembles the report;main()writes it toreports/and sends it to Feishu.
Note: the module docstring mentions Reddit and Xiaohongshu, but only GitHub fetching is currently implemented.
Requires Python 3.11+.
git clone https://github.com/wuyuyang001-oss/ai-trends-monitor.git
cd ai-trends-monitor
pip install requestsThe script reads two environment variables:
| Variable | Required | Purpose |
|---|---|---|
FEISHU_WEBHOOK |
Yes (to send) | Feishu/Lark custom-bot webhook URL. If unset, the report is printed but not sent. |
AI_TREND_MONITOR |
Optional | GitHub personal access token used to raise the Search API rate limit. |
For GitHub Actions, add these as repository Secrets (Settings → Secrets and variables → Actions).
Create the output directory first, then run:
mkdir -p reports
export FEISHU_WEBHOOK="https://open.feishu.cn/open-apis/bot/v2/hook/xxxx"
export AI_TREND_MONITOR="ghp_xxx" # optional
python monitor.pyThe report is printed to stdout, saved to reports/report_YYYYMMDD_HHMM.md, and (if FEISHU_WEBHOOK is set) posted to Feishu.
.github/workflows runs the script on a cron schedule (01:00 and 13:00 UTC) and on manual workflow_dispatch. It also currently runs on every push to main.
- Python 3.11
requestsfor HTTP- GitHub Search API
- Feishu (Lark) incoming webhook
- GitHub Actions for scheduling
main()writes toreports/which is not created automatically — runmkdir -p reports(or add it to the workflow) to avoid aFileNotFoundError.- The date filter
created:>2026-01-01is hardcoded and will go stale over time. - The workflow installs
beautifulsoup4andfeedparser, which the script does not use. - The GitHub token env var is named
AI_TREND_MONITORrather than something clearer likeGITHUB_TOKEN. - Reddit and Xiaohongshu sources mentioned in the docstring are not implemented.
Released under the MIT License. See LICENSE.