已开启
[Bug]: 对话中间的本轮产物列表在 Run 未结束时就出现 #83
yuheng_wang创建于  27 天前
yuheng_wang
yuheng_wang
27 天前 创建

Checklist

🐞 问题详细描述

对话列中间的「本轮产物 / 工作区当前文件」列表会在 Run 仍在进行时 提前出现。这与 #60 已确认的设计不符:正在运行的 Run 应只接收产物事件、终态后再展示列表。右侧 Workspace 产物目录随声明即时更新是合理的,不在本缺陷范围内。

复现

  1. 新开一个 Session,发送会长时间运行、并在结束前写出 json/csv/md 的任务(例如先 write_file / declare_artifact,再继续跑后续步骤)。
  2. 观察对话列(中间栏),不要只看右侧 Workspace。

实际结果

Run 尚未 completed / failed / cancelled / interrupted 时,对话列已经出现产物/当前文件列表。第一轮尤其明显:列表被挂在时间线后的 tail 槽位。若上一轮已结束、本轮仍在跑,新写出的预览文件还会挂到上一轮的列表下面。

期望结果

每一轮对话的内联产物列表只在该轮顶层 Run 进入终态后出现。右侧项目级 Artifacts 面板可以继续即时刷新。

原因

#60 的 anchorArtifactOutputs() 仍会跳过非终态 Run。回归来自 48fbdb5a(feat(web): simplify process records and organize workspace sections):把未声明的工作区预览文件塞进了同一个 ConversationArtifactList,并在对话流尾部无条件渲染。未终态 Run 的已声明路径还不在 registeredPaths 里,于是 json/csv/md 等文件以「当前文件」提前出现在中间栏。

相关代码:

  • apps/web/src/session/ConversationArtifactList.tsx
  • apps/web/src/App.tsx 中 currentPreviewFiles / renderConversationOutputs("tail")
  • 设计:docs/zh/explanation/conversation-inline-artifacts-design.md 第 2、4.1 节

详细的环境信息描述

  • 产品:ScienceDiscovery Web UI(会话对话列 + 右侧 Workspace)
  • 浏览器访问本机或 SSH 转发后的控制面(例如 http://127.0.0.1:<SCIENCE_AGENT_PORT>/)
  • 不依赖特定模型;任意会在 Run 结束前写出可预览工作区文件的会话即可复现
  • 操作系统:Windows 客户端 + Linux 部署主机均可观察到

其他辅助信息

建议修复:Run 仍为 running / blocked 时,不要把工作区预览文件送进对话列列表;终态后再与该轮「本轮产物」一起展示。右侧面板保持现状。

版本信息

  • 功能合入:9fea66b8 feat: show artifacts below completed runs(#60)
  • 回归合入:48fbdb5a feat(web): simplify process records and organize workspace sections(2026-09-11)
  • 主仓 main 在上述提交之后的当前 HEAD 仍可复现
likedislike
yuheng_wangyuheng_wang
27 天前 添加了label:bug
openJiuwen-bot成员
27 天前 评论:

欢迎来到 openJiuwen 社区

Hey @yuheng_wang , 感谢你对社区的贡献.

机器人使用手册

有关指令的使用,可以点击 此处 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。

likedislike