GitHub Sentinel 是一款开源工具类AI Agent,专为开发者和项目管理人员设计,能够定期自动获取并汇总订阅的Github仓库最新动态。通过集成OpenAI或Ollama,自动生成清晰的项目进展报告,帮助团队更好地跟踪和管理项目进展。
本项目使用Trae构建,借助大语言模型进行代码生成和优化,仅少量人工干预。完整提示词
- 🔔 订阅管理:便捷地添加、删除和查看GitHub仓库订阅
- 🔄 实时更新:自动获取订阅仓库的最新动态,包括提交、问题和PR
- 📊 智能报告:使用AI(支持OpenAI/Ollama)自动生成详细的仓库动态报告
- 📱 多端支持:提供命令行和Web图形界面两种使用方式
- 📝 日志记录:详细的日志系统,方便问题追踪和分析
- 克隆仓库:
git clone https://github.com/geekeryy/github-sentinel.git
cd github-sentinel
- 安装依赖:
pip install -r requirements.txt
在项目根目录创建 .env
文件,配置以下环境变量:
# 必需配置
GITHUB_TOKEN=your_github_token # GitHub个人访问令牌
# AI报告生成配置(二选一)
REPORT_GENERATOR=openai # 使用OpenAI生成报告,可选值:openai/ollama
# 如果使用OpenAI
OPENAI_API_KEY=your_openai_api_key # OpenAI API密钥
OPENAI_API_BASE=https://api.openai.com/v1 # OpenAI API地址(可选)
# 如果使用Ollama
OLLAMA_API_BASE=http://localhost:11434 # Ollama API地址
OLLAMA_MODEL=llama2 # Ollama模型名称
启动交互式命令行界面:
python -m github_sentinel
可用命令:
addsubscribe <owner/repo>
- 添加仓库订阅unsubscribe <owner/repo>
- 删除仓库订阅list
- 查看已订阅仓库updates [--days=<days>]
- 获取订阅仓库的最新更新report [--days=<days>]
- 生成指定仓库的报告help
- 显示帮助信息exit
- 退出程序
启动Web服务:
python -m github_sentinel.web_app
访问 http://localhost:7860
即可使用图形化界面。
- ✨ 优化Web界面:添加Logo、优化布局和字体
- 🔄 支持已订阅仓库下拉选择
- 📝 全面优化日志系统,支持独立日志文件
- 🌐 新增Web服务支持
- 🎨 集成Gradio提供图形化界面
- 📚 增加中文注释提升可维护性
- 🤖 集成Ollama API支持
- 📊 支持自定义日期范围的报告生成
- 📝 集成日志系统
- ✨ 新增每日进度追踪
- 🤖 集成OpenAI API
- 📊 优化报告生成功能
- 🎯 实现基础订阅管理
- 💻 交互式命令行界面
- 🔄 即时更新获取
欢迎提交问题和改进建议!如果您想贡献代码:
- Fork 本仓库
- 创建您的特性分支 (
git checkout -b feature/AmazingFeature
) - 提交您的更改 (
git commit -m 'Add some AmazingFeature'
) - 推送到分支 (
git push origin feature/AmazingFeature
) - 打开一个 Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。