appleboy/CodeGPT

A CLI written in Go language that writes git commit messages or do a code review brief for you using ChatGPT AI (gpt-4.1, gpt-4o model) and automatically installs a git prepare-commit-msg hook.

CodeGPT 是什么?

CodeGPT 是一个用 Go 编写的命令行工具,通过与大语言模型 API(OpenAI、Azure OpenAI、Gemini、Anthropic、Ollama、Groq、OpenRouter)通信,帮助开发者完成两个日常的 Git 任务:

  1. 生成提交消息 – 它读取你暂存变更的 git diff,将差异发送给选定的 LLM,并返回符合 Conventional Commits 格式的提交消息。该工具还可以安装 prepare-commit-msg Git 钩子,使得当你运行 git commit 时,AI 生成的消息会自动插入。
  2. 总结代码审查 – 它可以生成一个类似拉取请求风格的简短变更摘要。

两个功能均支持流式输出(令牌逐个生成并显示)、语言翻译(英文、繁体中文、简体中文、日文),以及自定义提示模板。


如何获取?

  • macOSbrew tap appleboy/tap && brew install codegpt
  • Windowschoco install codegpt
  • 任意系统 – 运行提供的安装脚本,或从 GitHub 发布页面下载预编译的二进制文件。
  • 从源码构建go install github.com/appleboy/CodeGPT/cmd/codegpt@latest
  • VS Code devcontainer – 在 devcontainer.json 中添加 ghcr.io/kvokka/features/codegpt 功能。

它是如何工作的?

  1. 配置 – 通过环境变量、.codegpt.yaml 文件或内置的 API 密钥助手 功能提供 API 密钥(或动态获取密钥的命令)。配置文件位于 $HOME/.config/codegpt/,可设置:
    • 提供商(openaiazuregeminianthropicollamagroqopenrouter
    • 基础 URL、模型名称、温度、最大令牌数、代理设置等。
    • Git 特定选项,如在差异中包含多少上下文行,以及要排除的文件。
  2. 运行 CLIcodegpt commit(或 codegpt review)读取差异,根据选定的模板构建提示,调用 LLM 端点,并打印结果。使用 --stream 标志可逐个查看响应令牌。
  3. Git 钩子codegpt hook install 会写入一个 prepare-commit-msg 脚本,自动调用 CLI,因此每次运行 git commit 时都会自动填充 AI 生成的消息。

哪些人会用到它?

  • 希望无需手动编写即可获得一致、符合规范的提交消息的开发者。
  • 需要快速、易读的代码变更摘要用于拉取请求描述或内部审查的团队。
  • 需要使用多个 LLM 提供商的人(例如,为合规性偏好 Azure OpenAI,或希望使用 Ollama 本地运行)——CodeGPT 将提供方抽象为单一 CLI。

它的局限性是什么?

  • 它只是一个 客户端;生成文本的质量完全取决于你所指向的底层模型。
  • 该工具需要互联网连接(或本地 Ollama 服务器)以及所选提供方的有效 API 密钥。
  • 它不执行任何静态分析或 linting;它只是将差异转发给模型。
  • Git 钩子会原样插入 AI 文本;你仍应在提交前审查消息。

快速入门示例

# 安装(macOS 示例)
brew tap appleboy/tap && brew install codegpt

# 导出你的 OpenAI 密钥(或通过 `codegpt config set` 配置)
export OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx

# 为暂存变更生成提交消息
codegpt commit

# 或安装钩子,使 `git commit` 自动执行
codegpt hook install

如何了解更多?


以上所有信息均直接来自项目的 README;未推断任何额外功能。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目