assistant.controller.ts
3.29 KB
-
fix(assistant): 工具报错终止 loading + callId 精确匹配 + 生成中指示 · 6ce494ae
三个交互问题: 1. 工具 execute 抛错(如模型传错 patientId)时,AI SDK 发的是 tool-error 分片, 而 controller 只处理了 tool-result → 前端该步骤永远停在 running(右侧转圈不停)。 现转发 tool_error → 前端标记 status='error'(显示"出错"),loading 终止。 2. 事件带 toolCallId,前端 findToolIdx 优先按 callId 匹配(退化到"最后一个 running"), 并行/多工具调用不再串位。 3. 加"生成中…"指示(GeneratingHint):流式中且最后一块不是增长的文字时显示—— 覆盖"工具已返回、artifact 整段 HTML 还在生成"的空档,避免界面看起来卡住。 验证:强制假 patientId → tool_call 与 tool_error 同 callId,步骤正确收尾。两端 tsc 0。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
luoqi committed