ToolHunter 是你在开源世界的私人侦察兵。它会自动发现、分析并报告最新涌现的高潜力 GitHub 项目,帮你过滤噪音,专注于真正的宝藏工具。
通过结合星标增长趋势(Velocity)追踪和 LLM 驱动的深度分析(支持 OpenAI, Anthropic, Gemini),ToolHunter 能在工具爆火之前识别出它们,并将简明扼要的技术摘要直接推送到你的 Telegram。
- 🔥 全网热点挖掘 (Trending Discovery): 自动跨领域抓取近期(默认7天内)爆火的高星项目(默认150星以上),不再局限于特定话题,发现更广阔的开源宝藏。
- 🚀 趋势发现 (Velocity-Based): 追踪在特定时间窗口内星标快速增长的项目(默认配置:4小时内新增20星)。
- 🧠 AI 深度分析:利用 LLM(GPT-4o, Claude 3.5, Gemini)阅读项目 README,自动生成技术洞察、应用场景和部署指南。
- 🛡️ 智能过滤:
- 抗噪机制: 自动忽略 "awesome lists"、教程、面试题和纯文档类仓库。
- 去重系统: 维护本地 SQLite 数据库,确保你不会收到重复推送。
- msg Telegram 集成: 推送格式精美的项目日报/实时通知,包含标签和直达链接。
- Python 3.10+
- GitHub Personal Access Token (Classic 或 Fine-grained)
- Telegram Bot Token & Chat ID
- LLM API Key (OpenAI, Anthropic 或 Google Gemini)
git clone https://github.com/Stellarwolf001/ToolHunter.git
cd ToolHunter复制示例配置文件:
cp .env.example .env编辑 .env 文件填入你的密钥:
# GitHub 配置
GITHUB_TOKEN=your_github_token_here
# Telegram 配置
TG_BOT_TOKEN=your_telegram_bot_token
TG_CHAT_ID=your_telegram_chat_id
# LLM 配置 (openai, anthropic, 或 gemini)
LLM_PROVIDER=openai
LLM_API_KEY=your_llm_api_key
# LLM_MODEL=gpt-4o-mini # 可选:覆盖默认模型
# 发现设置
POLLING_INTERVAL_MINUTES=30
STAR_VELOCITY_THRESHOLD=20pip install -r requirements.txtpython -m src.main或者后台运行(Linux/Mac):
nohup python -m src.main > output.log 2>&1 &| 变量名 | 默认值 | 说明 |
|---|---|---|
TRENDING_ENABLED |
True | 是否开启全网跨领域的热点项目抓取 |
TRENDING_REPO_AGE_DAYS |
7 | 全网热点项目最大期限(近几天内创建) |
TRENDING_MIN_STARS |
150 | 全网热点项目需要达成的最低星标 |
POLLING_INTERVAL_MINUTES |
30 | 检查新项目的间隔时间(分钟) |
STAR_VELOCITY_THRESHOLD |
20 | 时间窗口内最低新增星标数 |
VELOCITY_WINDOW_HOURS |
4 | 计算星标增长速度的时间窗口(小时) |
REPO_AGE_HOURS |
48 | 仅发现最近多少小时内创建的项目 |
PROXY_URL |
None | API 请求代理地址 (例如 http://127.0.0.1:7890) |
ToolHunter/
├── src/
│ ├── analyzer.py # LLM 分析逻辑
│ ├── config.py # 配置管理
│ ├── database.py # SQLite 接口
│ ├── github_client.py # GitHub API 交互
│ ├── main.py # 程序入口
│ └── telegram_bot.py # Telegram 通知逻辑
├── data/ # 数据库存储目录
└── requirements.txt
欢迎提交 Issue 或 Pull Request 来改进这个项目!
MIT License