[Bug]: 思考流式输出完成后行首展开标记消失,无法回读思考内容
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 52/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- react, typescript
- Área
- desktop-dev, frontend
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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)的模型。该问题出在显示层的条目结构与停靠逻辑,与具体模型或供应商无关(显示代码不读取模型字段)
- Lenguaje dominante
- Rust
- Estrellas
- 2.3k
- Forks
- 236
- Merge medio
- 13 h 23 min
- PR fusionados (30 d)
- 333
Preparar el entorno
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de GCWing/OpenBitFun
-
[Feature]: 模型服务表单缺少「图像生成」分类入口 —— 后端已支持 default_models.image_generationPosiblemente ocupada @skyfireitdiy la tomó hace 19 días. Abierto
Dificultad 2/5 Medio día Aptitud para principiantes 74/100
GCWing/OpenBitFun#3279 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 8/100
GCWing/OpenBitFun#3724 ·
Los mantenedores suelen responder en 1 día
-
[Bug]: 创建待办时在双屏显示异常Posiblemente ocupada @kev1n77 la tomó hace 1 día. Abierto
GCWing/OpenBitFun#3718 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
[Feature]: 对于长shell ,不用反复轮询Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
GCWing/OpenBitFun#3702 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 40/100
GCWing/OpenBitFun#3700 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de GCWing/OpenBitFun
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
qingjian-team/qingjian#901 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
longbridge/gpui-kit#3795 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 2 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
Los mantenedores suelen responder en 1 día