1.2 KiB
1.2 KiB
根因证据:大会话预览误读嵌套 cwd
现场
- 会话 ID:
bf88c202-711a-4f2f-b6e3-b29062f37b20 - 文件大小:909402 bytes
- 顶层
cwd:/mnt/e/华电众信/2026/上下游协同平台 - 预览误读
cwd:/mnt/e/我的项目/MCP/fineui-web-mcp - 第一个错误键来自
$.messages[28].toolCalls[39].input.arguments.cwd。
时序
- 刷新触发
sendSessionList()。 loadSessionMetaFromFile()因文件超过 512KB 进入预览分支。jsonStringFieldFromPreview()以正则命中任意层级第一个cwd。- 前端
session_list整批替换列表,显示错误项目。 - 点击后
handleLoadSession()完整解析 JSON,发送正确顶层cwd。 - 后续列表推送重复第 1—4 步,产生往返漂移。
推荐修复边界
只修服务端预览解析,让字段提取具备 JSON 顶层感知能力;不在前端掩盖错误数据。
必测预览边界
- 头部包含嵌套
cwd,尾部包含顶层正确cwd。 - 顶层字段跨头部或尾部预览截断边界时安全降级。
- 头尾片段拼接处不能组合出不存在的顶层键值。
- 专项回归目标:
session-preview-metadata。