READMESource: master@33fc293a
dsh·工具结果自动展开插件
自动展开 DSH 浏览器界面里随后新到达的工具调用卡片,并在侧栏底部提供一个一目了然的自定义开关(默认开)。
纯浏览器端(client)插件,不替换任何原生工具卡片渲染器。
侧栏底部的插件开关(默认开):

引言
DeepSeek Harness 的工具调用,默认和 CloseAI 一样是收着的——结果全都藏在折叠里不给你看。可这哪符合开源精神?Open!所有的工具调用结果,就该统统打开。
于是祥云做了这个插件,专门帮你把 DeepSeek Harness 自动开源掉——新到达的工具调用结果全部自动展开。
当然,为了避免无意义的刷屏,这个「打开」是短打开模式:只执行一级展开,而不会把那些修改行统统二级展开。既能看到结论,又不糊一脸改动细节。
这样,你就能爽爽监工 DeepSeek Harness——它每一步在背后做了什么,都摊开在你眼皮子底下,清清楚楚。
却没想到,这狡猾的蓝色大肥鱼,就在你眼皮子底下偷偷啃着你的 Token——拿着你的钱上网玩儿去了(上图 DSH 偷吃图):

功能
- 自动展开新渲染的工具调用卡片。
- 只展开卡片顶层折叠行,不会误开内部 ReadBlock / TerminalBlock / DiffBlock / SearchBlock 的行数折叠。
- 侧栏底部开关卡:图标 + 标题 + ON/OFF 状态胶囊 + 一句效果说明,随 DSH 明/暗主题自适应。
- 整卡可点击,
aria-pressed同步状态;切换即启用/停用,无需重启。
效果
新到达的工具调用卡片自动展开后的实际效果:

要求
- 是标准形态的 dsh client 插件(声明
dsh.client、导出./client)。 - 同时声明了
dsh.bundle,因此也是一个自挂载的 bundle 层插件:用dsh plugin --profile <name> add从 GitHub 安装后,会被自动识别为 profile layer 并挂载,无需手工写组合 entry。 - 纯浏览器半身,无 host(node)行为。
安装
dsh plugin --profile web add github:better-er/dsh-tool-autoexpand
一条命令装完即生效(自动挂载,重启 DSH web 后启用),无需手工编辑任何组合文件。
卸载
dsh plugin --profile web remove dsh-tool-autoexpand
彻底移除,重启 DSH web 后不再加载。
构建与原理
- 无构建:
lib/client.js(dsh.client.platform: "web"、exports["./client"] → ./lib/client.js)是按 DSH client bundle 产出的注册式模块,源码即产物。 - 展开原理:监听会话容器捕获新渲染的
[data-chat-flow-kind="tool-call"]节点,只点击非<button>的[aria-expanded="false"]折叠行,不误开内部行数折叠;侧栏开关经sidebar.footer.action插槽注入。 - 硬性约束:
lib/client.js的factory必须以return module.exports结尾,否则模块导出为undefined,DSH 启动即 fail-loud。
No comments yet. Be the first to write one.