自动展开聊天里折叠的思考块,实时看清模型推理过程
29.2/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add basaltfold/dsh-auto-expand-thinking该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DSH Web 插件:自动展开 Chat 里折叠的「思考」块,任务跑到哪一步、模型在想什么,当场可见(无需手点)
README
由 DeepSeek 最新模型翻译生成dsh-auto-expand-thinking
DSH Web Chat 里的「思考」块默认合上:只看得到一行标题或首句,正文要手点才出来。
这个插件把折叠的思考块自动展开——任务跑到哪一步、模型在想什么,当场可见。
- 宿主:DeepSeek Harness 0.2.1-rc.2(本机实测版本),配置档 desktop
- 形态:宿主半 + 浏览器半(dsh.client.platform = "web"),零运行时依赖,零外部 import
- 全部代码:lib/client.js(约 400 行,纯 DOM + 一个 MutationObserver)+ lib/index.js(日志壳)
30 秒装上
git clone https://github.com/basaltfold/dsh-auto-expand-thinking
cd dsh-auto-expand-thinking
pwsh -File .\install.ps1
(也可以用 dshmarket / 插件页按本仓库地址装:dsh.install 已声明 tarball / zip / git 三种源。)
然后重启 DeepSeek Harness(插件在启动期组合,重启后才加载)。
展开完整文档(README 剩余 1 节)
dsh-auto-expand-thinking
DSH Web Chat 里的「思考」块默认合上:只看得到一行标题或首句,正文要手点才出来。
这个插件把折叠的思考块自动展开——任务跑到哪一步、模型在想什么,当场可见。
- 宿主:DeepSeek Harness 0.2.1-rc.2(本机实测版本),配置档 desktop
- 形态:宿主半 + 浏览器半(dsh.client.platform = "web"),零运行时依赖,零外部 import
- 全部代码:lib/client.js(约 400 行,纯 DOM + 一个 MutationObserver)+ lib/index.js(日志壳)
30 秒装上
git clone https://github.com/basaltfold/dsh-auto-expand-thinking
cd dsh-auto-expand-thinking
pwsh -File .\install.ps1
(也可以用 dshmarket / 插件页按本仓库地址装:dsh.install 已声明 tarball / zip / git 三种源。)
然后重启 DeepSeek Harness(插件在启动期组合,重启后才加载)。
卸载(带备份自动回滚):
pwsh -File .\uninstall.ps1
或直接还原某次备份: pwsh -File .\uninstall.ps1 -Restore 20261026-123732
只支持 Windows 的 install.ps1 是「落地到配置档」这一步;手动装法见下面「装了什么」,三步在任何平台上都能手做(建立 node_modules 联接 / 加 file: 依赖 / 加 bundles 项)。
控制
| 动作 | 效果 |
| Ctrl+Alt+T | 循环三档:总是展开 → 仅运行中展开 → 关闭(页面底部有 1.6s 提示) |
| __dshAutoExpandThinking.stats() | 当前档位 / 命中的点击策略 / 已展开数 / 放弃数 |
| __dshAutoExpandThinking.setMode('running') | 直接切档 |
| __dshAutoExpandThinking.debug(true) | 打开详细日志 |
档位写在本页 localStorage:
| 键 | 含义 |
| dsh-auto-expand-thinking:mode | always(默认)/ running / off |
| dsh-auto-expand-thinking:strategy | 自动探测到并记住的点击策略 |
| dsh-auto-expand-thinking:debug | 1 打开日志 |
三档语义:
- 总是展开(默认):所有思考块都展开;手动合上会被再次展开。
- 仅运行中展开:只展开正在流式输出的那条;已经结束的留给你自己决定——不想被「抢鼠标」就用这档。
- 关闭:完全不动,等同临时禁用。
为什么不能用 CSS 解决
DSH 的 ReasoningRow 只在「展开」状态才挂载正文节点:
const content = expanded
? jsx("div", { className: thinkBody, children: renderSlot("conversation.chat.reasoning.body", { text, running }) })
: undefined;
折叠时正文根本不在 DOM 里,并且根节点被固定成 height: calc(24px + …)。
所以 details[open]、max-height: none、[data-expanded] { height: auto } 这类样式 hack 拿到的都是空壳——没有节点可显示。
第三方插件也够不到那个开合状态:useDisclosure 由 Chat 节点的 slot 注入(conversation.chat.node 的 useDisclosure prop),reset 源不是可注入的服务,conversation.chat.reasoning.body 这个 slot 又只在已展开时才被调用。
结论:只能像用户那样去点它自己的开合控件。本插件做的就是这件事,并且每次点完都回读状态确认成功。
DOM 契约与点击策略
从本机已构建产物里还原(ReasoningRow 在 @deepseek-ai/dsh-client-ui-chat/lib/client.js;DisclosureRow 在 @deepseek-ai/dsh-web-frontend/dist/assets/index-*.js):
← 思考行根(本插件扫描的目标) ← DisclosureRow 根 ← 标题包装层,没有 onClick ← 真正的开合控件
{open && 正文}
要点:onClick 在 [data-disclosure-row] 上,不在 [data-disclosure-header] 上——点包装层不会展开。
点击目标不写死,按阶梯试:
1. [data-disclosure-row](当前发布版的真实控件)
2. button, [role="button"]
3. [data-disclosure-header]
4. 首个子元素
5. 行本身
每次点击后回读 data-expanded,成功才计数并把策略写进 localStorage;失败就试下一个。
所以发布版改了属性名时是「降级 + 自愈」,不是崩掉。
其它工程细节:
- 一次一帧最多展开 6 行,长会话回放/滚动不卡;
- 没有任何 client rects 的行(被整轮折叠隐藏)直接跳过;
- 同一行连续 3 次打不开就放弃,计入 giveUp,不会死循环;
- MutationObserver 跟随新增行与 data-expanded/data-state 变化,另有 2s 兜底扫描(虚拟列表回收、HMR 重挂都能自愈);
- apply(ctx) 用 ctx.effect 注册清理,插件停用即断开 observer / 定时器 / 快捷键,并摘掉页面上的 __dshAutoExpandThinking。
验证
cd <插件目录>
node --check lib/client.js
node test/client.test.mjs # 13 项:策略阶梯、三档语义、放弃上限、快捷键、dispose
node test/install.test.mjs # 6 项:清单契约 + 已安装时的 profile 接线
测试把 lib/client.js 放进 node:vm,用按真实 DOM 形状写的 stub 驱动引擎,不需要浏览器。
install.test.mjs 里「清单契约」一节逐条对照 @deepseek-ai/dsh-client-modules 宿主半实际执行的校验(dsh.client.platform、exports["./client"]、bundle 自注册 id、自包含性)。
装了什么
install.ps1 只动三处,都先备份(后缀 .aetbak-<时间戳>):
1. profile/node_modules/dsh-auto-expand-thinking → 本目录(junction,不是拷贝,改代码即改插件)
2. profile/package.json:dependencies 加 file: 依赖;dsh.profile.bundles 追加一项
3. profile/cordis.patch.yml:追加 insert 兜底行(bundle 层没生效时用)
已知限制
- 只处理思考行(data-variant="think"),不动工具调用、系统提示、上下文注入那些折叠块。
- 属性名是发布版的内部契约,不是公开 API。DSH 换版本后属性若变化,插件按阶梯降级;仍然不行就静默停止展开(stats().giveUp 能看到),不影响页面其它功能。
- 本机没有可供我操作的浏览器实例,自动化测试只覆盖到 DOM 契约与安装契约;页面上的最终效果需要你重启后目视确认一次。
许可
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
basaltfold/dsh-auto-expand-thinking
自动展开聊天里折叠的思考块,实时看清模型推理过程
相关插件 · 对话 / 记忆
上下文中枢oceanbase/powercontext
上下文跟着工作走 —— 跨会话、跨智能体、跨人。
★ 1,489已汉化DSH
73.1
智能体记忆库plastic-labs/honcho
Honcho 是记忆基础设施,用来构建有状态的智能体。这些智能体能理解不断变化的人、智能体、群组、项目和想法。
★ 7,918已汉化DSH
71.7
长程智能体控制面loopx-project/loopx
给 Agent 一个目标,让工作持续向前。
★ 6,358已汉化DSH
71.3
智能体上下文数据库volcengine/OpenViking
给 AI 智能体用的上下文数据库
★ 41,453已汉化DSH
71.3
长效机器人团队Fei2411/DS-Bot
Download DS Bot for Windows 10/11 64-bit / 下载 Windows…
★ 5,293已汉化DSH
71.2
可携带记忆层EverMind-AI/EverOS
为什么选择 EverOS
★ 13,797已汉化DSH
71.1
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。