一个基于 AI 的 Git 提交信息生成 CLI。它会读取已暂存的 diff(或 amend 模式下的对比差异),调用远程模型生成符合 Conventional Commits 的中文提交信息,并支持一键复制与确认提交。
- 从暂存区生成提交信息,避免无关改动污染。
- 交互式选择普通提交或
--amend。 - diff 过大时自动截断并提示。
- 可选自动
git add支持的源码文件类型。 - 生成结果自动复制到剪贴板。
cargo build- 暂存变更:
git add .- 设置环境变量(示例):
export TOOL_BASE_URL="https://your-api-host/v1/chat/completions"
export TOOL_MODEL_NAME="your-model"
export TOOL_API_KEY="your-key"- 运行:
cargo run- 按提示选择提交方式并确认(双击 Enter 触发提交)。
- 只读取暂存区文件;若暂存区为空,会提示并可选择自动
git add已支持的文件类型。 - amend 模式下会基于上一次提交生成对比(若无历史提交则使用
--root)。 - 生成的提交信息符合 Conventional Commits,主题为中文动词开头,必要时包含简短正文列表。
默认支持:.py, .rs, .js, .ts, .go, .cpp, .c, toml, lua, nu。可在 src/config.rs 中调整。
- 如果 AI 无返回或请求失败,请检查
TOOL_BASE_URL是否为可用的 SSE 接口,以及网络/密钥配置。 - 若 diff 太大导致截断,请考虑拆分提交或减少暂存文件。
根据项目需要补充(当前未声明)