# AutoCommit **Repository Path**: D0302tingForever/auto-commit ## Basic Information - **Project Name**: AutoCommit - **Description**: 🚀 自动生成 Git 提交信息,告别手写烦恼。 🔍 智能代码审查,提供优化建议,提升代码质量。 📊 基于提交记录,一键生成周报月报,轻松掌握项目进展。 🤖 AI 驱动,高效省心,助你专注核心开发。 💡 为什么选择 AutoCommit? 智能化:AI 加持,开发更轻松。 自动化:减少重复劳动,提升效率。 可视化:清晰报告,项目进展一目了然。 🌟 立即体验,开启高效开发之旅! - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2025-01-09 - **Last Updated**: 2025-04-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AutoCommit - 智能开发助手 ![image-20250120170608785](https://gitee.com/D0302tingForever/img-bed/raw/master/img/auto-commit/img_20250121101253.png) 🚀 **AutoCommit** 是一个基于 AI 的智能开发工具,旨在帮助开发者自动生成 Git 提交信息、审查代码质量,并根据提交记录生成周报和月报。无论是个人项目还是团队协作,AutoCommit 都能让你的开发流程更高效、更规范。 --- ## ✨ 功能亮点 1. **自动生成 Git 提交信息** - 基于 Git 变更差异,调用 AI 模型生成清晰、规范的提交信息。 2. **智能代码审查** - 自动分析代码质量,提供详细的优化建议,助你写出更优雅的代码。 3. **周报月报生成** - 根据过去一周或一个月的提交记录,自动生成详细的开发报告,轻松掌握项目进展。 4. **友好的 GUI 界面** - 提供直观的图形用户界面,支持选择 Git 仓库路径、查看提交日志、回滚提交等操作。 5. **配置管理** - 支持配置 AI 参数(如 API Key、Base URL 和 Model),并将配置保存到 `config.yaml` 文件中。 6. **打包支持** - 支持将程序打包成 `exe` 文件,方便分发和使用。 --- ## 🛠️ 安装步骤 ### 1. 克隆项目 ```bash git clone https://github.com/yourusername/AutoCommit.git cd AutoCommit ``` ### 2. 配置 Python 环境 #### 方式一:使用 Conda(推荐) ```bash # 创建名为 autocommit 的新环境,使用 Python 3.9 conda create -n autocommit python=3.10.9 # 激活环境 conda activate autocommit # 安装依赖包 pip install -r requirements.txt ``` #### 方式二:直接使用 pip 确保已安装 Python 3.7 或更高版本,然后运行以下命令安装依赖: ```bash pip install -r requirements.txt ``` // ... 其余内容保持不变 ... --- ## 🚀 使用方法 ### 1. 运行程序 在项目根目录下运行以下命令启动 GUI 程序: ```bash python autocommit_gui.py ``` ### 2. 配置 AI 参数 首次运行时,程序会提示用户配置 AI 参数(如 API Key、Base URL 和 Model)。用户可以通过“设置”菜单项进行配置。 ### 3. 选择 Git 仓库路径 ![image-20250120170608785](https://gitee.com/D0302tingForever/img-bed/raw/master/img/auto-commit/image-20250120170608785.png) 在 GUI 界面中,点击“浏览”按钮选择 Git 仓库路径。 ### 4. 生成提交信息 ![image-20250120170831492](https://gitee.com/D0302tingForever/img-bed/raw/master/img/auto-commit/image-20250120170831492.png) 点击“分析变更”按钮,程序会分析 Git 仓库的变更并生成提交信息。 ### 5. 提交变更 ![image-20250120170858635](https://gitee.com/D0302tingForever/img-bed/raw/master/img/auto-commit/image-20250120170858635.png) 点击“提交变更”按钮,将生成的提交信息提交到远程仓库。 ### 6. 查看提交日志 点击“查看提交日志”按钮,查看 Git 仓库的提交历史。 ### 7. 生成周报月报(功能待开发) 点击“生成报告”按钮,选择时间范围(一周或一个月),程序会自动生成开发报告。 --- ## ⚙️ 配置文件 程序的配置文件为 `config.yaml`,包含以下字段: ```yaml api_key: sk-xxxxx #替换成自己的api key base_url: https://api.deepseek.com commit_format: ' 【提交人】: 【版本号】: 【提交类型】: 【提交描述】: 1.xxxxxxxxxxxxxxxx 2.xxxxxxxxxxxxxxxx 【修改内容】: 【修改文件】: ' commit_standard: "build:涉及构建相关的改动(如升级 npm 包、修改 webpack 配置等\n chore:构建过程或辅助工具的变更\n\ ci:持续集成相关的改动 docs:文档相关的变更\n feat:新增特性或功能\n fix:bug 修复 perf:性能相关改动 \nrefactor:重构相关(非\ \ bug、非新功能)\n revert:回滚 \ncommit style:代码风格的调整,如格式化、空格等\n test:测试相关,包括新增测试或者更改已有测试" committer: djs current_version: 1.0.7 logging: disable_existing_loggers: false formatters: error: format: '%(asctime)s %(name)s %(levelname)s %(filename)s::%(funcName)s[%(lineno)d]:%(message)s' simple: datefmt: '%Y-%m-%d %H:%M:%S' format: '%(asctime)s %(message)s' handlers: console: class: logging.StreamHandler formatter: simple level: INFO stream: ext://sys.stdout error_file_handler: backupCount: 20 class: logging.handlers.RotatingFileHandler encoding: utf8 filename: error.log formatter: error level: ERROR maxBytes: 10485760 info_file_handler: backupCount: 20 class: logging.handlers.RotatingFileHandler encoding: utf8 filename: info.log formatter: simple level: INFO maxBytes: 10485760 model: deepseek-chat ``` 首次运行时,如果 `config.yaml` 文件不存在,会从config-template.yaml拷贝自动生成 --- ## 📦 打包成 EXE ### 1. 安装 PyInstaller ```bash pip install pyinstaller ``` ### 2. 打包程序 在项目根目录下运行以下命令: ```bash pyinstaller --onefile --windowed --icon=./assets/app.ico --add-data "config-template.yaml;." autocommit_gui.py ``` ### 3. 找到生成的 EXE 文件 打包完成后,生成的 `exe` 文件会位于 `dist` 目录中。 --- ## 📊 示例 ### 生成提交信息 ```markdown 【提交人】:djs 【版本号】:1.0.5 【提交类型】:feat 【提交描述】:新增功能,保存并加载上次选择的 Git 仓库路径 【修改内容】: 1. 在 `autocommit_gui.py` 中实现了保存和加载上次选择的 Git 仓库路径的逻辑,确保用户在多次使用时无需重复选择路径。 2. 在 `configuration.py` 中新增了 `last_repo_path` 配置项,用于持久化存储用户上次选择的仓库路径,提升用户体验。 【修改文件】: 1. autocommit_gui.py 2. configuration.py ``` --- ## 🤝 贡献 欢迎提交 Issue 和 Pull Request 来改进本项目! 如果你有任何建议或想法,请随时联系我们。 --- ## 📜 许可证 本项目基于 MIT 许可证开源。详情请参阅 [LICENSE](LICENSE) 文件。 --- ## 📞 联系方式 如有问题或建议,请联系: - 邮箱:1106359626@qq.com