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-msgGit 钩子。 - 可自定义 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 验证(在企业代理后非常有用)。
快速开始 / 一般工作流
- 配置 API 密钥 – 例如 OpenAI:
该工具还支持通过 API 密钥助手 命令动态获取密钥(与密码管理器或云密钥存储集成时非常有用)。export OPENAI_API_KEY=sk-xxxxxxx # 或通过 CLI 存储 codegpt config set openai.api_key sk-xxxxxxx - 安装 Git 钩子(每个仓库只需一次):
codegpt hook install # 创建 .git/hooks/prepare-commit-msg - 正常提交 – 当你运行
git commit时,钩子会调用 CodeGPT,它会:- 对已暂存的更改运行
git diff, - 将 diff 发送到选定的 LLM,
- 接收格式为 Conventional-Commit 的消息,并插入提交编辑器中。
- 对已暂存的更改运行
- 可选代码审查 – 运行:
以获取变更的简要摘要。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 工作流中,自动完成提交消息生成和简短代码审查,同时提供广泛的配置选项(多种提供者、代理支持、动态凭证助手、自定义提示)。
相关
- 项目
- 项目
- 项目
- 项目
- 项目