DeepSeek Harness 插件

mervyn-teo/dsh-plugin-collapsible-steps

Star 数 ★ 0 下载量(近 30 天) 290 分类 UI 增强 收录于 2026-08-16 npm dsh-plugin-collapsible-steps

把消息之间连续的工具调用与思考步骤折叠成单个可展开的括号条目。

安装

# npm 包(预构建)

dsh plugin --profile web add dsh-plugin-collapsible-steps

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

dsh plugin --profile web add github:mervyn-teo/dsh-plugin-collapsible-steps

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。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

English | 中文

一个 DeepSeek Harness(DSH)Web 插件,把消息之间每一段连续的可折叠卡片步骤折叠成一行 + N steps。点击该行可折叠整段 (仅保留最近一步),再次点击即可展开。原有的会话卡片与 Markdown 回答保持不变 —— 本插件只是对行做标注,从不替换它们。

功能

  • 在会话头部加入 Collapse steps / Expand steps 控件,并在每一段连续步骤前插入 - N steps 行。
  • 折叠该行会隐藏这一段的所有行(display: none,不会留下空隙),仅保留最近一步, 显示在 + N steps 下方;点击 + 即可重新展开。
  • 这里的“步骤”指任何可折叠卡片行 —— tool-call、workflow-run、command、 command-input、compaction、context(上下文注入)、manual-compaction、 model-retry,以及助手消息里的 Think(推理)折叠区。最终的文本回答、用户/steering 消息以及回合提示作为分组边界。
  • 常规工具卡片、推理区与 Markdown 回答渲染都保持 DSH 原样。
  • 设置 → 插件里的 Collapsible steps 卡片可控制步骤是否默认折叠。

设置

插件注册了一个 collapsible-steps 设置命名空间,仅含一个选项:

  • collapseByDefault(布尔值,默认 true)—— 默认折叠步骤段。关闭后,步骤段会保持 展开,直到你手动折叠它们。

原理

槽位系统不允许插件“包裹”已有的会话卡片,因此本插件并不替换步骤渲染器,而是对现有 DOM 做标注:它通过会话 hook 读取会话节点顺序,计算连续的步骤段,并直接在已有流程中插入 折叠头(节点行本身从不移动,因此原有视图仍能正常协调更新)。

文件

文件 用途
lib/client.js 浏览器端 —— 头部控件、折叠头插入、折叠状态以及设置卡片。
lib/index.js 主机端 —— 注册 collapsible-steps 设置命名空间并暴露配置路由。
lib/invariant.js 不变量注册。
cordis.patch.yml 插入插件行及其默认配置的组合补丁。
package.json 包元数据(dsh.bundle + dsh.client 清单)。

安装

dsh plugin --profile web add github:mervyn-teo/dsh-plugin-collapsible-steps

随后重启 dsh web —— 主机端 bundle 在启动时加载。

依赖要求

  • 已挂载基础会话 UI(@deepseek-ai/dsh-client-ui-conversation)的 DSH —— 插件会在其聊天流程中插入折叠头。

许可证

MIT

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

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