专为 LLM 时代设计的 AI Agent,自动监控 GitHub 项目更新与 Hacker News 热点,通过 OpenAI/Ollama 生成智能报告,支持多通道通知与 Docker 部署。
项目概述#
GitHub Sentinel 是一款专为大模型(LLM)时代设计的开源智能信息检索与内容挖掘工具。它作为自动化的"观察员",连接 GitHub API 和 Hacker News API,抓取订阅仓库的最新提交、拉取请求、问题讨论以及技术社区的热门话题,结合大语言模型能力将非结构化更新信息转化为结构化、可读性强的项目进展报告。
解决的核心问题:
- 信息过载:解决开发者、投资人或技术爱好者面对海量开源项目更新时难以筛选和跟进的痛点
- 自动化监控:替代人工定期刷新 GitHub 仓库,实现全天候无人值守的进度追踪
- 内容提炼:利用 AI 将 Commit logs 或 Issues 总结为易于理解的摘要
适用场景:
- 开源项目维护者或使用者监控依赖库的更新
- 技术投资人或分析师追踪特定技术领域的演进趋势
- 企业或团队内部进行技术雷达扫描
- 个人开发者通过 Hacker News 挖掘热门技术话题
核心功能#
订阅与检索#
- GitHub 订阅管理:支持配置订阅列表 (
subscriptions.json),自动检索 Commits, Issues, PRs - 多源数据获取:除 GitHub 外,支持 Hacker News 热门话题和每日报告挖掘
AI 智能分析#
- 多模型支持:支持 OpenAI GPT 系列(如 gpt-4o-mini)和 Ollama 本地模型(如 Llama3)进行内容生成
- 智能报告生成:基于检索数据自动生成自然语言描述的项目进展报告
任务调度#
- 定时任务:支持以守护进程方式运行,按配置频率(如每日)执行检索任务
- 进度追踪:记录项目随时间变化的进展情况
交互与界面#
- 图形化界面 (GUI):基于 Gradio 实现的 Web 界面,降低非技术用户使用门槛
- 命令行工具 (CLI):提供命令行交互模式,适合脚本集成
通知与分发#
- 多通道通知:支持 Email (SMTP) 和 Slack Webhook 发送报告通知
安装部署#
环境要求#
- Python 3.10+
- Docker(可选,推荐用于生产环境)
- GitHub Personal Access Token(必需)
- OpenAI API Key 或本地运行的 Ollama 实例(用于 AI 功能)
安装步骤(源码运行)#
- 克隆代码:
git clone https://github.com/DjangoPeng/GitHubSentinel.git
cd GitHubSentinel
- 安装依赖:
pip install -r requirements.txt
- 配置环境:
- 复制并修改
config.json,填入 GitHub Token、Email 配置及 LLM 设置 - 推荐通过环境变量注入敏感信息:
export GITHUB_TOKEN="github_pat_xxx"
export EMAIL_PASSWORD="your_password"
Docker 部署#
- 使用
build_image.sh构建镜像(基于python:3.10-slim) - 运行容器时需挂载配置文件或注入环境变量
- 构建流程中集成
validate_tests.sh进行单元测试验证
使用方式#
三种运行模式#
A. 命令行模式:
python src/command_tool.py
B. Gradio Web 模式:
python src/gradio_server.py
# 访问 http://localhost:7860
C. 后台守护进程模式:
./daemon_control.sh start # 启动
./daemon_control.sh status # 查看状态
./daemon_control.sh stop # 关闭
./daemon_control.sh restart # 重启
配置说明#
项目通过 config.json 进行细粒度控制:
{
"github": {
"token": "your_github_token",
"subscriptions_file": "subscriptions.json",
"progress_frequency_days": 1,
"progress_execution_time": "08:00"
},
"email": {
"smtp_server": "smtp.exmail.qq.com",
"smtp_port": 465,
"from": "from_email@example.com",
"password": "your_email_password",
"to": "to_email@example.com"
},
"llm": {
"model_type": "ollama",
"openai_model_name": "gpt-4o-mini",
"ollama_model_name": "llama3",
"ollama_api_url": "http://localhost:11434/api/chat"
},
"report_types": [
"github",
"hacker_news_hours_topic",
"hacker_news_daily_report"
],
"slack": {
"webhook_url": "your_slack_webhook_url"
}
}
架构特点#
- 模块化设计:支持 CLI、守护进程、Web UI 多种运行模式
- AI Agent 架构:集成 LLM 进行智能内容分析和报告生成
- 多数据源集成:GitHub API + Hacker News API
- 容器化部署:Docker 支持便于环境一致性
- CI/CD 就绪:包含单元测试框架(unittest, Mock)和验证脚本
目标用户#
- 开源爱好者
- 个人开发者
- 投资人
- 需要高频次、大量信息获取的用户