# 需求工单:增强交互性 - 添加进度条显示 name: 增强交互性:添加进度条显示 description: | 当前工具在执行耗时操作(如初始化项目时生成多个文件、运行并行检查、自动修复循环)时,用户无法直观了解当前进度,导致等待体验不佳。 希望利用 `rich` 库的进度条功能,在以下关键步骤中显示实时进度,提升用户体验: 1. **初始化项目(init)**: - 在解析 `README.md` 生成 `design.json` 后,开始生成文件时,显示文件生成进度条。 - 进度条显示已生成文件数 / 总文件数,每个文件生成时显示当前文件名。 - 若实现并发生成,进度条应动态更新已完成任务数,并显示每个文件的生成状态(如排队中、生成中、完成、失败)。 2. **增强/修复模式(enhance/fix)**: - 在分析受影响文件、生成代码变更时,显示处理进度(例如分析中的文件数、当前补丁的名称,剩余补丁的数量,完成补丁的数量等等)。 - 在运行检查工具时(`run_parallel_checks`),显示检查工具运行的进度条(已完成检查的文件数 / 总文件数)。 - 在自动修复循环中,显示每次修复尝试的进度(如第几次重试、剩余错误数)。 3. **通用**: - 所有进度条应使用 `rich.progress` 实现,支持彩色输出,并能动态更新。 - 进度条应显示预计剩余时间(可选)。 - 错误信息应在进度条区域之外打印,避免干扰进度条显示(使用 `rich.console` 的 `print` 或日志集成)。 - 当操作完成时,进度条应自动消失或转为完成状态,并显示成功/失败统计。 需要修改的代码包括: - `cli.py`:主命令入口,控制整体流程,应在此处创建进度条上下文。 acceptance_criteria: - 执行 `llm-codegen init` 时,终端显示一个清晰的文件生成进度条,实时更新已完成文件数。 - 执行 `llm-codegen enhance` 或 `fix` 时,在分析、生成、检查、修复各阶段均有对应的进度条提示。 - 所有进度条样式美观,不会与日志输出混乱。 - 并发生成时,进度条能够准确反映整体进度,并能区分不同文件的状态(可选)。 - 当某个文件生成失败时,进度条仍能继续更新,最终汇总显示成功/失败数量。 - 进度条显示不会显著影响性能(更新频率合理)。 affected_files: - src/llm_codegen/cli.py