AI Git Helper:一键生成智能Commit
AI Git Helper用 AI 自动生成 Commit Message 的桌面工具一个用 Python CustomTkinter 开发的桌面应用集成 OpenAI 兼容 API支持 GitHub/Gitee/SVNAI 分析代码变更自动生成 commit message。写在前面写代码的时候git commit -m fix stuff这种事大家都干过。但好的 commit message 其实很难写——要简洁、准确、带前缀feat/fix/refactor还要符合团队规范。于是我做了一个工具AI Git Helper。它的核心思路很简单把代码变更丢给 AI让它帮你写 commit message。再加上一些顺手的功能比如一键创建远程仓库、SVN 支持、命令行双模式。开源地址zb_com/ai-git-helper功能一览 AI 生成 Commit Message可视化选择文件 → 一键让 AI 分析 diff → 自动生成 commit message。支持自定义 AI 配置API Key、Base URL、模型、语言兼容 OpenAI 格式的任意大模型服务。️ AI 创建远程仓库AI 分析项目文件建议仓库名称 自动生成仓库描述一键创建 GitHub/Gitee 仓库并推送。 多平台支持Git完整的 git 操作提交、推送、历史查看SVNsubversion 支持GitHub仓库创建/管理/API 集成Gitee码云集成️ 图形界面基于 CustomTkinter 的暗色主题桌面应用无需记任何 git 命令。技术栈层面技术选型GUI 框架CustomTkinter暗色主题、现代控件Git 操作GitPythonSVN 操作subprocess 调用 svn 命令AI 集成OpenAI Python SDK兼容任意 OpenAI-format API配置管理PyYAML 环境变量打包PyInstaller → 独立 exe命令行Click Rich架构设计项目结构ai-git-helper/ ├── src/ │ ├── app.py # 入口 │ ├── ai_engine.py # AI 引擎commit message 生成 │ ├── cli.py # CLI 入口Click │ ├── config.py # 配置管理 │ ├── gui/ # GUI 模块 │ │ ├── main_window.py # 主窗口 侧边栏导航 │ │ ├── commit_page.py # 智能提交页 │ │ ├── history_page.py # 提交历史页 │ │ ├── repo_page.py # 仓库管理页 │ │ ├── settings_page.py# 设置页 │ │ └── theme.py # 主题配色 │ ├── platforms/ # 平台集成 │ │ ├── github.py # GitHub API 客户端 │ │ └── gitee.py # Gitee API 客户端 │ └── vcs/ # 版本控制系统 │ ├── git_handler.py # Git 操作封装 │ └── svn_handler.py # SVN 操作封装 ├── dist/ # PyInstaller 打包产物 ├── build.py # 打包脚本 └── pyproject.toml # 项目配置AI 引擎核心逻辑defgenerate_commit_message(diff_text:str,file_list:list[str],language:strzh)-str:根据 git diff 内容用 AI 生成 commit message。promptf你是一个专业的代码审查助手。根据以下代码变更生成一条简洁明了的 Git commit message。 要求 1. 第一行为简短摘要不超过 72 字符 2. 如有必要空一行后补充详细说明 3. 使用常见的 commit 前缀feat/fix/docs/refactor/chore/test 4. 请用中文回复 变更的文件列表{chr(10).join(file_list)}代码差异 (diff){diff_text[:8000]}responseclient.chat.completions.create(modelmodel,messages[{role:system,content:你是一个专业的 Git commit message 生成助手。},{role:user,content:prompt},],temperature0.3,max_tokens500,)关键点temperature0.3降低创造性保证输出稳定diff 截断到 8000 字符控制 token 成本同时覆盖大部分变更场景支持 think 标签清理处理某些模型输出think.../think包裹的内容多 AI Profile 支持# ~/.ai-git-helper/config.yamlai:active:defaultprofiles:default:api_key:sk-xxxbase_url:https://api.openai.com/v1model:gpt-4olanguage:zhdeepseek:api_key:sk-xxxbase_url:https://api.deepseek.com/v1model:deepseek-chatlanguage:zhminimax:api_key:sk-xxxbase_url:https://api.minimaxi.com/v1model:MiniMax-M2.7language:zh任意兼容 OpenAI API 格式的服务都能用——OpenAI、DeepSeek、MiniMax、本地部署的 vLLM/Ollama 都行。使用方式方式一直接运行 exe推荐双击dist/AI-Git-Helper.exe即可启动无需安装 Python。方式二从源码运行pipinstall-e.python run.py方式三命令行# 初始化仓库agh init /path/to/project# AI 智能提交agh commit /path/to/project# 创建远程仓库agh create--platformgitee /path/to/project# 查看仓库状态agh status /path/to/project打包为 exepipinstallpyinstaller python build.py生成的AI-Git-Helper.exe在dist/目录下可以复制到任意 Windows 机器运行无需安装 Python。踩坑记录1. PyInstaller --windowed 模式下 stdout 为 None打包成 exe 后sys.stdout可能是None导致编码错误。修复方式ifsys.stdoutisNone:sys.stdoutio.TextIOWrapper(open(os.devnull,wb),encodingutf-8)ifsys.stderrisNone:sys.stderrio.TextIOWrapper(open(os.devnull,wb),encodingutf-8)2. Windows 控制台中文乱码os.environ.setdefault(PYTHONIOENCODING,utf-8)3. AI 返回 None 的处理某些模型在 diff 为空时会返回content: None需要加防御性检查ifraw_contentisNone:logger.error([AI] API 返回 content 为 None!)return4. CustomTkinter 暗色主题CustomTkinter 的暗色主题比 tkinter 原生好看太多但要注意fg_color和text_color的对比度避免文字看不清。后续计划支持更多 VCSMercurialCommit message 模板自定义多语言 commit message 切换macOS/Linux 原生打包插件系统自定义 AI prompt 模板结语这个工具的初衷很简单让写 commit message 这件事不再痛苦。如果你也经常对着git commit -m fix感到愧疚试试 AI Git Helper。配置好 API Key选几个文件点一下按钮——好的 commit message 就出来了。项目完全开源欢迎 Star、Fork、提 Issue。开源地址https://gitee.com/zb_com/ai-git-helper许可证MIT

相关新闻

如何高效下载B站视频:BiliDownloader完整实战指南

如何高效下载B站视频:BiliDownloader完整实战指南

如何高效下载B站视频:BiliDownloader完整实战指南 【免费下载链接】BiliDownloader BiliDownloader是一款界面精简,操作简单且高速下载的b站下载器 项目地址: https://gitcode.com/gh_mirrors/bi/BiliDownloader BiliDownloader是一款界面简洁、操…

2026/7/1 9:33:30阅读更多 →
Windows 11安卓子系统终极指南:免费安装与使用完整教程

Windows 11安卓子系统终极指南:免费安装与使用完整教程

Windows 11安卓子系统终极指南:免费安装与使用完整教程 【免费下载链接】WSA Developer-related issues and feature requests for Windows Subsystem for Android 项目地址: https://gitcode.com/gh_mirrors/ws/WSA 想在Windows 11电脑上无缝运行安卓应用吗…

2026/7/1 9:33:30阅读更多 →
限时解密:某独角兽公司内部AI编程工具链架构图(含RAG增强层、代码知识图谱构建逻辑与审计日志拦截机制)

限时解密:某独角兽公司内部AI编程工具链架构图(含RAG增强层、代码知识图谱构建逻辑与审计日志拦截机制)

更多请点击: https://kaifayun.com 第一章:限时解密:某独角兽公司内部AI编程工具链架构图(含RAG增强层、代码知识图谱构建逻辑与审计日志拦截机制) 该工具链以开发者意图理解为起点,通过多模态输入解析器统…

2026/7/1 9:33:30阅读更多 →
WechatBakTool:创新解决方案实现微信聊天记录安全备份

WechatBakTool:创新解决方案实现微信聊天记录安全备份

WechatBakTool:创新解决方案实现微信聊天记录安全备份 【免费下载链接】WechatBakTool 基于C#的微信PC版聊天记录备份工具,提供图形界面,解密微信数据库并导出聊天记录。 项目地址: https://gitcode.com/gh_mirrors/we/WechatBakTool …

2026/7/1 10:43:41阅读更多 →
2026Word压缩大小到5M方法汇总图片字体对象压缩详细教程

2026Word压缩大小到5M方法汇总图片字体对象压缩详细教程

日常办公中,2026年各类线上平台、办公系统对Word文档的上传大小普遍限制在5M以内,很多排版精良、带图片和特殊字体的文档,常常出现体积超标无法提交的情况。Word文档体积过大的核心原因集中在高清内嵌图片、冗余隐藏数据、嵌入特殊字体、多余…

2026/7/1 10:43:41阅读更多 →
gstack:把 Claude Code 变成一支完整工程团队

gstack:把 Claude Code 变成一支完整工程团队

文章目录gstack:把 Claude Code 变成一支完整工程团队gstack 到底是什么安装只要三十秒实际用起来是什么感觉并行冲刺设计能力安全和浏览器值不值得试gstack:把 Claude Code 变成一支完整工程团队 Andrej Karpathy 说过一句话:他从 2025 年 …

2026/7/1 10:43:41阅读更多 →
3个桌面分区技巧,让你的Windows工作空间瞬间清爽

3个桌面分区技巧,让你的Windows工作空间瞬间清爽

3个桌面分区技巧,让你的Windows工作空间瞬间清爽 【免费下载链接】NoFences 🚧 Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences 你是否曾经面对过这样的场景:早上打开电脑&#xff0…

2026/7/1 10:43:41阅读更多 →
iOS应用自动化安全审计:开源工具iOSSecAudit核心功能与实战指南

iOS应用自动化安全审计:开源工具iOSSecAudit核心功能与实战指南

1. 项目概述与核心价值最近在跟几个做移动安全的朋友聊天,发现一个挺有意思的现象:很多团队在搞iOS应用安全审计时,要么是纯手工“黑盒”测试,效率低且覆盖面窄;要么就是依赖一些商业化的重型扫描器,成本高…

2026/7/1 10:43:41阅读更多 →
深度解析pk3DS:打造专属宝可梦3DS游戏的终极编辑器

深度解析pk3DS:打造专属宝可梦3DS游戏的终极编辑器

深度解析pk3DS:打造专属宝可梦3DS游戏的终极编辑器 【免费下载链接】pk3DS Pokmon (3DS) ROM Editor & Randomizer 项目地址: https://gitcode.com/gh_mirrors/pk/pk3DS 你是否曾想过,如果训练师的队伍不再千篇一律会怎样?如果每个…

2026/7/1 10:38:38阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/7/1 4:42:14阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/7/1 5:19:01阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/1 0:01:44阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/1 0:01:44阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/1 0:01:44阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/1 0:01:44阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/1 0:01:44阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/1 0:01:44阅读更多 →