Replies: 1 comment 1 reply
|
Good report — I verified the source exactly as you described, and this is the client-side view-assembly manifestation of the same non-unique tool-call-id root as #5732. Confirming the mechanism and mapping the fix surface. Source confirmation. The error comes from throw new Error(`conversation Context ${key} received more than one start Match`)The context key is Root cause = model-produced tool-call ids are not unique. Same as #5732 (which fails a strict provider) and #5413/#5247/#5268 in the same family. Here the failure surfaces on the view side because the assembler assumes Where the fix belongs (two candidate surfaces):
Realistically both are needed, but #1 is the right first move — it's the defensive layer that makes long-history replays robust to the data that already exists in the wild. #2 prevents the bad data going forward. I'd file #1 as a UI/assemble bug with #2 as the production-side root fix. I can draft the #1 fix (scope the Context key by step) and verify it against |
Uh oh!
There was an error while loading. Please reload this page.
中文摘要
长会话历史重放到 Web 对话/轨迹视图时,前端组装崩溃,对话流停在某个 step 后所有后续 turn 都不显示。原因是工具调用 ID(callId)在每个 step 内从 0 重新计数,跨 step 重复,ConversationNodeAssembler.acceptMatch 对同一 tool-call context 的第二个 start 抛 received more than one start Match,中断整个窗口的节点构建。与 #5732 同根因(tool call id 不唯一),但表现为客户端视图卡死而非 provider 400。
English
Reproduction
A 9-turn / 90-step session. Tool call ids restart from zero within each step, so the same id (e.g. ssh_exec:0) appears in two different steps (step 40 and step 42).
Replaying the session into the Chat or Trajectory view throws:
复制
conversation Context 9:tool-callssh_exec:0 received more than one start Match
The exception aborts replaceWindow: the flow stops at the offending step and every later turn (6–9) is missing, while session stats stay correct.
Root cause direction
Same as #5732: model-produced tool call ids are not unique. Here it breaks DSH's own view assembly instead of a strict provider. Not limited to Ollama — also reproduced with hcnsec/kimi (OpenAI-compatible).
All reactions