把推理与工具卡片折叠成内联小块,正文更清爽
34.3/100
综合分
8
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add renat3u/dsh-web-archive该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 79 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意未发布到 npm registry,仅可从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-web-archive(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/2 23:05:52
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 折叠推理与工具卡片
- 无用消息内联收起
折叠对话当中众多的“无用消息”,例如Think、Bash等
README
由 DeepSeek 最新模型翻译生成dsh-web-archive
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 任何模块表条目。
展开完整文档(README 剩余 1 节)
dsh-web-archive
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:…"(不折叠,且会断开簇) |
插件只做两件事:
1. 把 [data-chat-flow] 里的非正文行——顶层 [data-chat-call-id] 工具卡片行 + [data-variant="think"] 且无 data-tool 的推理块行—— display:none(React 的 vdom diff 不会覆盖 CSSOM 上的手动样式);
2. 把每个回合合成一块:某条消息的 think 组与紧跟其后的工具组(跳过装饰元素)合并,在 think 消息的原位插入一张与工具卡片同款样式的小卡片(Deep Sleeping... (N),N = think 行数 + 工具卡片数),工具组元素随块折叠;点击切换展开/收起。落单的 think 组 / 工具组各自成块。
正文消息保持 文本a - [折叠块] - 文本b - 文本c 的原始结构。
注入的 chip 在 React 管理的 flow 子树内,但只做前置插入与 display 切换, MutationObserver + rAF 合并重放,React 重渲染/切换会话/流式新卡片都会自动跟上(自愈);卸载时全部还原。
安装
插件以 bundle 层 方式挂载进 dsh web profile(package.json 里的 dsh.bundle.patch 声明 + 包内 cordis.patch.yml 的 insert 行), dsh.client 声明(platform: "web")让 client-modules 服务自动注入浏览器 bundle。
命令形式:官方约定源码 checkout 场景统一用 pnpm dsh 运行 TypeScript 入口并透传参数(见下文「运行与构建」);npm 全局安装后可直接
dsh 。下文命令按 dsh … 泛称书写。
方式一:本地路径
pnpm dsh plugin --profile web add file:/path/to/dsh-web-archive
dsh plugin add 会 pnpm 安装依赖,并把声明了 dsh.bundle 的包自动加进
profile 的 dsh.profile.bundles 层列表。
方式二:手动挂载(等价于上面的结果)
1. 把插件放进 profile 的 node_modules(pnpm 风格软链):
ln -s /path/to/dsh-web-archive $DSH_HOME/profiles/node_modules/dsh-web-archive
2. 在 profile manifest($DSH_HOME/profiles/web/package.json)里登记:
"dependencies": { "dsh-web-archive": "file:/path/to/dsh-web-archive" },
"dsh": { "profile": { "bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "dsh-web-archive"] } }
3. 重启 web 表面(源码环境 Ctrl+C 后重跑 pnpm dsh web),刷新页面。
注:profile 的 cordis.patch.yml 用户层与 bundle 层走同一个 patch 算法,支持 insert 行;长驻表面(web profile)通过 watch-only HMR 热重放用户层——新插入的行不需要重启即可挂载(新增的 client 行要等一次页面刷新让浏览器拿到新的 window.__DSH_BOOT__ 图)。bundle 层(dsh.profile.bundles)的增删则要重启 web 表面才生效。
运行与构建
官方源码构建形式(仓库 checkout 内):
pnpm install # 安装依赖(一次性)
pnpm run build # 准备仓库产物(一次性)
pnpm dsh web # 启动 Web UI,无需重新构建
pnpm dsh 是官方约定的源码运行形式(dsh web 是
--profile web 的别名)。pnpm install 不会把 dsh 注册进 shell 的全局 PATH——pnpm dsh 每次都要带前缀。裸 dsh 命令需要 npm 全局安装(npm install -g @deepseek-ai/dsh),或走官方安装包示例
npx @deepseek-ai/dsh web。开发 client 插件时可另开 pnpm run dev:web
(官方 dev 监视器):它重建 client bundle 并触发 client-hmr 热替换;新增插件行仍需一次页面刷新拿到新的 boot 图。
插件自身 bundle 构建:
node build.mjs # 产出 lib/client.js(esbuild,自包含 iife)
构建走本地 devDependency esbuild(JS API,无 shell 依赖);仓库根执行
npm install(或 pnpm install)后即可运行。lib/client.js 随包提供,
改 src/ 后重新构建即可。
文件结构
dsh-web-archive/
├── package.json # dsh.client + dsh.bundle 声明 + npm 发布元数据 + exports["./client"] ├── cordis.patch.yml # bundle 层:insert 一行挂载本插件 ├── build.mjs # 构建脚本(esbuild;prepack 钩子调用) ├── tsconfig.json ├── src/ │ ├── index.ts # host half:空 apply(让插件出现在宿主插件树) │ ├── client.ts # browser half:cordis 插件入口 │ └── deep-sleep.ts # DeepSleepController:折叠/展开核心 └── lib/ ├── index.js # host half 产物 ├── client.js # 浏览器 bundle(已构建) └── types/ # 手写类型声明(index.d.ts / client/index.d.ts)
兼容性
DOM 契约基于官方 Web 客户端 ChatView 渲染的稳定 data 属性: data-chat-flow / data-chat-call-id / data-chat-anchor-key / data-subcalls / data-selected / data-state / data-variant。
当前构建的 CSS Modules 类名是短哈希,正文检测不使用类名字面量,而是文本节点 walker(跳过 think 行 / 工具卡片 / 插件自身的 chip),对类名变化免疫。官方后续版本若改动这些属性,更新 src/deep-sleep.ts 顶部的选择器即可。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
renat3u/dsh-web-archive
把推理与工具卡片折叠成内联小块,正文更清爽
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这是你的仓库?认领条目