Files
aicommits/README.md

7.0 KiB
Raw Blame History

AI Commits

AI Commits

一个使用 AI 为您编写 git 提交消息的 CLI 工具。再也不用手写提交消息了。

当前版本

设置

支持的最低 Node.js 版本是最新的 v14。使用 node --version 检查您的 Node.js 版本。

  1. 安装 aicommits

    npm install -g aicommits
    
  2. OpenAI 获取您的 API 密钥

    注意:如果您还没有账户,您需要创建一个账户并设置计费。

  3. 设置密钥以便 aicommits 可以使用它:

    aicommits config set OPENAI_KEY=<your token>
    

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

升级

使用以下命令检查已安装的版本:

aicommits --version

如果它不是最新版本,请运行:

npm update -g aicommits

使用方法

CLI 模式

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

git add <files...>
aicommits

aicommits 会将未知标志传递给 git commit,因此您可以传入 commit 标志

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

aicommits --all # 或 -a

👉 提示: 如果 aicommits 对您来说太长,可以使用 aic 别名。

生成多个建议

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

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

警告:这会使用更多的令牌,意味着成本更高。

生成约定式提交

如果您想生成约定式提交,可以使用 --type 标志,后跟 conventional。这将提示 aicommits 根据约定式提交规范格式化提交消息:

aicommits --type conventional # 或 -t conventional

如果您的项目遵循约定式提交标准,或者您使用依赖此提交格式的工具,此功能会很有用。

Git 钩子

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

安装

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

aicommits hook install

卸载

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

aicommits hook uninstall

使用方法

  1. 暂存您的文件并提交:

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

    如果您想自己编写消息而不是生成消息,可以简单地传入一个:git commit -m "My message"

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

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

配置

读取配置值

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

aicommits config get <key>

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

aicommits config get OPENAI_KEY

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

aicommits config get OPENAI_KEY generate

设置配置值

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

aicommits config set <key>=<value>

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

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

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

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

选项

OPENAI_KEY

必需

OpenAI API 密钥。您可以从 OpenAI API 密钥页面 检索它。

locale

默认值:en

用于生成提交消息的语言环境。请参阅以下列表中的代码:https://wikipedia.org/wiki/List_of_ISO_639-1_codes

generate

默认值:1

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

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

proxy

设置用于请求的 HTTP/HTTPS 代理。

要清除代理选项,您可以使用命令(注意等号后的空值):

aicommits config set proxy=

model

默认值:gpt-3.5-turbo

要使用的聊天完成(/v1/chat/completions)模型。请参阅 OpenAI 文档中可用模型的列表。

提示:如果您有权限,尝试升级到 gpt-4 以获得更高级的代码分析。它可以处理双倍的输入大小,但成本更高。请访问 OpenAI 的网站了解更多信息。

timeout

向 OpenAI API 发出网络请求的超时时间(以毫秒为单位)。

默认值:1000010 秒)

aicommits config set timeout=20000 # 20s

max-length

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

默认值:50

aicommits config set max-length=100

type

默认值:""(空字符串)

要生成的提交消息类型。将其设置为 "conventional" 以生成遵循约定式提交规范的提交消息:

aicommits config set type=conventional

您可以通过将其设置为空字符串来清除此选项:

aicommits config set type=

baseURL

默认值:https://api.openai.com

用于设置 OpenAI API 的基础 URL。如果您使用的是 OpenAI 的代理服务或其他兼容的 API 端点,可以通过此选项进行配置:

aicommits config set baseURL=https://your-proxy-url.com

这对于使用自定义 API 端点或代理服务的用户非常有用。

工作原理

这个 CLI 工具运行 git diff 来获取您所有的最新代码更改,将它们发送到 OpenAI 的 GPT-3然后返回 AI 生成的提交消息。

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

维护者

贡献

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