[Bug]: 思考流式输出完成后行首展开标记消失,无法回读思考内容
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 52/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- react, typescript
- Ambito
- desktop-dev, frontend
Direzione di ricerca
Start with the collapseIntoNext prop passed at ModelThinkingDisplay.tsx:234, then follow how ThinkingBlock.tsx uses wantsDock and docked (lines 86-88) and the data-thinking-attachment attribute (line 110) to see when the marker is dropped after the stream ends. Reproduce by enabling reasoning, sending a message that triggers thinking, and waiting for the turn to finish. Done means the collapsed thinking block keeps a clickable expand/collapse marker beside its successor, as it did in 1.0.6.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
在助理会话开启思考(reasoning)模式后,思考块在流式输出期间于行首显示一个小标记,可以点击展开和关闭。但一旦这一轮流式输出完成、思考结束,这个行首标记就彻底消失了——不是折叠成一行摘要,是整个标记不见。此时想回读「模型为什么这么决定、排除了哪些方案以及原因」进行学习时,界面上没有找到可见入口,思考内容没有可见选项了。对依赖阅读推理过程来学习的用户(例如通过追问「为什么排除某个方案」来建立理解),思考不可见会使模型输出退化为黑箱——只能选择接受或不接受结论,而无法审视得出结论的过程。
期望恢复 1.0.6 的行为:思考完成后行首标记依然保留且可点击,点击后能展开/关闭该轮思考的完整内容。折叠可以是默认态,但入口不应消失。
这是一个回归而非设计取舍,依据有三:
ModelThinkingDisplay.tsx顶部的设计注释从 1.0.5 到 1.0.8 一字未改,原文是 "Completion folds that same viewport without enlarging it"——折叠的前提是视口仍在、可被展开,而不是把入口移除。ThinkingBlock.tsxL117-148 无条件渲染该标记,并挂有aria-expanded/aria-controls(L129-130)。不存在任何以「完成后移除思考入口」为意图的代码路径。- 1.0.6 中该标记在完成后存在且可交互;1.0.7 / 1.0.8 中消失,而同期设计注释未变。
Area
Desktop app
Reproduction or evidence
复现步骤:
- 使用任意开启思考(reasoning)的模型
- 发送一条会触发思考的消息
- 流式输出过程中:行首出现思考标记,点击可展开 / 关闭
- 等待该轮完全结束(正文输出完毕、工具调用全部返回)
- 观察:行首思考标记消失,整块思考无任何可见入口
代码层定位(建议从这里入手):
已确认的开关是 collapseIntoNext,它为真时思考块从独立的一行「停靠」到后继块旁边,行首标记随之消失:
ModelThinkingDisplay.tsx:234
collapseIntoNext={(!isLastItem || successorReady) && (!forceExpanded || isActive)}
ThinkingBlock.tsx:86-88
const wantsDock = collapseIntoNext && !expanded && !visuallyStreaming;
const docked = wantsDock && hasContinuation;
ThinkingBlock.tsx:110
data-thinking-attachment={collapseIntoNext ? (docked ? 'side' : 'block') : undefined}
停靠机制本身是合理设计(ThinkingBlock 为它写了一整组 props),但停靠应当产出一个依附在后继块旁边的胶囊,而不是一个空。若实际看到的是完全没有任何标记,说明停靠后的可见性出了问题。
已排除:显示组件卸载(ThinkingBlock 无条件渲染该标记)、条目被可见性过滤(flowItemVisibility.ts 不处理 thinking 类型)、分组合并(activityClassification.ts 两版对 thinking 命中均为 0)
量化影响: 在我自己的一个工作会话中,思考内容量约为正文的一半,约占总输出的三分之一。这部分在流式结束后无法回读实际上是一种损失。
Environment, if relevant
- 版本:1.0.8
- 1.0.7 疑似同样存在该问题;1.0.6 正常
- OS:Windows 11 家庭版 25H2 x64
- 形态:桌面端
- 界面语言:简中
- 模型 / 供应商:任意开启思考(reasoning)的模型。该问题出在显示层的条目结构与停靠逻辑,与具体模型或供应商无关(显示代码不读取模型字段)
- Lingua principale
- Rust
- Stelle
- 2.3k
- Fork
- 236
- Merge medio
- 13h 23m
- PR unite (30g)
- 333
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di GCWing/OpenBitFun
-
[Feature]: 模型服务表单缺少「图像生成」分类入口 —— 后端已支持 default_models.image_generationForse già presa @skyfireitdiy l’ha presa 19 giorni fa. Aperta
Difficoltà 2/5 Mezza giornata Idoneità per principianti 74/100
GCWing/OpenBitFun#3279 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 8/100
GCWing/OpenBitFun#3724 ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: 创建待办时在双屏显示异常Forse già presa @kev1n77 l’ha presa oggi. Aperta
GCWing/OpenBitFun#3718 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
[Feature]: 对于长shell ,不用反复轮询Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
GCWing/OpenBitFun#3702 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 40/100
GCWing/OpenBitFun#3700 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di GCWing/OpenBitFun
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
riverqueue/river#1576 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
stadelmanma/fitparse-rs#64 ·