Repository navigation
Replies: 1 comment
|
你的定位方向是对的,而且我把它升级一个结论:这不是「期望行为之争」,是明确的 bug —— 因为仓库自己带一条断言「最终回答不得落在折叠区里」的回归测试,现状是违约。 1. ⭐ 决定性证据:仓库自己的反向断言
expect(view.getByText('final answer').closest('[hidden]')).toBeNull()「final answer 的祖先里不能有 2. 根因精确到一行
const processHidden = controllerInactive || (foldable && processMember && !processOpen)
const processAnswer = routedNode !== undefined
&& processWindowReady
&& !liveProcess
&& groupPart !== 'reasoning'
&& routedNode.kind === 'assistant-step'
&& routedNode.data.step === processSpec.answerStep⇒ 两个判定不互斥,而 3. 为什么流式下
|
Uh oh!
There was an error while loading. Please reload this page.
问题描述
在 DSH Desktop 的流式对话中,助手已经生成最终结论,但回合完成后默认折叠会把最终结论一起隐藏到“思考/过程”区域。展开折叠区域后才能看到结论,导致用户误以为本轮没有正式回答。
截图中可以看到:回答完成后,最终文本被归入可折叠的过程区域。
环境
@deepseek-ai/dsh0.2.0-rc.2deepseek-flash@deepseek-ai/dsh-client-ui-chat已排除因素
该问题出现在普通文本回答中,并不依赖
dsh-ui围栏。已检查
@changfenhuang/dsh-genui:它主要负责围栏校验、渲染反馈,以及 reasoning-only 回合重试;没有参与消息节点的processMember、processAnswer、processHidden折叠判定。因此目前判断问题来自 DSH 本体的聊天 UI,而不是 GenUI 插件。初步定位
在
@deepseek-ai/dsh-client-ui-chat/lib/client.js中:anchorSeq。answerAnchorSeq。processMember和processAnswer,完成后processHidden会随过程区域一起隐藏它。reasoning和response,因此可以按 response 边界修正分类。典型时序是:流式首片段序号为 10,最终结算序号为 20。同一回答节点保留
anchorSeq=10,但最终边界使用 20,导致最终 response 同时被认定为过程成员和最终回答。默认折叠完成回合时,最终结论会随过程节点隐藏。期望行为
完成回合折叠时只折叠 reasoning/过程内容;最终 assistant response 应始终保留在折叠区外并直接显示。
建议让
processMember与processAnswer互斥,并按最终 assistant reply block 或最终 response 节点计算回答边界。需要覆盖以下回归场景:目前这是基于静态代码分析和实际 UI 现象的定位,尚未修改本地安装包。
All reactions