DeepSeek Harness 插件

a179-sanae/dsh-auto-collapse

Star 数 ★ 64 下载量(近 30 天) 2,195 分类 UI 增强 收录于 2026-08-15 npm dsh-auto-collapse

Codex 风格工作流自动折叠:回合完成收成一行「已处理 X秒」只留最终正文,工具/思考块折叠成实时摘要 chip(运行中跟随流式滚动),逐级点击展开;卸载完整还原。

安装

# npm 包(预构建)

dsh plugin --profile web add dsh-auto-collapse

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:a179-sanae/dsh-auto-collapse

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

DSH Web 工作段折叠:保留原生一级,把正文之间的思考、工具和上下文合成一个二级;展开后显示原生三级。

English · 插件市场

展示方式

正文 A
▸ 已思考 · 使用了浏览器 · 已注入上下文 · 编辑了文件
正文 B
▸ 正在运行 npm run check
正文 C

每段只有一个二级入口。思考变成工具调用、工具后追加上下文,都继续归入当前段;新正文出现后,后续工作另起一段。只有思考、只有上下文或单条工具也可以成段。

  • 一级:DSH 原生回合摘要。 完成判断、计数、过程正文与最终回答由宿主负责。
  • 二级:插件工作段。 工作中可见,展开原生一级后也保留;默认收起,流式追加保持手动展开意图。
  • 三级:原生工作行。 二级展开后按原顺序展示思考、工具、上下文;每行自己的详情开合保持原样。

混合工作段示例

预览来自浏览器验收场景,使用 DSH 0.1.2-rc.1 原生 disclosure、思考和回合摘要组件。

行为

正文是分组边界,同一 assistant-step 内的“思考—正文—思考”也会切开;Markdown 换行不拆组。纯图片、SVG 和其他正文内容保持原生展示。用户消息、steering、不同 turn 和未知语义节点不会被跨越。

原生一级收起时,受它控制的二级入口一起隐藏,但二级状态保留。若上下文位于原生折叠范围之外,仍保留可访问的二级入口;点击展开会按需打开原生一级。Normal 模式没有原生一级时,二级仍生效。

系统提示词也归入相邻的上下文工作段。有明确回合归属时,它跟随原生一级收起;一级展开后先显示二级,展开二级才显示系统提示词的原生行,详情开关保持原样。

工作摘要显示已发生的动作类型和当前运行信息,不复制推理全文。查找隐藏内容时通过 hidden="until-found" / beforematch 展开所属层级。选中、焦点和需要用户输入的工作保持可达。HMR、切换会话或异常恢复会释放插件控制。

设置 → 插件 → 插件配置仍可编辑“状态提示词”,默认 Deep sleeping...。保存空值恢复官方文字;用时后缀保留。该功能独立于分组,服务晚到或重连不会影响二级。

兼容性与升级

插件 验证的 DSH
0.2.x 0.1.2-rc.1;0.1.5-rc.2(当前浏览器组件测试夹具)
0.1.8 0.1.2-rc.1,旧折叠实现
≤ 0.1.6 0.1.1.x

0.2.0 完全重写了折叠核心。升级后保留并统一二级,删除自建“已处理 X秒”一级行和三级推理全文副本;上下文不再单独拆成二级。旧 statusText 配置继续使用。未知 DOM 节点保留原生展示,其他宿主版本需要另行验证。

安装

已发布版本可用:

dsh plugin --profile web add dsh-auto-collapse

从源码安装时,先生成完整安装包,再安装命令输出的 tgz:

npm ci
npm run package
dsh plugin --profile web add <生成的-tgz-绝对路径>

安装后按宿主方式重载插件或重启 Web,再刷新页面。回退时安装完整旧版包,例如 dsh-auto-collapse@0.1.8。

npm run package 与兼容别名 npm run deploy 只构建 tgz,不再逐文件覆盖安装目录、读取凭据或自动停止/启动 DSH。

开发与验证

Node.js 22+。首次浏览器验证需要 Playwright Chromium;Windows 可自动使用已安装的 Chrome/Edge,也可通过 DSH_TEST_BROWSER 指定可执行文件。

npm ci
npx playwright install chromium
npm run check

Linux CI 使用 npx playwright install --with-deps chromium 安装浏览器依赖。

npm run test:unit       # 纯分组、身份、状态摘要
npm run test:browser    # 当前构建的真实浏览器验收
npm run preview        # 本地合成场景:http://127.0.0.1:43190
npm run package        # artifacts/ 下完整 tgz

修改源码后先 npm run build 再单独运行浏览器测试或刷新预览。npm run check 自动执行 typecheck、构建、单元测试、浏览器测试和安装包检查。

浏览器测试使用真实 React、DSH 0.1.5-rc.2 原生组件快照和当前发布 bundle,覆盖混合分组、同消息正文边界、原生一级、详情状态、搜索、焦点、SVG、异常恢复、设置生命周期及 100/1,000/5,000 个历史节点。pwsh 场景使用官方工具渲染 bundle 和终端组件,覆盖失败重试、错误正文切换及缺失调用头等情况。完整测试还包含 30 秒无轮询检查。fixture 不依赖用户会话或凭据;完整后端部署不在隔离 fixture 的验证范围内,详见 夹具说明。

代码结构

文件 职责
src/work-model.ts / host-contract.ts 识别正文边界和原生工作项,缓存宿主结构
src/work-groups.ts / summary.ts 纯分组规则、稳定身份、二级展开意图和动作摘要
src/dom-view.ts / styles.css 唯一二级入口、受限显隐、恢复和样式
src/controller.ts / scheduler.ts 脏工作段协调、原生一级联动、生命周期
src/status-text.ts / settings.ts 独立状态文案及设置卡
src/client.ts / index.ts 客户端与宿主接线

不修改消息内容,不移动原生节点,不接管原生 renderer,不推断 final,不扫描“空 div”,不回写主滚动容器。

许可

MIT。测试中的原生组件快照保留 DeepSeek 的 MIT 许可。

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。