
renat3u/dsh-web-archive
71Last commit Aug 13, 2026
dsh-web-archive DSH plugin
dsh-web-archive is a client-side plugin for DeepSeek Harness (DSH) web mode. It folds all non-message displays (tool cards like read, bash, search, and think reasoning blocks) into small inline chips, preserving the original text structure. It works purely in the browser, has zero core modifications, and automatically adapts to streaming and session switches.
How to install the dsh-web-archive DSH plugin
dsh plugin --profile web add file:/path/to/dsh-web-archiveCopying does not run this command. Review the repository and version before installing the dsh-web-archive DSH plugin.
dsh-web-archive DSH plugin data source
dsh-web-archive DSH plugin snapshot date: Aug 16, 2026
discovered
What the dsh-web-archive DSH plugin can do
- Collapses tool call cards (read, bash, web_search, grep, edit, etc.) and think reasoning blocks into inline chips
- Groups think blocks with immediately following tool cards into a single collapsible chunk, or standalone chunks for isolated groups
- Preserves plain text messages in their original order, only hiding non-message elements
- Automatically restores collapsed state on session switch, streaming new cards, and React re-renders via MutationObserver + rAF
- Auto-expands a chip when a line inside it is selected (detail link) to avoid hidden content
- Adapts to both light and dark themes using DSH's CSS variables with fallbacks
Where the dsh-web-archive DSH plugin fits
- Reduce visual clutter when a conversation contains many tool card outputs
- Keep long reasoning chains from taking up too much screen space
- Focus on the text messages while still being able to expand tool details on demand
- Clean up the chat interface for presentations or screenshots
- Improve readability of conversations with frequent tool calls
Who the dsh-web-archive DSH plugin is for
- DSH web users who want a cleaner chat interface
- Developers or power users who interact with many tool-driven conversations
dsh-web-archive DSH plugin limitations
- Only works in DSH web mode (browser); not applicable to CLI or desktop clients
- Depends on stable DOM data attributes provided by the official Web client ChatView; may break if those attributes change in future DSH releases (source selectors need updating)
- Requires manual bundle rebuild after modifying source code (run `node build.mjs`)
- Plugin itself adds no new features; purely cosmetic
dsh-web-archive DSH plugin: from the repository README
Quoted from the renat3u/dsh-web-archive README, the upstream source of the dsh-web-archive DSH plugin. Copyright remains with the original authors.
**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:…"`(不折叠,且会断开簇) |
Read the full READMEThe repository declares no license. Check with the authors before using it.
dsh-web-archive DSH plugin questions
How do I install dsh-web-archive?
You can install it via `pnpm dsh plugin --profile web add file:/path/to/dsh-web-archive`. Alternatively, manually symlink it into your profile's node_modules, add it to the profile's `package.json` dependencies, and restart the web surface. After installation, refresh the browser page.
Does this plugin affect performance?
It uses MutationObserver with requestAnimationFrame batching, so it is lightweight and non-blocking. The plugin only manipulates `display: none` on existing DOM elements and inserts a small inline chip. It should not cause noticeable lag even on long conversations.
Will it work with other DSH plugins?
Yes, the plugin is designed to be non-intrusive. It does not register any slot keys or modify DSH source code, so it should coexist with other client plugins. However, if another plugin also manipulates the same DOM attributes, conflicts may occur.
How do I uninstall dsh-web-archive?
Remove the `dsh-web-archive` entry from `dsh.profile.bundles` in your profile's `package.json`, delete the symlink from `node_modules`, and restart the web surface. Alternatively, if you used `dsh plugin add`, use `dsh plugin --profile web remove dsh-web-archive`.
Does it work with streaming responses?
Yes, the plugin uses MutationObserver to watch for newly added tool cards and think blocks during streaming. It automatically collapses them as they appear, and resets the chip count when the stream ends.