aic
v0.5.6

从 aicommits 切换

aicommits 替代方案:aic

aicommits 是公认的默认之选——为每个暂存的 diff 写一条信息,是久经验证的选择。如果你真正的问题是未暂存工作堆积、历史变得混乱,aic 正是为此而生的替代方案:它把你的改动拆成逻辑原子提交,并用逐文件审批的方式解决合并冲突。

为什么人们从 aicommits 切换

aicommits 为你暂存的内容写一条信息——但它无法把杂乱的暂存区拆成逻辑提交,也无法帮你解开合并。两者都会留下混杂关注点的提交和手工解决的冲突。

逐特性对比

能力 aic aicommits
把未暂存改动自动批处理成多个提交 是 —— 把未暂存改动拆成合乎逻辑的原子提交 否 —— 每个已暂存 diff 一条信息
把单个文件跨多个提交拆分(按 hunk) 是 —— 按意图把每个 hunk 路由到各自的提交 否 —— 最多到文件粒度
解决合并冲突 是 —— `aic resolve` 提出 diff,逐文件征询 否 —— 只有提交信息
一等支持 Anthropic · Gemini · DeepSeek 是 —— 原生供应商 仅通过 OpenRouter / 自定义端点
运行时与依赖 Rust 可执行文件 —— 无需 Node.js Node.js v22+ — npm
供应商覆盖 11 个一等 + OpenAI 兼容 8 + OpenRouter/自定义(任意模型)
提交信息格式 Conventional Commits 普通 · 约定式 · gitmoji
Git 钩子集成 是 —— prepare-commit-msg 钩子
多个提交信息候选 是 —— `--generate N`
提示词与语言控制 通过环境变量设系统提示词 `--prompt`、locale、max-length
人气与生态 新、小 根深蒂固的先发者

安装 aic →

以下情况切换到 aic:

…你的未暂存工作堆积,希望被提交成干净、原子、约定式的提交——甚至在一个文件内——或者你希望不装 Node.js 就获得 AI 解决的合并冲突。

以下情况留在 aicommits:

…你依赖它的 `prepare-commit-msg` 钩子、想要 gitmoji 或纯文本格式、需要多条候选消息,或者只是想要最大社区带来的安心感。

如何切换

  1. 安装 aic: brew install CaicoLeung/aic/aic
  2. 一次性配置:运行 `aic setup`——供应商、密钥、模型,一个向导搞定
  3. 提交:暂存你的工作并运行 `aic`;aic 会自动分批未暂存的工作
aic 对比 aicommits ★ 在 GitHub 上加星