这个项目能做什么

AI Commits 是一个命令行工具,它使用选定的 AI 提供商,根据您暂存的更改生成 Git 提交消息。它通过 npm 分发,需要 Node.js v22 或更高版本。 设置始于全局安装 (`npm install -g aicommits`),然后运行 `aicommits setup`,该命令会引导您完成提供商选择、API 密钥配置、模型选择和首选提交消息格式。支持的提供商包括 TogetherAI、OpenAI、Groq、xAI、OpenRouter、Ollama(本地)、LM Studio(本地)以及任何自定义的 OpenAI 兼容端点。配置也可以通过 `aicommits config set` 直接写入,用于 CI/CD。 典型用法是使用 `git add` 暂存文件,然后运行 `aicommits`。未知标志会转发给 `git commit`。值得注意的 CLI 选项包括:`--all` 用于暂存已跟踪的更改,`--clipboard` 用于复制消息而不是提交,`--generate` 用于生成多个候选消息,`--exclude` 用于从分析中排除文件,`--description` 用于添加正文,`--type` 用于选择格式,`--prompt` 用于自定义指令,`--no-verify` 用于绕过钩子,以及 `--yes` 用于跳过确认。工具还提供了 `aic` 别名。 提供五种提交消息格式:plain(纯文本)、conventional(常规)、conventional+body(常规+正文)、gitmoji 和 subject+body(主题+正文)。自定义提示可以引导语言、语气或焦点。可以通过 `aicommits hook install` 安装 `prepare-commit-msg` Git 钩子,这样正常的 `git commit` 调用将生成一条消息,并在您的编辑器中打开以供审查。 配置按以下顺序解析:命令行参数、环境变量、配置文件,然后是默认值。设置包括 OPENAI_API_KEY、OPENAI_BASE_URL、OPENAI_MODEL、provider(提供商)、locale(区域设置)、generate count(生成数量)、timeout(超时)、max-length(最大长度)和 type(类型)。`aicommits config`、`aicommits config get`、`aicommits config set`、`aicommits model` 和 `aicommits update` 等命令用于管理配置和升级。 该工具仅读取 Git 的暂存快照,因此未暂存的编辑不会发送给模型。README 中指出,生成多条消息会消耗更多 token,因此成本更高。