前言¶
DSH 的理念是「一切皆插件」。在社区目录里,插件可以围绕 DSH 的界面与能力做局部增强,而不需要改主程序。
DSH Web GUI 的会话消息流会显示 Think、工具调用、重试、压缩等过程行。这些信息对排查有帮助,但对只关心正文的人会造成阅读干扰。
dsh-friendly-steps 是 dongwenxiu83-web 维护的 DSH 插件,许可证为 MIT。它把上述过程行用纯 CSS 折叠,并在右下角显示一条摘要浮条,面向文字工作者的非技术呈现。
社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。
这是什么¶
一句话定位:过程精简插件,把 DSH Web GUI 里的 Think / 工具调用等技术过程行折叠成友好摘要。
- 维护者:
dongwenxiu83-web - 许可证:MIT
- 解决的问题:减少 DSH Web GUI 会话消息流中技术过程行对正文阅读的干扰
- 呈现方式:折叠过程行,并用右下角浮条显示摘要状态
核心功能¶
1. 折叠过程行¶
插件把 DSH Web GUI 会话消息流里的以下过程行用纯 CSS 折叠:
- Think
- 工具调用
- 重试
- 压缩
它不向 React 列表注入外来节点,浮条通过 createRoot 挂在 document.body。
2. 浮条摘要¶
右下角浮条会显示处理状态:
- 已完成时显示:
✓ 已完成 N 步 - 出错时红色追加:
· M 步未成功 - 运行中显示:
⏳ 正在处理…(已进行 N 步)
3. 展开与收起¶
点击浮条可以在「全部展开 ⇄ 全部收起」之间切换。
4. 三种模式¶
插件支持三种模式:
minimalbriefoff
5. 低侵入与 fail-open¶
插件的计数节流为 400ms,仅做几次选择器统计。
如果 DSH 的 DOM 契约发生变化,插件会 fail-open,即按官方原样渲染,不继续强行折叠。
它依赖以下官方 DOM 契约:
data-chat-flow-kind
[data-variant="think"]
[data-tool][data-state]
其中工具状态包括:
running / ok / error / stopped
插件不依赖任何生成的 CSS 类名,也不与 React 争 DOM。
安装与启用¶
从 GitHub 安装:
dsh plugin --profile web add github:dongwenxiu83-web/dsh-friendly-steps
安装后重启 DSH 生效;升级插件时重新执行安装命令并重启。
如果本机使用 link 安装,先执行构建:
npm run build
lib/ 是构建产物且不入库;prepare / prepack 会构建。
插件的 package.json 声明 client inject @deepseek-ai/dsh-client-runtime,且 platform 为 web;engines 要求:
node ^22.19.0 || >=24.0.0
卸载¶
1、删除 ~/.dsh/profiles/desktop/cordis.patch.yml 里的 friendly-steps insert 段
2、删除 symlink
3、重启 DSH
典型用法¶
在浏览器控制台切换模式:
dshFriendlySteps.setMode('minimal')
dshFriendlySteps.setMode('brief')
dshFriendlySteps.setMode('off')
排查输出各行计数:
dshFriendlySteps.debug()
适用场景与注意¶
适合希望减少 DSH Web GUI 中技术过程行干扰、只通过右下角浮条查看过程状态的读者。
使用前注意以下几点:
- 插件以当前 dsh 进程权限运行,安装前应检查源码与 MIT 许可证。
- 插件依赖官方 DOM 契约;DSH 升级后若契约变化,最坏表现是「不再折叠」(fail-open)。
- 浮条固定在右下角输入区上方,与其他右下角插件可能相邻。
- 已知取舍:摘要是全局浮条而非每组一行;官方行组件未导出,展开态无法交还官方渲染,故不遮蔽。