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 – AI 驱动的提交消息与代码审查助手

是什么 – 用 Go 编写的命令行工具,与大语言模型 API(OpenAI、Azure OpenAI、Gemini、Anthropic、Ollama、Groq、OpenRouter、LiteLLM 代理)通信。它使用模型来:

  • 从当前的 git diff 生成符合 Conventional Commits 规范的提交消息。
  • 生成简短的代码审查摘要。
  • 将生成的文本翻译成英文、繁体中文、简体中文或日文。
  • 流式输出模型结果,实时显示生成的 token。

为何值得关注 – 编写良好的提交消息和快速进行代码审查检查是重复性工作。CodeGPT 通过调用 LLM 自动化这些任务,让你无需离开终端即可保持干净的提交历史。


主要功能(README 中列出)

  • 支持多种后端:OpenAI(gpt-4o、gpt-4、gpt-5)、Azure OpenAI、Gemini、Anthropic、Ollama、Groq、OpenRouter、LiteLLM 代理。
  • 生成符合 Conventional Commits 规范的消息。
  • 自动安装 prepare-commit-msg Git 钩子。
  • 可自定义 diff 上下文行数(默认 3 行)和文件排除模式。
  • 内置语言翻译功能(en、zh-tw、zh-cn、ja)。
  • 支持 SOCKS 或 HTTP 代理。
  • 生成简短的代码审查摘要。
  • 支持流式输出,实时显示 token。
  • 支持提示模板系统——你可以编辑用于提交、审查等的模板。

安装方式

平台 方法
macOS brew tap appleboy/tap && brew install codegpt
Windows choco install codegpt
Linux / 任意系统 运行提供的安装脚本(bash <(curl -sSL https://raw.githubusercontent.com/appleboy/CodeGPT/main/install.sh))或 从发布页面下载预编译二进制文件并放入 $HOME/.config/codegpt/bin(或任何在 $PATH 中的目录)。
从源码安装 go install github.com/appleboy/CodeGPT/cmd/codegpt@latest
VS Code devcontainer 在 devcontainer.json 中添加功能 ghcr.io/kvokka/features/codegpt:1。

脚本尊重两个环境变量:

  • VERSION – 选择特定版本。
  • INSECURE=1 – 跳过 SSL 验证(在企业代理后非常有用)。

快速开始 / 一般工作流

  1. 配置 API 密钥 – 例如 OpenAI:
    export OPENAI_API_KEY=sk-xxxxxxx   # 或通过 CLI 存储
    codegpt config set openai.api_key sk-xxxxxxx
    
    该工具还支持通过 API 密钥助手 命令动态获取密钥(与密码管理器或云密钥存储集成时非常有用)。
  2. 安装 Git 钩子(每个仓库只需一次):
    codegpt hook install   # 创建 .git/hooks/prepare-commit-msg
    
  3. 正常提交 – 当你运行 git commit 时,钩子会调用 CodeGPT,它会:
    • 对已暂存的更改运行 git diff,
    • 将 diff 发送到选定的 LLM,
    • 接收格式为 Conventional-Commit 的消息,并插入提交编辑器中。
  4. 可选代码审查 – 运行:
    codegpt review
    
    以获取变更的简要摘要。

配置亮点

  • 提供者选择 – openai.provider 可设置为 openai、azure、gemini、anthropic、litellm 等。
  • 模型选择 – openai.model 默认为 gpt-4o,但可指定任何被所选提供者支持的模型。
  • 代理设置 – openai.proxy(HTTP/HTTPS)或 openai.socks 用于 SOCKS5。
  • 提示文件夹 – 默认为 $HOME/.config/codegpt/prompt;可通过 codegpt config set prompt.folder /my/prompt 更改。
  • 动态密钥助手 – 将 openai.api_key_helper 设置为返回密钥的 shell 命令;结果将缓存 15 分钟(可配置)。
  • 输出语言 – output.lang(en、zh-tw、zh-cn、ja)。

示例命令

# 生成提交消息(CLI 模式,无钩子)
codegpt commit

# 审查暂存的变更
codegpt review

# 显示版本
codegpt version

谁会用它?

  • 已使用 Git 且希望在终端内获得 AI 辅助提交消息的开发者。
  • 强制使用 Conventional Commits 的团队,需要快速保持格式一致性的人员。
  • 任何希望获得轻量、可配置的 LLM 客户端以进行即时代码摘要的人。

许可与社区

仓库包含用于代码格式检查、测试、安全扫描和代码覆盖率的 CI 指示器,表明这是一个积极维护的开源项目。README 链接至一篇中文博客文章和一个 YouTube 演示视频,提供更多背景信息。


总结 – CodeGPT 是一个实用的 Go 基础 CLI,将 LLM 集成到 Git 工作流中,自动完成提交消息生成和简短代码审查,同时提供广泛的配置选项(多种提供者、代理支持、动态凭证助手、自定义提示)。

相关

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