Skip to content

Release v0.13.0

原子拆分提交 - 智能多文件变更分组

新增 --split 模式,通过 LLM 分析自动将暂存变更分组为多个逻辑原子提交。同时包含 LLM Provider 接口重构和错误处理增强。

新增

原子拆分提交模式

  • 新增 gcop-rs commit --split,通过 LLM 将暂存文件分组为逻辑原子提交
  • 交互式菜单:全部接受 / TOML 编辑器编辑 / 重新生成 / 带反馈重新生成 / 退出
  • 部分失败恢复:已完成的提交保留,剩余文件重新暂存
  • 支持配置 [commit] split = true 或 CLI --split 参数

Split 专用错误类型

  • SplitCommitPartial:部分失败时报告已完成/总分组数,含恢复指引
  • SplitParseFailed:处理 LLM 返回的无效 JSON 响应,含重试建议

国际化

  • 新增 21 条 i18n 字符串,覆盖 split commit UI、错误和建议(en + zh-CN)

变更

LLM Provider 接口重构

  • 新增 send_prompt(system, user, progress) 作为核心 trait 方法
  • Provider 实现只需关注 send_prompt,高层 API(generate_commit_message 等)提供默认实现
  • 调用者可控制 prompt 构建,为 split commit 的自定义 prompt 格式提供支持

CLI 参数结构重组

  • CommitArgsCommitOptions 重构,新增 from_cli() 构造方法
  • 所有命令选项结构体风格统一

依赖更新

  • clap 升级至 4.5.59
  • toml 升级至 1.0
  • reqwest 新增 system-proxy feature,自动支持系统代理
  • MSRV 降至 1.88.0

代码质量

  • 代码注释统一为英文
  • README 中英文全面重写

升级

bash
# Homebrew
brew upgrade gcop-rs

# Cargo
cargo install gcop-rs

# pip
pip install --upgrade gcop-rs