前言¶
在 DeepSeek Harness(DSH)里做长对话时,常见做法是顺着时间线往下聊,或在 Chat 里往上翻找某一轮再接着问。若你想在同一会话里从任意一轮「岔出去」追问,而不另开新会话,线性聊天界面并不直观。dsh-dialogue-mindmap 是社区维护者 gaor0605-kq 发布的 Web UI 插件:在「对话(Chat)」标签旁增加 Canvas 视图,把每一轮渲染成从左到右的树形节点,并支持从任意节点在同一会话内继续拓展。插件归类为工作流,当前 GitHub 星标为 0;与 SkillHub 目录页同属社区生态,并非 DeepSeek / 幻方官方应用商店条目。
这是什么¶
dsh-dialogue-mindmap 面向已使用 DSH Web UI 的开发者与智能体使用者。它在单条会话上提供 Chat 与 Canvas 两种视图切换,不改变后端会话模型:分支追问仍发生在同一 session 内,模型仍能看到完整对话历史;插件通过前缀说明当前追问基于哪一轮。实现为纯客户端插件(platform: web),无宿主机侧依赖;README 注明在 dsh 0.2.1-rc.5 上测试过。
核心功能¶
Canvas 与 Chat 并列¶
刷新 Web UI 并打开任意会话后,Chat 旁会出现 Canvas 标签,可在同一对话的两种呈现之间切换。显示 Canvas 时,下方输入区(composer)会隐藏,画布占满剩余高度(实现依赖 Web UI 的 data-composer-seat 属性,宿主 UI 变更时可能需要插件更新)。
一轮一节点,默认线性成链¶
每个 turn 对应导图中的一个节点,布局为从左到右的树:第一轮为根;默认情况下每一轮新消息挂在上一轮之下,形成主链。
从任意节点分支¶
选中节点后,在侧栏输入跟进内容并点击按钮(或 Ctrl+Enter)。消息发往同一会话,并带上对所选调 turn 的简短引用前缀;返回的新 turn 作为该节点的子节点挂上。在回答到达前,会出现虚线「等待回答」占位。
详情侧栏¶
点击节点打开侧栏:可滚动查看完整问题与完整回答、按钮切回 Chat 视图、以及分支输入框。可拖拽侧栏左缘调整宽度(双击左缘恢复默认),宽度会记住。
平移与缩放¶
在画布空白处拖拽平移;滚轮以光标为中心缩放(25%–250%);右下角提供缩小 / 重置 / 放大控件。
安装与启用¶
插件通过 DSH 插件命令安装,安装后刷新 Web UI 即可在会话里看到 Canvas 标签。
dsh plugin add dsh-dialogue-mindmap
安装前建议自行查看 GitHub 仓库 源码与 MIT 许可证;插件随当前 dsh 进程与用户权限在浏览器中运行,树结构等数据写在本地,不涉及服务端额外组件。
典型用法¶
- 执行上述安装命令,刷新 Web UI,打开一条已有或新建的会话。
- 在 Chat 与 Canvas 之间切换;在 Canvas 中浏览从左到右的节点树。
- 需要岔开话题时:选中目标节点 → 在侧栏输入跟进 → 发送(或 Ctrl+Enter)→ 等待新节点出现在该节点下方。
- 需要看全文时:点节点打开侧栏;若某轮在 Chat 中尚未加载,侧栏可能只显示截断预览,可先在 Chat 里向上滚动一次以加载历史 turn。
- 用拖拽与滚轮调整视图;需要回到线性聊天时用侧栏或切回 Chat。
适用场景与注意¶
适合:在同一 DSH 会话内做探索式追问、从中间某轮重新展开子线,并希望用空间布局看清分支关系,而不是只靠时间线滚动。
局限(README 原文):
- 节点父子关系存在浏览器
localStorage中,按会话区分;不跨浏览器或设备同步;清除站点数据后布局会退化为线性链。 - 分支仍在单会话内,模型上下文仍是整段历史;前缀仅提示「基于哪一轮」。
- 详情侧栏全文来自 Chat 已加载的 turn;很老的轮次需先在 Chat 中加载。
- Composer 隐藏方式绑定宿主 UI 属性,宿主升级后可能需要插件跟进。
package.json 中版本为 1.2.3;目录与 issue 见仓库 homepage 与 bugs URL。
结尾¶
dsh-dialogue-mindmap 把「同一会话、多线追问」做成可操作的画布:Chat 负责照常对话,Canvas 负责看清分支并从任意节点继续。进一步了解可访问 SkillHub 目录页 gaor0605-kq/dsh-dialogue-mindmap 与 GitHub gaor0605-kq/dsh-dialogue-mindmap。