前言¶
在 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。