OpenAI `gpt-4o-mini` 模型 「默认」
让 AI 生成你的 git commit 提交信息简短描述

快速体验
利用 npx 填入 Token ,并在你的任何项目中运行下列命令进行体验
OpenAI API Token 获取: https://platform.openai.com/account/api-keys
sh
CZ_OPENAI_API_KEY="sk-xxxxx" npx czg aiCZ_OPENAI_API_KEY="sk-xxxxx" npx czg aish
CZ_OPENAI_API_KEY="sk-xxxxx" bunx czg aiCZ_OPENAI_API_KEY="sk-xxxxx" bunx czg ai配置 OpenAI token
- https://platform.openai.com/account/api-keys
登陆并创建你的 OpenAI API 密钥,通常以sk-开头 - 运行命令
npx czg --api-key=<API secret key>填入 OpenAI API 密钥完成设置
sh
npx czg --api-key=sk-xxxxx
# 如果你在需要进行 socks5 或 http proxy 代理请求,可以添加选项 `--api-proxy` 进行代理配置
# npx czg --api-proxy="http://127.0.0.1:1080"
# 如果想要使用自定义托管的 OpenAI API 服务,可以设置 API 请求的 endpoint
# npx czg --api-endpoint="https://xxxxx.deno.dev/v1"npx czg --api-key=sk-xxxxx
# 如果你在需要进行 socks5 或 http proxy 代理请求,可以添加选项 `--api-proxy` 进行代理配置
# npx czg --api-proxy="http://127.0.0.1:1080"
# 如果想要使用自定义托管的 OpenAI API 服务,可以设置 API 请求的 endpoint
# npx czg --api-endpoint="https://xxxxx.deno.dev/v1"sh
bunx czg --api-key=sk-xxxxx
# 如果你在需要进行 socks5 或 http proxy 代理请求,可以添加选项 `--api-proxy` 进行代理配置
# bunx czg --api-proxy="http://127.0.0.1:1080"
# 如果想要使用自定义托管的 OpenAI API 服务,可以设置 API 请求的 endpoint
# bunx czg --api-endpoint="https://xxxxx.deno.dev/v1"bunx czg --api-key=sk-xxxxx
# 如果你在需要进行 socks5 或 http proxy 代理请求,可以添加选项 `--api-proxy` 进行代理配置
# bunx czg --api-proxy="http://127.0.0.1:1080"
# 如果想要使用自定义托管的 OpenAI API 服务,可以设置 API 请求的 endpoint
# bunx czg --api-endpoint="https://xxxxx.deno.dev/v1"sh
czg --api-key=sk-xxxxx
# 如果你在需要进行 socks5 或 http proxy 代理请求,可以添加选项 `--api-proxy` 进行代理配置
# czg --api-proxy="http://127.0.0.1:1080"
# 如果想要使用自定义托管的 OpenAI API 服务,可以设置 API 请求的 endpoint
# czg --api-endpoint="https://xxxxx.deno.dev/v1"czg --api-key=sk-xxxxx
# 如果你在需要进行 socks5 或 http proxy 代理请求,可以添加选项 `--api-proxy` 进行代理配置
# czg --api-proxy="http://127.0.0.1:1080"
# 如果想要使用自定义托管的 OpenAI API 服务,可以设置 API 请求的 endpoint
# czg --api-endpoint="https://xxxxx.deno.dev/v1"GitHub Models 配置方式
- 加入 GitHub Models 候补名单
- 获取 GitHub personal access tokens
- 在 Models Marketplace 中选择你想要使用的模型,获取模型名称 (点击右上角 Get started 按钮,查看信息)
- 运行命令进行配置sh
npx czg --api-key="ghp_xxxxxx" --api-endpoint="https://models.inference.ai.azure.com" --api-model="gpt-4o-mini"npx czg --api-key="ghp_xxxxxx" --api-endpoint="https://models.inference.ai.azure.com" --api-model="gpt-4o-mini"
Ollama 配置方式
- 安装 Ollama 并启动服务
- 选择并拉取模型sh
# 以 gemma2 模型为例 ollama pull gemma2 # 确认模型是否拉取成功 ollama ls# 以 gemma2 模型为例 ollama pull gemma2 # 确认模型是否拉取成功 ollama ls - 运行命令进行配置sh
npx czg --api-key=" " --api-endpoint="http://localhost:11434/v1" --api-model="gemma2"npx czg --api-key=" " --api-endpoint="http://localhost:11434/v1" --api-model="gemma2"
全局使用
sh
npm install -g czgnpm install -g czgsh
brew install czgbrew install czgsh
# 设置token `czg --api-key=sk-xxxxx`
# 设置完token后,在你的任何项目中,运行下列命令
czg ai
# 返回多个简短描述,并开启选择模式
git czg ai -N=5# 设置token `czg --api-key=sk-xxxxx`
# 设置完token后,在你的任何项目中,运行下列命令
czg ai
# 返回多个简短描述,并开启选择模式
git czg ai -N=5作为项目依赖使用
sh
npm install -D czgnpm install -D czgsh
yarn add -D czgyarn add -D czgsh
pnpm install -D czgpnpm install -D czg- 在
package.json中添加script - 在设置完 token 后运行启动命令
npm cz ai|yarn cz ai|pnpm cz ai
json
{
"scripts": {
"cz": "czg"
}
}{
"scripts": {
"cz": "czg"
}
}npx 使用
- 在设置完 token 后,运行命令在你的任何项目中
sh
npx czg ainpx czg aish
bunx czg aibunx czg ai返回多个简短描述,并开启选择模式
sh
npx czg ai -N=5npx czg ai -N=5sh
bunx czg ai -N=5bunx czg ai -N=5Commitizen CLI + cz-git 使用
如果你当前使用 Commitizen CLI + cz-git 适配器
有三种方式配置 OpenAI API Key:
- 运行
czg进行配置:npx czg --api-key=sk-xxxxx - 使用环境变量传入并启动:
CZ_OPENAI_API_KEY="sk-xxxxx" czai=1 cz - 配置环境变量于 rc 文件之中:添加
export CZ_OPENAI_API_KEY="sk-xxxxx"于.zshrc或.bashrc
有两种方式进行启动:
- 使用环境变量传入
czai=1并启动:czai=1 cz - 配置文件中使用开启 AI 模式:
useAI: true
配置
- 国内用户如果无法访问 OpenAI API
可进行 proxy 代理设置后进行使用
或使用--api-proxy进行代理配置 - 如果你开启了配置
useAI,但是本次你不想使用 AI 模式,想切换为普通模式,可以运行命令- czg CLI:
czg --no-ai - Commitizen CLI + cz-git:
no_czai=1 cz
- czg CLI:
- 如果你想自定义配置发起 OpenAI 请求的描述信息,像支持本地化,可以使用配置项进行更改 aiQuestionCB,例如:
js
module.exports = {
aiQuestionCB: ({ maxSubjectLength, diff }) => `用完整句子为以下 Git diff 代码写一个有见解并简洁的 Git 中文提交消息,不加任何前缀,并且内容不能超过 ${maxSubjectLength} 个字符: \`\`\`diff\n${diff}\n\`\`\``,
}module.exports = {
aiQuestionCB: ({ maxSubjectLength, diff }) => `用完整句子为以下 Git diff 代码写一个有见解并简洁的 Git 中文提交消息,不加任何前缀,并且内容不能超过 ${maxSubjectLength} 个字符: \`\`\`diff\n${diff}\n\`\`\``,
}- 关于 AI 相关的配置信息 可查看 Options - AI Related
- 关于项目或全局配置文件信息 可查看 Configure Template
如何实现
- 运行 git diff 命令获取文件的差异,并结合描述信息,发送请求给 OpenAI API -
/v1/chat/completions,来获取 AI 生成的简短描述 - 💡 灵感来源 aicommits 并修改了部分代码
cz-git