OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  AI Commits — 使用 AI 自动生成清晰的 Git 提交信息

AI Commits — 使用 AI 自动生成清晰的 Git 提交信息

 
  couple ·  2026-05-02 11:00:23 · 2 次点击  · 0 条评论  
AI Commits AI Commits

AI Commits

一个使用人工智能为你编写 Git 提交消息的命令行工具。从此无需再手动编写提交消息。

当前版本 下载量

安装与设置

最低支持的 Node.js 版本是 v22。请通过 node --version 检查你的 Node.js 版本。

  1. 安装 aicommits

sh npm install -g aicommits

  1. 运行设置命令以选择你的 AI 提供商:

sh aicommits setup

这将引导您完成以下步骤:

  • 选择您的 AI 提供商(设置 provider 配置项)
  • 配置您的 API 密钥
  • 自动获取并选择可用的模型(当支持时)
  • 选择您偏好的提交消息格式(普通、约定式或 gitmoji)

支持的提供商包括:

  • TogetherAI(推荐)— 从 TogetherAI 获取您的 API 密钥
  • OpenAI — 从 OpenAI API Keys 页面 获取您的 API 密钥
  • Groq — 从 Groq 控制台 获取您的 API 密钥
  • xAI — 从 xAI 控制台 获取您的 API 密钥
  • OpenRouter — 从 OpenRouter 获取您的 API 密钥
  • Ollama(本地)— 通过 Ollama 在本地运行 AI 模型
  • LM Studio(本地)— 无需 API 密钥。通过 LM Studio 在您的计算机上运行
  • 自定义 OpenAI 兼容端点 — 使用任何实现了 OpenAI API 的服务

对于 CI/CD 环境,您也可以通过配置文件进行设置:

aicommits config set OPENAI_API_KEY="your_api_key_here"
aicommits config set OPENAI_BASE_URL="your_api_endpoint"  # 可选,用于自定义端点
aicommits config set OPENAI_MODEL="your_model_choice"     # 可选,默认为提供商默认模型

注意: 使用环境变量时,请确保所有相关变量(例如 OPENAI_API_KEYOPENAI_BASE_URL)一致设置,以避免与配置文件中的配置不匹配。

这将在您的用户主目录下创建一个 .aicommits 文件。

升级

检查已安装的版本:

aicommits --version

要更新到最新版本,请运行:

aicommits update

这将自动检测您的包管理器(npm、pnpm、yarn 或 bun)并使用正确的命令进行更新。

或者,您可以手动更新:

npm install -g aicommits

使用方法

CLI 模式

您可以直接调用 aicommits 为暂存的更改生成提交消息:

git add <files...>
aicommits

aicommits 会将无法识别的标志传递给 git commit,因此您可以传递 commit 标志

例如,您可以在提交时自动暂存已跟踪文件中的所有更改:

aicommits --all # 或 -a

👉 提示: 如果您觉得 aicommits 太长,可以使用 aic 别名。

CLI 选项

  • --all-a:自动暂存已跟踪文件中的更改以进行提交(默认值:false
  • --clipboard-c:将选中的消息复制到剪贴板而不是提交(默认值:false
  • --generate-g:生成的消息数量(默认值:1
  • --exclude-x:从 AI 分析中排除的文件
  • --type-t:Git 提交消息格式(默认值:plain)。支持 plainconventionalgitmoji
  • --prompt-p:自定义提示以引导 LLM 的行为(例如,特定语言、风格指令)
  • --no-verify-n:提交时绕过 pre-commit 钩子(默认值:false
  • --yes-y:生成消息后提交时跳过确认(默认值:false

生成多个建议

有时推荐的提交消息不是最好的,因此您希望生成几个以供选择。您可以通过传递 --generate <i> 标志一次生成多个提交消息,其中 'i' 是生成的消息数量:

aicommits --generate <i> # 或 -g <i>

警告:这会消耗更多令牌,意味着成本更高。

提交消息格式

您可以从三种不同的提交消息格式中选择:

  • plain(默认):简单的、非结构化的提交消息
  • conventional约定式提交 格式,包含类型和作用域
  • gitmoji:基于表情符号的提交消息

使用 --type 标志指定格式:

aicommits --type conventional # 或 -t conventional
aicommits --type gitmoji       # 或 -t gitmoji
aicommits --type plain         # 或 -t plain(默认)

如果您的项目遵循特定的提交消息标准,或者您正在使用依赖这些提交格式的工具,此功能会很有用。

自定义提示

您可以使用 --prompt 标志自定义 LLM 的行为,以引导提交消息的生成:

# 用特定语言编写提交消息
aicommits -p "用意大利语写提交消息"

# 关注更改的特定方面
aicommits -p "关注更改的性能影响"

# 使用特定的风格或语气
aicommits -p "使用适合高级开发人员的技术术语"

# 在消息中包含特定细节
aicommits -p "始终提及更改的具体函数名和文件路径"

Git 钩子

您还可以通过 prepare-commit-msg 钩子将 aicommits 与 Git 集成。这使您可以像平常一样使用 Git,并在提交前编辑提交消息。

安装

在您想安装钩子的 Git 仓库中:

aicommits hook install

卸载

在您想卸载钩子的 Git 仓库中:

aicommits hook uninstall

使用方法

  1. 暂存文件并提交:

sh git add <files...> git commit # 仅在未传入消息时生成

如果您想编写自己的消息而不是生成,只需传入一个:git commit -m "我的消息"

  1. Aicommits 将为生成提交消息并将其传回给 Git。Git 会使用配置的编辑器 打开它,供您查看/编辑。

  2. 保存并关闭编辑器以提交!

环境变量

您还可以使用环境变量而不是配置文件来配置 aicommits。

示例:

export OPENAI_API_KEY="sk-..."
export OPENAI_BASE_URL="https://api.example.com"
export OPENAI_MODEL="gpt-4"
aicommits  # 使用环境变量

配置设置的解析遵循以下优先级顺序:

  1. 命令行参数
  2. 环境变量
  3. 配置文件
  4. 默认值

配置

查看当前配置

要查看所有与默认值不同的当前配置选项,请运行:

aicommits config

这将仅显示非默认的配置值,并且出于安全考虑,API 密钥会被掩码显示。如果没有设置自定义配置,则会显示“(使用所有默认值)”。

更改模型

要以交互方式选择或更改您的 AI 模型,请运行:

aicommits model

这将:

  • 显示您当前的提供商和模型
  • 从提供商的 API 获取可用模型
  • 让您从可用模型中选择或输入自定义模型名称
  • 自动更新您的配置

更新 aicommits

要更新到最新版本,请运行:

aicommits update

这将:

  • 在 npm 上检查最新版本
  • 检测您的包管理器(npm、pnpm、yarn 或 bun)
  • 使用适当的命令进行更新
  • 显示进度并在完成时确认

读取配置值

要检索配置选项,请使用命令:

aicommits config get <key>

例如,要检索 API 密钥,您可以使用:

aicommits config get OPENAI_API_KEY

您也可以通过用空格分隔来一次检索多个配置选项:

aicommits config get OPENAI_API_KEY generate

设置配置值

要设置配置选项,请使用命令:

aicommits config set <key>=<value>

例如,要设置 API 密钥,您可以使用:

aicommits config set OPENAI_API_KEY=<your-api-key>

您也可以通过用空格分隔来一次设置多个配置选项,例如:

aicommits config set OPENAI_API_KEY=<your-api-key> generate=3 locale=en

配置选项

OPENAI_API_KEY

您的 OpenAI API 密钥或自定义提供商的 API 密钥

OPENAI_BASE_URL

自定义 OpenAI 兼容的 API 端点 URL。

OPENAI_MODEL

用于 OpenAI 兼容提供商的模型。

provider

选定的 AI 提供商。在 aicommits setup 期间自动设置。有效值:openaitogetheraigroqxaiopenrouterollamalmstudiocustom

locale

默认值:en

用于生成提交消息的区域设置。请查阅 https://wikipedia.org/wiki/List_of_ISO_639-1_codes 中的代码列表。

generate

默认值:1

生成以供选择的提交消息数量。

注意,这将使用更多令牌,因为它会生成更多结果。

timeout

对 OpenAI API 的网络请求超时时间(毫秒)。

默认值:10000(10 秒)

aicommits config set timeout=20000 # 20秒

max-length

生成提交消息的最大字符长度。

默认值:72

aicommits config set max-length=100

type

默认值:plain

要生成的提交消息类型。可用选项:

  • plain:简单的、非结构化的提交消息
  • conventional:包含类型和作用域的约定式提交格式
  • gitmoji:基于表情符号的提交消息

示例:

aicommits config set type=conventional
aicommits config set type=gitmoji
aicommits config set type=plain

工作原理

此 CLI 工具运行 git diff 来获取您最新的所有代码更改,将更改发送到配置的 AI 提供商(默认为 TogetherAI),然后返回 AI 生成的提交消息。

视频即将推出,我将从头开始重建它,向您展示如何轻松构建由 AI 驱动的自己的 CLI 工具。

维护者

贡献

如果您想帮助修复 Issues 中的错误或实现功能,请查看贡献指南以了解如何设置和测试项目。

2 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 33 ms
Developed with Cursor