What do you want to change?
task_update 渲染结果时,如果计划和上次相比没有结构变化,只出一行摘要就行。
现在每次 task_update 都会出完整的一份:
Updated Plan (1/5)
└ ✔ 搭建项目骨架
□ 实现记账代理
□ 写 CLI 入口
紧接着又一次 update,同样四条再来一遍,只是 □ 变成 ◧。任务被更新 N 次,对话流里就有 N 份几乎一样的清单。
Why?
长任务里模型会频繁更新任务状态,每更新一次就多一份完整计划往上堆,真正的对话内容被挤下去,往回翻很累。
代码在 packages/coding-agent/src/features/step-tasks-render.ts 的renderTaskResult。同文件的 renderTaskCall 未展开时返回空 Container(),但 renderTaskResult 没有对应折叠,每次都用Updated Plan (${completed}/${plan.length}) 加 ✔/◧/□ 全量渲染。
Version: 0.1.1
How? (optional)
两个方向,哪个好改就来哪个:
- plan 与上次渲染无结构变化时只输出一行,比如 Updated Plan (2/5) — 开始「实现记账代理」,完整计划展开时才显示
- 或者连续渲染之间做 diff,只高亮本次变化的行
我看 packages/tui/src/components 里没有 task panel 这类持久组件,固定面板成本应该比较高,所以只提了上面这种小改法。
What do you want to change?
task_update 渲染结果时,如果计划和上次相比没有结构变化,只出一行摘要就行。
现在每次 task_update 都会出完整的一份:
Updated Plan (1/5)
└ ✔ 搭建项目骨架
□ 实现记账代理
□ 写 CLI 入口
紧接着又一次 update,同样四条再来一遍,只是 □ 变成 ◧。任务被更新 N 次,对话流里就有 N 份几乎一样的清单。
Why?
长任务里模型会频繁更新任务状态,每更新一次就多一份完整计划往上堆,真正的对话内容被挤下去,往回翻很累。
代码在 packages/coding-agent/src/features/step-tasks-render.ts 的renderTaskResult。同文件的 renderTaskCall 未展开时返回空 Container(),但 renderTaskResult 没有对应折叠,每次都用Updated Plan (${completed}/${plan.length}) 加 ✔/◧/□ 全量渲染。
Version: 0.1.1
How? (optional)
两个方向,哪个好改就来哪个:
我看 packages/tui/src/components 里没有 task panel 这类持久组件,固定面板成本应该比较高,所以只提了上面这种小改法。