better-er/dsh-tool-autoexpand
「DSH·工具结果自动展开」:在 DSH Web 界面自动展开工具调用卡片,支持侧边栏开关。标准可安装的 dsh 客户端插件。
Project Overview项目介绍
This is a client plugin built exclusively for the web version of DeepSeek Harness. It automatically expands newly rendered tool call cards that DSH collapses by default, letting users see all tool outputs at a glance instead of clicking each one open manually. It adds a toggle switch at the bottom of the DSH sidebar that cycles between three UI modes: expand all new and existing cards, do not interfere with DSH’s default collapsed behavior, and collapse all existing open cards. It can be installed via two command line methods: installing directly from the source GitHub repository or installing the pre-built package from npm.
After installation, the plugin automatically mounts and is ready to use after a quick restart of the current DSH web client, no manual file editing is required. The toggle state is saved to the browser’s local storage, so your personal preferred setting persists after page refreshes. The plugin automatically adapts to DSH’s light and dark theme, no restart required after toggling theme or switch state. It only expands or collapses top-level tool cards, so it will not accidentally open existing nested internal blocks like popular diffs or common terminal outputs.
This plugin follows DSH’s official standard client plugin format, declaring dsh.client and exporting the built client-side code. It also declares dsh.bundle, so it is automatically recognized as a valid profile layer plugin after direct installation via the dsh plugin command, no manual configuration needed. It is entirely browser-side with no extra host-side behavior, and it is released under the official open source MIT license. One-click uninstalling is straightforward via the official dsh plugin remove command, and it will stop loading completely after a simple clean restart of DSH web.
这是专为网页版 DeepSeek Harness 开发的原生 DSH 客户端插件,核心功能是自动展开 DSH 浏览器界面中新到达的工具调用卡片。它在侧边栏底部添加了一个切换开关,可在「展开 / 不干预 / 折叠」三种 UI 状态间循环切换,默认状态为展开。插件纯运行在浏览器端,不会替换任何原生工具卡片渲染器,符合 DSH 插件开发标准形态。
插件默认让新生成的工具调用结果全部展开,方便开发者查看 DeepSeek Harness 每一步的操作。为了避免无意义刷屏,它只执行一级展开,不会展开内部嵌套的修改块等二级内容。用户可随时切换状态,切换到折叠模式会立刻收起所有已展开卡片,不干预模式则保持原有默认行为。
插件支持通过 npm 或 GitHub 命令行安装,两种方式安装后都会自动挂载,重启 DSH web 即可启用,无需手动编辑文件。切换状态会自动持久化到浏览器 localStorage,刷新页面后保持设置,还自适应 DSH 的明暗主题,切换立即生效。项目采用 MIT 许可证开源,支持一键卸载,开发使用 TypeScript 严格类型检查。
请帮我安装这个 DSH 插件。安装前先完成【兼容性检查 + 安全性检查】,检查通过再动手。
插件:dsh-tool-autoexpand(better-er/dsh-tool-autoexpand)
仓库:https://github.com/better-er/dsh-tool-autoexpand
本站详情页:https://www.yhbd.top/plugins/better-er-dsh-tool-autoexpand/
本站登记:类型 client · 归类 原生 DSH 插件 · 许可证 MIT · ⭐ 12 · 最近提交 2026-10-02 · 主语言 TypeScript
按下面顺序执行,每步先把结论告诉我,再进入下一步:
【1 兼容性检查】
① 我这边:DSH 版本、Node 版本、操作系统、当前 profile(web / desktop)。
② 读它的 README、package.json、插件 manifest,列出它要求的 DSH 版本 / Node 版本 / 操作系统 / 外部依赖 / 需要另外先装的运行时。
③ 逐条比对,结论只写「满足 / 不满足 / 未知」三种;不满足的给出可行替代方案。
④ 检查是否和我已装的插件冲突:命令名重复、skill / tool 重名、端口占用、重复注册的 MCP server。
【2 安全性检查】
① 仓库可信度:和上面「本站登记」是否一致;star / fork 数、创建时间、最近提交,是否归档或长期停更。
② 安装脚本:逐行看 package.json 的 preinstall / install / postinstall,以及 install.sh、setup.ps1 之类脚本。出现 curl|bash、下载后直接执行、混淆代码、访问与插件功能无关的域名,立刻停下来告诉我,不要继续装。
③ 依赖:列出新增依赖,标出无人维护、或与知名包拼写近似的可疑包(typosquatting)。
④ 权限与副作用:它会读写哪些目录、访问哪些域名、需要哪些 DSH 权限(filesystem / network / shell / clipboard 等),以及怎么卸载和回滚。
⑤ 如果它要求 sudo / 管理员权限,或权限明显超出功能所需,先停下来问我。
【3 安装】
上面两步没有「不满足」和「高危项」时才执行;用官方推荐方式安装,不要自行提权。
【4 汇报】
用表格输出:检查项 / 结论 / 依据 / 是否需要我决策。拿不准的一律写「未知」并说明要我怎么确认——不要猜,也不要替我决定。
Send this message to DSH in your current session: it verifies compatibility and security first (answering met / not met / unknown item by item) and only installs once everything checks out — it will stop and ask you if it finds a high-risk item. The box scrolls; the copy is the full prompt. CLI install commands may not be accurate across systems, so DSH is the safer route.把上面这条消息直接发给当前会话里的 DSH:它会先核对兼容性与安全性(逐条给「满足 / 不满足 / 未知」),确认没问题再安装,有高危项会停下来问你。框内可滚动,复制到的是完整提示词;安装命令不一定准确,发给 DSH 更稳。
- 12 stars - an early-stage project星标 12,属于早期项目
- Desktop client: installation downloads an executable - verify the publisher and checksums桌面客户端:安装会下载可执行文件,请核对发布者与校验和
DSH walks through these 9 checksDSH 会逐条核对这 9 项
Compatibility兼容性
- DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
- External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
- Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册
Security安全性
- Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
- Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
- curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
- Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
- Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
- Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式
Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add dsh-tool-autoexpand
把 better-er/dsh-tool-autoexpand 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
DSH·工具结果自动展开
自动展开 DSH 浏览器界面里随后新到达的工具调用卡片,并在侧栏底部提供四态逻辑 + 三态 UI 的开关:在「展开 / 不干预 / 折叠」三态间循环切换,默认展开。
纯浏览器端 client 插件,不替换任何原生工具卡片渲染器。
| 状态 | 示意图 |
|---|---|
| 展开 | ![]() |
| 不干预 | ![]() |
| 折叠 | ![]() |
引言
DeepSeek Harness 的工具调用,默认和 CloseAI 一样是收着的——结果全都藏在折叠里不给你看。可这哪符合开源精神?Open!所有的工具调用结果,就该统统打开。
于是祥云做了这个插件,专门帮你把 DeepSeek Harness 自动开源掉——新到达的工具调用结果全部自动展开。不想看了?把开关切到「折叠」,已经摊开的卡片立刻全部收回去,清爽如初;想回到默认,再点一下回到「不干预」就好。
当然,为了避免无意义的刷屏,这个「打开」是短打开模式:只执行一级展开,而不会把那些修改行统统二级展开。既能看到结论,又不糊一脸改动细节。
这样,你就能爽爽监工 DeepSeek Harness——它每一步在背后做了什么,都摊开在你眼皮子底下,清清楚楚。
却没想到,这狡猾的蓝色大肥鱼,就在你眼皮子底下偷偷啃着你的 Token——拿着你的钱上网玩儿去了。

功能
- 侧栏底部开关卡,采用四态逻辑 + 三态 UI:逻辑上在「0 不干预 → 1 展开 → 2 不干预 → 3 折叠」四档间循环,界面上只呈现「不干预 / 展开 / 折叠」三种外观,其中两个「不干预」档显示为同一种样子,点击一次切换一档。
- 展开:自动展开新渲染的工具调用卡片,并立刻展开页面上已存在的工具卡片。
- 不干预:停止自动处理,新到达的卡片保持默认收着,不主动动已有卡片。
- 折叠:立刻折叠页面上所有已展开的工具卡片,并让新到达的卡片保持收着。
- 只展开或折叠卡片顶层折叠行,不会误开内部 ReadBlock / TerminalBlock / DiffBlock / SearchBlock 的行数折叠。
- 开关档位持久化到 localStorage,刷新后保持;兼容旧版「开/关」的存储数据,旧「开」→ 展开,旧「关」→ 不干预。
- 开关卡随 DSH 明/暗主题自适应,切换即生效,无需重启。
效果
新到达的工具调用卡片自动展开后的实际效果:

演示视频
光看静态截图不过瘾?两位同好分别给这个插件拍了演示视频,还在标题上互相点名对方,欢迎点开对比观看:
| 祥云版 · 34 秒 | dpsk 版 · 23 秒 |
|---|---|
![]() |
![]() |
安装
从 GitHub 安装:源码在 src/,lib/ 不入仓库,安装时 npm 会触发 prepare 脚本现场构建。
dsh plugin --profile web add github:better-er/dsh-tool-autoexpand
从 npm 安装:包内已含构建产物 lib/index.js 与 lib/client.js,安装时不再构建。
dsh plugin --profile web add dsh-tool-autoexpand
两种方式装完都会自动挂载,重启 DSH web 后启用,无需手工编辑任何文件。
卸载
dsh plugin --profile web remove dsh-tool-autoexpand
彻底移除,重启 DSH web 后不再加载。
要求与开发
- 是标准形态的 dsh client 插件,声明
dsh.client,导出./client。 - 同时声明了
dsh.bundle,因此也是一个自挂载的 bundle 层插件:用dsh plugin --profile <name> add从 GitHub 安装后,会被自动识别为 profile layer 并挂载,无需手工写组合 entry。 - 纯浏览器半身,无 host 行为。
- 构建型插件:
src/是 TypeScript 源码,lib/是构建产物且不入库,安装或发布前由prepare构建。
开发
pnpm install
pnpm typecheck # tsc -b 严格类型检查
pnpm build # tsc -b && tsdown,产出 lib/index.js 与 lib/client.js
src/index.ts:node 半身,空操作的 Cordis 插件。src/client/index.tsx:浏览器半身,自动展开逻辑与侧栏开关。- 开关卡片的样式全部内联,不注入
<style>、不依赖自定义 class;侧栏收起态由槽位注入的wide判断。 - 构建用 tsdown,client 产物仍是
window.__ModuleLoader__.load({ id, factory })的注册式模块,react等平台模块保持外部依赖。 prepare只跑 tsdown、不做类型检查,因此从 GitHub 安装时能自包含构建出lib/。





SamizuHM/dsh-client-ui-theme-xp
reactive-resume/reactive-resume
ningbainb/deepseek-harness-desktop
elysia395/dsh-wallpaper-engine
PM-Shawn/Abu-Cowork
ChisaAlter/Deepseek-Harness-Desktop
Nwflower/dsh-claude-style
rison114514/dsh-endfield-ui