Skip to content

[Feature] Image 工具结果显示在自动折叠的"活动区",回复结束后图片不可见 #805

Description

@dkhonker

Affected area

Desktop UI (agent-gui / React)

Problem statement (what should this solve)

Affected area

Desktop UI (agent-gui / React)

Problem statement (what should this solve)

调用内置 Image 工具展示图片时,图片被渲染在可折叠的"工作/活动区"(AssistantWorkTrace)里。当模型随后输出最终的文本答案并结束回合时,该区域会自动折叠一次collapseAfterAnswer),图片随折叠区一起被收起。用户看到的只是标题栏里一行"活动"文字,图片"消失"了,必须手动点击该行展开才能看到图片。

这与直觉不符:用户明确要求"显示这张图片",但回复结束后的默认状态里图片不可见,容易被误认为是显示失败。

源码定位:

  • crates/agent-ui/src/components/chat/assistant-bubble/RoundContent.tsxblock.kind === "tool" 分支渲染 NativeDisplayImageBlockgetNativeDisplayImagePayload),图片属于 layout.work(工作区);随后:

    <AssistantWorkTrace
      ...
      collapseAfterAnswer={layout.answer.length > 0}   // 有文字总结即自动折叠
    >
  • crates/agent-ui/src/components/chat/AssistantWorkTrace.tsx — 回合完成时自动收起:

    // 有总结文案时,回合完成(running 变 false)后自动折叠"处理中"区块一次
    useEffect(() => {
      if (!running && !attentionRequired && collapseAfterAnswer) setExpanded(false);
    }, [...]);
  • crates/agent-ui/src/components/Markdown.tsximg: MarkdownImageFallback,正文中的 Markdown 图片被降级为纯文本,因此也没有"在正文用 Markdown 显示图片"的绕行方案。

受影响场景:所有通过 Image 工具向用户展示图片的对话(如查看本地/远程图片、截图预览等),只要回复带有总结文本,图片在回复完成后即默认隐藏。

Proposed behavior

Proposed behavior

希望图片在回复结束后保持可见。可选实现方向(按优先级):

  1. 图片渲染进正文区(answer 区域):把 Image 工具的显示结果(display_image payload)从"工作区折叠块"提升为回复正文的一部分,默认展开可见;或
  2. 折叠时不隐藏图片AssistantWorkTrace 自动折叠仅收起工具调用明细,图片块保持在外部可见;或
  3. 提供设置项:增加"回复结束后自动折叠活动区"开关(默认关或默认开由取舍决定)。

Estimated change scope

No response

Alternatives considered

No response

Pre-submit checklist

  • I searched existing issues and pull requests and found no duplicates.
  • This proposal is focused on a single feature or improvement.
  • I understand a PR should come after this issue is confirmed by maintainers, otherwise it will be converted to draft.

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

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions