fix: 消除会话列表解析阻塞并按需加载工具详情

This commit is contained in:
shiyue
2026-10-19 10:58:22 +08:00
parent fb2c3360c9
commit 99cc807f4b
35 changed files with 1468 additions and 214 deletions

View File

@@ -0,0 +1,20 @@
# 修复 ccweb_display_image 图片展示失败
## 需求
用户截图中会话 0bb322b1-e9f8-47e7-9af1-970411bfec5a 连续八张图片均显示“图片渲染失败”。定位并修复现有显示链路,使已保存图片在刷新后正常显示,并给后续调用提供相同行为。
## 已确认原因
真实存档 tool.result 是 MCP CallToolResult 的 JSON:`{content:[{type:'text',text:'业务 JSON'}],structuredContent:{ok:true,image,attachment},_meta:null}`。当前前端只解析一层 JSON 后直接检查 payload.ok,因此把成功的 MCP 包装结果识别为失败。服务端业务结果确实 ready。
## 实现边界
- 在前端正确解析直接业务结果与 MCP structuredContent / content 文本形式。
- 保留明确的业务错误消息、等待状态和异常格式兜底。
- 使用实际历史结果形状补充行为回归,包括已有图片附件和直链图片。
- 不修改用户历史数据,不改协议,不重新生成图片。
- 保留工作区中已经存在的文件浏览器图片画廊改动;改动前核对 git diff。
## 验收
- 截图中八个已有成功结果可以解析得到正确 attachment。
- 渲染组件进入图片预览分支,不再显示误报失败。
- 错误响应与不合法结果不被误报成功。
- 必要测试通过;运行服务能提供新静态文件,若需要重启必须先查其他运行对话。