用途
GPTComet 是一个面向开发者的 AI 工具,用于简化 Git 工作流并提升代码质量,主要功能是自动生成 Git 提交信息以及对暂存区代码进行智能审查。它利用大语言模型来自动化重复性任务,改善整体开发流程。
主要能力
- 自动提交信息生成:根据代码变更内容自动生成 commit message。
- 智能代码审查:基于 AI 提供代码审查,并给出可操作的反馈与建议。
- 进度指示:可选的详细模式会为长时间运行的操作显示实时进度。
- 多语言支持:支持包括英语、中文等多种语言。
- 可定制配置:用户可以自定义配置,例如大语言模型和提示词。
- 支持富提交信息:提交信息可包含标题、摘要和详细描述。
- 多提供商支持:支持 OpenAI、Gemini、Claude/Anthropic、Vertex、Azure、Ollama 等提供商。
- 同时支持 SVN 与 Git 仓库。
使用方式
安装可通过 Homebrew、GitHub release 下载、安装脚本或 pip(pypi)进行。使用步骤如下:
- 安装 GPTComet(通过 pypi 安装)。
- 配置 GPTComet:设置 api_key 等必要配置,例如 provider(默认 openai)、api_base(默认 https://api.openai.com/v1)、api_key、model(默认 gpt-4o)。
- 运行 GPTComet:执行命令 gmsg commit。若使用 openai 提供商并已设置 api_key,可直接运行 gmsg commit。
配置方式有两种:
- 直接配置:在 ~/.config/gptcomet/gptcomet.yaml 中配置。
- 交互式设置:使用 gmsg newprovider 命令进行引导式设置。
主要命令包括:
- gmsg config:配置管理命令组,包含 get <key>、list、reset(可用 --prompt 仅重置提示词部分)、set <key> <value>、path、remove <key> [value](仅列表值)、append <key> <value>(仅列表值)、keys。
- gmsg commit:根据变更/diff 生成提交信息。支持参数 --svn、--dry-run、-y/--yes、--no-verify、--repo、--answer-path、--api-base、--api-key、--completion-path、--frequency-penalty、--max-tokens、--model、--provider、--proxy、--retries、--temperature、--top-p。
- gmsg newprovider:添加新提供商。
- gmsg review:审查暂存区的 diff,或通过管道传给 gmsg review。支持参数 --svn、--stream、--repo、--answer-path、--api-base、--api-key、--completion-path、--frequency-penalty、--max-tokens、--model、--provider、--proxy、--retries、--temperature、--top-p。
配置说明
配置文件为 gptcomet.yaml。主要配置键包括:
- output.translate_title:决定是否翻译提交信息标题。例如 output.lang: zh-cn 时,标题为 feat: Add new feature;若 output.translate_title 为 true,则翻译为 功能:新增功能;否则翻译为 feat: 新增功能。
- 某些情况下可将 completion_path 设为空字符串,如 <provider>.completion_path: "",以直接使用 api_base 端点。
- file_ignore:生成提交时忽略的文件,默认值可参考文档;可使用 gmsg config append file_ignore <xxx> 添加更多忽略项,语法与 gitignore 相同,如 *.so。
- provider:语言模型的提供商,默认 openai。若使用兼容 OpenAI 的接口,可将 provider 设为 openai,并自定义 api_base、api_key 和 model。例如 OpenRouter 可设置 provider 为 openai,api_base 为 https://openrouter.ai/api/v1;Silicon 类似,api_base 为 https://api.siliconflow.cn/v1。注意 max tokens 可能因模型而异,过大时会报错。
- output:提交信息的输出配置。可设置 rich_template 修改富提交信息模板,设置 lang 修改语言。支持的语言包括 zh-cn、zh-tw、vi、id、pt、lt、mk。
- Markdown 主题:支持 auto(默认,自动检测)、ascii、dark、dracula、light、tokyo-night、notty、pink。未设置时自动检测:浅色终端使用 dark 主题,深色终端使用 light 主题。GPTComet 使用 glamour 渲染 Markdown。
- console:控制台输出配置。verbose 为 true 时启用进度指示(如 [1/2] Fetching git diff... 等)、显示使用的提供商和模型、增强错误信息(包含清晰问题描述、具体解决建议、相关文档链接和表情符号标识)。verbose 为 false 时以静默模式运行,适合脚本和自动化工作流。 可使用 gmsg config keys 查看支持的键。
适用场景与限制
适用于希望自动生成规范提交信息、并借助 AI 进行代码审查的开发者,尤其适合需要多模型提供商、多语言输出、Git 或 SVN 工作流的团队。安装方式包括 Homebrew、GitHub release、安装脚本、pip。开发方面要求 Go 与 Python 环境,测试使用 pytest 等。项目基于 MIT License 开源。关于具体收费、价格、平台细节等,资料未明确提供。