Skip to content

[bug] 会话未完成的时候,不应该在ai回复卡片显示复制按钮 tools #160

Description

@Tioit-Wang
Image

问题

会话 / 当前回合尚未结束时,AI 回复卡片就已经出现复制按钮(及同类 tools 动作)。此时内容仍在流式生成,或主代理正在 Waiting for N subagents,复制到的是半成品。

复现

  1. 触发一个会派发子代理的长回合。
  2. 主代理进入等待(状态条:Waiting for 3 subagents,底部仍为停止按钮)。
  3. 观察 AI 回复卡片 / 片段下方的操作区。

实际表现

  • 会话 isActive / 消息 streaming 时,只要 content 非空,复制按钮就会渲染。
  • fork / retry 已按 complete!isActive && !hasError && hasContent)门控,复制没有同等约束。
  • 半截回复上的复制按钮容易误导用户“这段已经写完了”。

期望

复制按钮与 fork / retry 一样,仅在回合完成后出现;进行中隐藏(或至少禁用)。适用范围:

  • AssistantTurn 的 message-actions(ChatTranscript.tsxCopyButton text={content}
  • 其它在 running 状态下提前露出的复制 / 导出 tools 动作

相关实现线索

  • 回合动作区:AssistantTurnapps/desktop/src/components/ChatTranscript.tsx
    • complete = !isActive && !hasError && Boolean(content) && Boolean(actionMessage)
    • 复制:{content ? <CopyButton … /> : null} — 未使用 complete
    • fork / retry:{complete ? <button …> : null}
  • 行级 MessageRow 的复制同样未按 isRunning 隐藏

验收

  • isActive / streaming / 等待子代理时不显示(或禁用)AI 回复复制按钮
  • 回合完成后复制按钮正常出现且可复制完整内容
  • fork / retry 行为不回归
  • 用户消息的复制 / 编辑 / 删除不受此改动影响(按现有 isRunning 规则)

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions