该README由AI生成。
这是一个自动化工具,用于生成用户在GitHub上的每日代码提交报告。该工具会在指定时间(默认每天上午9点)自动查询指定GitHub用户前一天的所有代码提交,然后使用OpenAI API生成一份详细的日报。
- 自动获取指定GitHub用户的所有仓库
- 筛选指定时间范围内的提交记录
- 使用OpenAI对每个仓库的提交进行智能总结
- 生成结构化的Markdown格式日报
- 支持定时自动运行
- Python 3.8+
- 克隆代码库
git clone https://github.com/z5882852/git-commit-daily-report.git
cd git-commit-daily-report- 安装依赖
pip install -r requirements.txt- 配置环境变量
复制示例环境文件并编辑:
cp .env.example .env编辑.env文件,填入以下信息:
- GitHub个人访问令牌 (GITHUB_TOKEN)
- GitHub用户名 (GITHUB_USERNAME)
- OpenAI API密钥 (OPENAI_API_KEY)
- 其他可选设置
运行以下命令启动自动任务,将在配置的时间(默认每天9:00)生成报告:
python main.py如果需要立即生成报告,可以编辑.env文件,修复以下内容:
GENERATE_ON_START=true然后运行:
python main.py在.env文件中可以配置以下选项:
GITHUB_TOKEN: GitHub个人访问令牌GITHUB_USERNAME: GitHub用户名GITHUB_ORG: GitHub组织名称,多个组织可用逗号分隔OPENAI_API_KEY: OpenAI API密钥OPENAI_BASE_URL: OpenAI API基础URL (默认: https://api.openai.com/v1)OPENAI_MODEL: 使用的OpenAI模型 (默认: gpt-3.5-turbo)REPORT_TIME: 每日生成报告的时间 (默认: 09:00)GENERATE_ON_START: 启动程序时立即生成报告 (默认: false)HTTP_PROXY: HTTP代理设置(如有需要)HTTPS_PROXY: HTTPS代理设置(如有需要)TIMEZONE: 时区设置 (默认: Asia/Shanghai)
生成的报告为Markdown格式,包含以下内容:
- 日期概览
- 总体提交统计
- 按仓库分类的代码提交总结
- 每个仓库的详细提交记录
- 提交SHA
- 提交时间
- 提交消息
- 更改统计
可以通过修改 utils/promot.py 来自定义报告生成的提示内容,以满足不同的需求。
- 确保GitHub令牌有足够的权限读取仓库信息
- 设置适当的OpenAI API使用限制
- 生成的报告将保存在
reports目录中 (可配置)
本工具支持插件系统,可以通过插件扩展报告生成后的处理功能。插件位于 plugins/ 目录下,每个插件都是一个独立的 Python 模块。
要创建一个新插件,只需在 plugins/ 目录下创建一个新的 .py 文件,并实现 run(report) 函数。该函数接收报告内容作为字符串参数,并可以返回修改后的报告内容。
插件示例:
def run(report):
"""
插件入口函数
Args:
report (str): 原始报告内容
Returns:
str: 修改后的报告内容
"""
# 在报告末尾添加签名
return report + "\n\n---\n*由示例插件生成*"系统自带以下示例插件:
环境变量配置:
OUTPUT_FOLDER: 报告输出目录 (默认: reports)