跳到正文

renat3u/dsh-web-archive

71最近提交 2026年8月13日

dsh-web-archive DSH 插件

dsh-web-archive 是 DeepSeek Harness (DSH) Web 模式的客户端插件,它把会话中所有非正文的显示元素(工具卡片如 read、bash、web_search、grep、edit 等,以及推理块)折叠成紧凑的内联小卡片,保留正文消息的原始结构。纯浏览器端运行,零核心改动,自动适应流式输出和会话切换。

如何安装 dsh-web-archive DSH 插件

dsh plugin --profile web add file:/path/to/dsh-web-archive

复制不会执行命令。安装 dsh-web-archive DSH 插件前请核对仓库和版本。

dsh-web-archive DSH 插件数据来源

dsh-web-archive DSH 插件快照日期:2026年8月16日

discovered

dsh-web-archive DSH 插件能做什么

  • 折叠工具调用卡片(read、bash、web_search、grep、edit 等)和推理块为内联小卡片
  • 将推理块与其后紧跟的工具卡片合并为一个可折叠的组,或独立成组
  • 保留纯文本消息的原始顺序,仅隐藏非正文元素
  • 通过 MutationObserver + rAF 自动在会话切换、流式新卡片、React 重渲染时恢复折叠状态
  • 当选中折叠行内的某行时自动展开该簇,避免内容不可见
  • 适配明暗主题,使用 DSH 的 CSS 变量并带有兜底值

dsh-web-archive DSH 插件适合哪些场景

  • 减少包含大量工具卡片的对话的视觉杂乱
  • 让长推理链不占用过多屏幕空间
  • 专注于文本消息,同时可按需展开查看工具详情
  • 为演示或截图清理聊天界面
  • 改善频繁工具调用的对话的可读性

dsh-web-archive DSH 插件适合谁

  • 希望聊天界面更简洁的 DSH Web 用户
  • 与大量工具驱动对话交互的开发者或高级用户

dsh-web-archive DSH 插件的限制

  • 仅支持 DSH Web 模式(浏览器),不适用于 CLI 或桌面客户端
  • 依赖官方 Web 客户端 ChatView 提供的稳定 DOM 数据属性,若未来 DSH 版本更改这些属性,需更新选择器
  • 修改源码后需手动重新构建 bundle(运行 `node build.mjs`)
  • 该插件本身不增加新功能,纯粹是界面美化

dsh-web-archive DSH 插件的仓库 README 摘录

以下文字摘自 dsh-web-archive DSH 插件的上游仓库 renat3u/dsh-web-archive 的 README,版权归原作者,仅作引用。

**Deep Sleeping...** — DeepSeek Harness (dsh) Web 模式的客户端插件。 把会话里**正文之外的所有 display**(工具卡片 read / bash / web_search / grep / edit 等,以及消息内的 **Think 推理块**,含运行中的调用)折叠成内联的小卡片, **无 emoji、与 Read/Think/Bash 卡片同款样式、放在它们原来的位置**: - **每条消息的 think 组 + 其后紧跟的工具组合成一块**(落单的 think 组 / 工具组各自成块),工具组区域随块折叠、不留空白; - 正文消息保持 `文本a - [折叠块] - 文本b - 文本c` 的原始结构。 ``` Deep Sleeping... (3) ← 折叠态,点击展开 Deep Sleeping... (3) · 收起 ← 展开态,所有卡片原地显示 ``` 前端不再出现一长串 Read / Think / Bash 卡片;正文消息完全不受影响。 ## 特性 - **零核心改动**:纯浏览器端插件,不修改 dsh 任何源码、不注册 slot key, 不会与内置工具卡片的 `conversation.chat.toolview` 注册冲突。 - **零运行时依赖**:bundle 完全自包含,不 require 任何模块表条目。 - **Think 也折叠**:消息内的推理块(`data-variant="think"`)与工具卡片 一并合并。 - **实时跟随**:MutationObserver + rAF 合并,流式新卡片、卡片结算、切换 会话都自动重放折叠状态。 - **选择联动**:折叠态下若有行被选中(详情联动),自动展开该簇,避免 看不到正在查看的卡片。 - **主题适配**:颜色走 dsh 的 `--dsw-*` CSS 变量(带兜底值),明暗主题 都可用。 ## 工作原理 ChatView 渲染时对每个工具调用行写入稳定 data 属性: | 元素 | 属性 | |---|---| | 会话流容器 | `[data-chat-flow]` | | 工具调用行(含运行中) | `[data-chat-call-id]` / `data-chat-anchor-key="call:…"` | | Think 推理块行 | `[data-variant="think"]` 且无 `data-tool` | | run_code 子派发行 | 位于 `[data-subcalls]` 内(不折叠,跟随父卡片) | | 正文消息 | `data-chat-anchor-key="node:…"`(不折叠,且会断开簇) |

阅读完整 README仓库未声明许可,使用前请先与作者确认。

dsh-web-archive DSH 插件常见问题

如何安装 dsh-web-archive?

可以通过 `pnpm dsh plugin --profile web add file:/path/to/dsh-web-archive` 安装。或者手动将插件软链接到 profile 的 node_modules,在 profile 的 package.json 中添加依赖,然后重启 web 表面并刷新页面。

这个插件会影响性能吗?

它使用 MutationObserver 配合 requestAnimationFrame 批处理,非常轻量且非阻塞。插件只对现有 DOM 元素设置 `display: none` 并插入一个小内联卡片,即使在长对话中也不会造成明显延迟。

它会与其他 DSH 插件冲突吗?

插件设计为非侵入式,不注册任何 slot key,也不修改 DSH 源代码,因此应该能与其他客户端插件共存。但如果另一个插件也操作相同的 DOM 属性,可能会发生冲突。

如何卸载 dsh-web-archive?

从 profile 的 package.json 中移除 `dsh.profile.bundles` 里的 `dsh-web-archive` 条目,删除 node_modules 中的软链接,然后重启 web 表面。如果使用 `dsh plugin add` 安装,可运行 `dsh plugin --profile web remove dsh-web-archive`。

它支持流式响应吗?

支持。插件使用 MutationObserver 监视流式过程中新添加的工具卡片和推理块,自动将其折叠,并在流结束时更新卡片计数。