github sentinel是一款开源工具类AI Agent,专为开发者和项目管理人员设计,能够定期(每日/每周)自动获取并汇总订阅的Github仓库最新动态
- 订阅管理
- 更新获取
- 通知系统
- 报告生成
- 新增交互式命令行界面 (REPL)
- 实现添加、删除和列出订阅的命令
- 实现即时更新获取命令
- 新增帮助命令显示使用说明
- 优化命令行参数解析逻辑
- 启动时显示帮助信息
- 修复与命令执行和错误处理相关的问题
你来设计项目的代码架构,先给出整体的框架性代码,再逐步细化。使用python编写
- 使用SQLite存储订阅列表和github项目信息最新动态
- 实现订阅更新逻辑,使用github api拉取最新提交
--
- CLI使用交互式命令行方式
实现v0.2功能
- 新增每日进度模块以抓取问题、拉取请求和提交
- 集成 OpenAI Python SDK 用于 GPT-4 API 调用,支持使用环境变量设置自定义模型调用url
- 增强报告生成模块,使用 GPT-4 从 Markdown 文件创建日常项目报告
- 优化命令行界面,改进命令处理和帮助显示
修改程序
- 将获取到的github仓库更新也存储到SQLite
- 获取仓库更新时,格式化打印出仓库更新的详细内容
实现v0.3功能
- 优化信息收集:只展示合并的 PR 和关闭的 Issue
- 增加基于用户定义日期范围的报告导出和生成功能
- 集成 Logoru 日志系统,支持持久化不同级别的日志。
- 集成Ollama API调用,可以在环境变量中配置Ollama的url和模型
- 支持在环境变量中设置使用OpenAI还是Ollama进行报告生成
实现v0.4功能
- 新增多模式运行:支持Web方式提供服务
- Gradio 图形化界面:使用 Gradio 启动 Web 应用,提供用户友好的订阅管理和报告生成界面
- 增加中文注释:为项目的其他模块增加了中文注释,提高了代码的可读性和可维护性,便于中文开发者和用户使用。
实现v0.5功能
- Gradio 图形化界面:提供用户友好的更新获取界面
- 日志记录:在每个环节关键位置和模块间交互的位置记录详细日志,以便发现和修复问题。
- 日志优化:日志输出全面汉化。同时,每次守护进程启动单独生成一份日志,便于查看和分析问题。
- 界面优化:给Web服务添加一个Logo,并优化布局和字体
- 界面优化:添加订阅和取消操作成功后清空对应仓库输入框
- 界面优化:报告生成和取消订阅仓库路径输入框支持下拉选择已经订阅的仓库