Skip to content

task_update 每次全量重渲染整份计划,对话流里堆了 N 份一样的清单 #194

Description

@Zi-Yi-Ming

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)

两个方向,哪个好改就来哪个:

  1. plan 与上次渲染无结构变化时只输出一行,比如 Updated Plan (2/5) — 开始「实现记账代理」,完整计划展开时才显示
  2. 或者连续渲染之间做 diff,只高亮本次变化的行

我看 packages/tui/src/components 里没有 task panel 这类持久组件,固定面板成本应该比较高,所以只提了上面这种小改法。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions