Files
cc-web/.trellis/tasks/10-17-display-image-render-failure/prd.md

21 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 修复 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。
- 渲染组件进入图片预览分支,不再显示误报失败。
- 错误响应与不合法结果不被误报成功。
- 必要测试通过;运行服务能提供新静态文件,若需要重启必须先查其他运行对话。