证据快照复核于 2026-09-16GitHub 数据核对日期: 2026-08-21
证据已验证Plugin Bundle界面与体验Web Profile

DSH Conversation Folding

一款 DSH Web 界面插件,将思考和工具调用收拢为可展开的过程区域。

快速了解

它能做什么

一款 DSH Web 界面插件,将思考和工具调用收拢为可展开的过程区域。

本站提供的是中文说明,不代表该项目或 Plugin 自身提供中文界面;语言支持请以上游文档为准。

使用场景
界面与体验UI个性化配置
适配技术
deepseek-harnessWeb
兼容性

Web Profile
DSH >=0.1.2-rc.1

可信度与状态

证据已验证
核对日期 2026/9/11 UTC 14:14

有代码证据的贡献

它为 DSH 增加什么

对话过程折叠界面

折叠思考与工具调用步骤,同时保留原生的用户输入和 LLM 正文渲染。

机制证据

选择前先看

对话过程折叠让长篇 DSH 对话更易浏览:它会分组中间思考和工具调用,保留用户输入与 LLM 正文的原生样式,并允许在需要时展开完整过程。Think 区块以可滚动面板保留,连续工具调用也可分组。

适合谁

希望减少长对话、智能体或高频工具调用视觉噪音,同时保留最终回答的 DSH Web 用户。

常见任务

  • 在保留完整助手正文的同时整理长对话。
  • 展开已折叠的过程区域以查看思考或工具活动。
  • 在“对话折叠”设置页中选择 18 类步骤哪些需要折叠。

权限与数据

客户端界面增强插件,配置通过 DSH 设置系统处理。

权限
  • 向 DSH Web profile 添加客户端对话渲染插件。
  • 通过插件 RPC 路由 /conversation-folding/config 读写自身设置。
数据处理
  • 显示设置会保存在 ~/.dsh/settings.yaml 的 dsh-conversation-folding 命名空间中。
  • 文档说明该插件不会修改对话内容本身。

局限

  • 项目文档要求 Node.js 20 或更高版本,以及 DSH 0.1.2-rc.1 或更高版本。
  • 仅 Fold 显示模式由本插件接管;Normal 和 Compact 使用官方渲染。
  • 提供的证据未验证实际安装或运行行为。
  • 未找到所引用的 npm 包版本;应使用已验证的固定 Git Bundle 路径。

DSHub 已核对

  • 已验证固定 Git 源码、包结构和 Bundle patch 入口。
  • 包声明了 Web 客户端平台、Node.js >=20 和 MIT 许可证。

DSHub 未核对

  • 未实际执行安装。
  • 未测试运行中的 DSH 对渲染行为、设置持久化和兼容性的支持情况。

固定版本安装

安装 DSH Conversation Folding

这个Plugin Bundle没有 DSH Plugin 安装操作,请根据源码文档使用真实交付方式。

访问源码项目

维护者原文

项目 README

查看 commit b21e104 对应的 README
维护者编写的上游内容原文于 2026/9/11README.md 获取,正文和仓库相对媒体固定到 commit b21e104efb5a,内容哈希为 a899eae7bb0b。以下是未经 DSHub 翻译的上游原文,语言可能与当前页面不同;第三方托管的 badge 可能独立更新。

dsh-conversation-folding

dsh-conversation-folding 是一个纯 UI 增强插件,用于优化 DSH 对话流的阅读体验。它把思考过程、工具调用等中间过程折叠起来,同时保持用户输入和 LLM 输出使用原生渲染样式,不改变内容本身。

✨ 功能一览

  • 整轮折叠(默认)

    • 用户输入保持原生样式。
    • 思考/工具调用过程被折叠为一个独立的折叠栏。
    • 尚未生成正文时,折叠栏下方保留最近一次过程预览;开始生成正文后,过程自动隐藏,只显示正文。
    • 点击“展开过程”可以查看完整过程。
  • Tool call 分组折叠

    • 连续的 tool-call 步骤会折叠成组,默认只显示最新一个,减少对话流中的重复工具调用刷屏。
  • 思维链增强

    • Think 块默认展开为可滚动子框。
    • 生成过程中自动跟随底部,方便实时阅读。
    • 新的思维链出现时,只折叠紧邻的前一个,保持上下文连续。
  • 折叠的步骤类型可按类型配置

    • 设置 →「对话折叠」独立标签页:18 个步骤类型分别开关是否折叠 (bash / think / read / write / edit / glob / grep / web / skill / 子代理 / 后台任务 / goal / 任务清单 / 提问 / ralph / workflow / 上下文注入 / 系统提示词)。
    • 默认不折叠:上下文注入、skill、系统提示词;其余类型折叠。

📦 安装

前置条件:已安装 DSH,且 dsh web 可以正常运行。

通过 npm / DSH CLI 安装

dsh plugin --profile web add @the-heart-fickle/dsh-conversation-folding@latest

通过 plugin-registry 安装

npm run package:registry
dsh registry install ./registry
dsh registry enable the-heart-fickle/dsh-conversation-folding

registry/ 是本地生成的安装暂存目录,不会提交到仓库。

🚀 快速上手

  1. 安装插件后重启 DSH,并刷新浏览器页面。
  2. 发送一条消息,观察:
    • 思考/工具调用过程被折叠为独立折叠栏;
    • 正文开始输出后,过程自动隐藏;
    • 点击“展开过程”可查看完整过程。
  3. 想回到官方渲染时,在设置中把「对话显示」切换为 Normal / Compact 即可。

⚙️ 配置

全部配置在浏览器端「设置」内完成,经 host 设置系统持久化到 ~/.dsh/settings.yamldsh-conversation-folding: 命名空间),跨端/重载恢复:

  • 对话显示(设置 → 对话显示):Normal / Compact / Fold。仅「Fold」由 本插件接管过程折叠,折叠行为只有一种:整轮折叠,正文永不折叠。
  • 对话折叠(独立标签页):各步骤类型的「是否折叠」开关。工具调用按 host 工具注册表的字面注册名经匹配表精确匹配(如 pwsh→Shell 命令、 str_replace_editor→编辑文件、todo_write→任务清单、ask_user_question→提问); 未列入匹配表的工具类型始终折叠。默认不折叠:上下文注入、skill、系统提示词。 浏览器 localStorage 不存任何配置。

0.1.x 曾支持 profile cordis.patch.yml 下发 foldMode / auxVisible;自本版本起 配置全部移到浏览器设置,host 不再持有配置。

🗂️ 效果示意

思考阶段(正文未开始)

用户输入
┌──────────────────────────────────┐
│ 折叠栏:展开过程   N 个步骤      │
└──────────────────────────────────┘
最近一次 thinking / tool call(增强样式)

正文输出后(多段正文全部保留,仅过程折叠)

用户输入
┌──────────────────────────────────┐
│ 折叠栏:展开过程   N 个步骤      │
└──────────────────────────────────┘
LLM 输出(原生正文样式,中间播报也完整可见)

🔧 环境要求

  • Node.js ≥ 20
  • DSH ≥ 0.1.2-rc.1(client 半边依赖 0.1.2 的 useChat ChatSnapshot)

📡 通信架构

host 半边只经官方 settings 服务触达配置:注册自有 settings 命名空间,经插件 RPC 路由 /conversation-folding/config 读写(src/index.ts);client 半边经 官方 Loader + slots 注入(0.1.2 slot 选举制约束见 docs/SPEC.mddocs/BUGS.md):

  • 构建:源码在 src/(host 半边 src/index.ts,浏览器端 src/client/), npm run build 经 esbuild 生成 lib/——lib/index.js 与以 window.__ModuleLoader__.load({ id, factory }) 包装注册的单文件 bundle lib/client.js(除 react 与官方 primitives 外全部内联)。lib/ 为构建产物 不入库,npm test 前自动构建。
  • 官方 Loaderdsh.plugin.json 仅负责装载浏览器半边 lib/client.js; host 壳(lib/index.js)是零依赖占位,不注入任何官方服务。
  • 显隐实现约束(0.1.2 slot 选举制):shadow 官方 tool-call 树再转发不可行 (shadowed entry 对查询不可见,输赢取决于 bundle 加载顺序),插件只 shadow assistant-step / turn-process,tool-call / context 由按座位 anchor key 生成的动态 CSS 控制显隐,官方组件原生渲染。

许可证

MIT

有意识地管理

安装与管理

前置条件与目标 Profile

目标 Web Profile

交付方式 Git Bundle — TheHeartFickle/dsh-conversation-folding#b21e104efb5a59a4b56c75488ec2fa329ecc0b43

验证、更新与移除

显示生命周期命令
验证
dsh plugin --profile web list

兼容性与访问范围

DSH ≥0.1.2-rc.1; Node.js ≥20 DSH >=0.1.2-rc.1

检查兼容性证据

风险事实

settings-data

Stores its own display settings through DSH settings under the dsh-conversation-folding namespace.

证据
证据与编辑审查Manifest、Bundle patch、分发与新鲜度

不可变证据

审查状态与源码活动

AI 已审查

请使用固定版本的仓库源码进行审查和安装评估;提供的证据未能确认 registry 可用性。

AI 审查于 2026/9/11 UTC 14:14GitHub 事实核对日期: 2026/9/11 UTC 14:14

自当前证据基线以来,没有记录到重要源码变化。

下一步

按 Plugin 安装流程操作

订阅重要变化: DSH Conversation Folding