dsh-thinking-block
DeepSeek Harness (dsh) Web 插件:把主对话里的 thinking(深度思考)消息从「一行快速闪烁」升级为
Cherry Studio 风格的思考块 —— 稳定头部(旋转图标 + 已思考 N 秒 + 稳定化单行预览)+
可展开的自动跟随滚动正文。
效果
| 状态 | 头部 | 正文 |
|---|
| 思考中 | 旋转图标 +「深度思考」+「思考中 / 已思考 N 秒」+ 稳定化单行预览 | 点击展开:完整流式文本,max-height 320px 滚动区,自动跟随底部 |
| 结束 | 思考图标 +「深度思考」+「已思考 N 秒」(冻结)+ 首行预览 | 同上(用户自行展开) |
关键机制(移植自 Cherry Studio ThinkingBlock):
- 稳定化单行预览:只提取最近一个完整句/行(
scanReasoningPreview),且每个预览片段
至少停留 1 秒(useMinimumDisplayDuration)——句子没写完预览不变,从根上消除逐 token 闪烁;
- 头部状态稳定:旋转图标、思考计时(tabular-nums 防宽度抖动)、预览都不再逐 token 重写;
- 滚动正文:展开后完整思考文本在限高滚动区内流式追加,节流自动滚动跟随尾部。
其余渲染(markdown 文本、图片、代码块、工具调用)与官方行为完全一致——插件通过
conversation.chat.node keyed slot 替换 assistant-step 渲染器,并复用 shell 内置的
dsh-client-ui-primitives / dsh-client-ui-attachment 组件。
一键安装
需要 pnpm 在 PATH 上(dsh plugin 依赖它)。
dsh plugin --profile web add @liuch0812/dsh-thinking-block
然后重启 dsh web,刷新页面即可生效。
卸载:
dsh plugin --profile web remove @liuch0812/dsh-thinking-block
源码
https://github.com/liuchang0812/dsh-thinking-block
License
MIT