Skip to content

Release v0.13.3

UI 重构 - 自定义 Spinner 渲染循环 + 流式输出代码围栏清理

使用 console crate 替换基于 indicatif 的 spinner,实现终端宽度感知的自定义渲染循环。同时修复流式输出中的代码围栏残留和周统计条形图对齐问题。

变更

Spinner 重写

  • 用自定义异步渲染循环(tokio::spawn)替换 indicatif spinner
  • 通过 console::truncate_str() 实现终端宽度感知的消息截断
  • 正确计算 reflow 场景(终端调整大小)下的物理行数
  • 基于 ANSI 转义序列的 finish/drop 清理,消除残留输出
  • 新增依赖:console 0.16

发布流程

  • 重新排列 CI 发布任务顺序:Homebrew tap 更新现在等待 publish-release 完成后再执行,确保资源可用

修复

流式输出代码围栏清理

  • LLM 生成的代码围栏(```)在流式输出期间被打印后,现在会在生成完成时被擦除并替换为清理后的消息
  • 新增 StreamingOutput::redisplay_if_cleaned() 使用 ANSI 转义序列擦除原始输出并重新显示干净版本
  • 新增 6 个单元测试覆盖行擦除计算和重新显示行为

周统计条形图对齐

  • 修复 stats 周视图中条形图未对齐的问题:通过显式 padding 计算实现条形和数字的正确对齐

升级

bash
# Homebrew
brew upgrade gcop-rs

# Cargo
cargo install gcop-rs

# pip
pip install --upgrade gcop-rs