前言¶
在 DeepSeek Harness(DSH)裏做長會話時,常見做法是在同一條對話裏不斷追加提問,或在 DSH 自帶能力裏從某一輪之後開子會話。前者很難一眼看清「從哪一輪岔出去、各分支走到哪」;後者若缺少按輪次組織的視圖,回溯和對比多條探索路徑仍偏費勁。若還需要把多輪問答或片段拼成下一次輸入,往往要在編輯器與聊天窗口之間來回複製。
下面介紹社區插件 dsh-session-helix(維護者 Analyzer3739,分類:工作流)。它在 Web 端提供按輪次排列的分支樹,以及工作區級的草稿板,面向 DSH 會話分叉(session fork)場景,不替代 DSH 存會話,只讀投影與事件並在本地保存草稿板數據。
這是什麼¶
插件倉庫:Analyzer3739/dsh-session-helix。目錄頁:skillhub.cn 條目。
一句話定位(與 package.json 描述一致):Turn-level branch tree and draft board for DeepSeek Harness session forks——即「輪次級分支樹 + 草稿板」,服務 DSH 會話分叉。
當前版本 0.1.0,許可證 MIT。GitHub 星標爲 0(以目錄頁信息爲準)。插件不發起網絡請求,不上傳內容;界面目前只有中文。
分支樹¶
分支樹把分叉關係畫成「一條分支一列、一輪一行」:
- 分叉邊從父輪的切點連到子分支的第一個自有輪次;沒有產生自有輪次的空分叉顯示爲虛線節點。
- 輪次節點展示提問摘要、狀態、耗時、工具數與
seq;懸停可看完整問答摘要,點開右側詳情欄看全文。 - 分叉:對已結束的輪次點
⑂,從該輪之後創建子會話並自動打開。同一時間只允許一個分叉進行;同一切點若已有未歸檔的空分叉,會先確認,確認框只列出這些空分叉。 - 歸檔 / 恢復:歸檔隻影響側欄可見性,樹上節點仍保留並標「已歸檔」,可恢復;歸檔中的會話不能分叉。
- 過濾:可只看當前分支或顯示全部分支;可隱藏空分支;歸檔會話以暗色顯示,不會從樹上消失。
- 導航:左側目錄按根會話定位;拖動畫布平移;
Ctrl+ 滾輪或捏合縮放(0.7–1.4×,圍繞指針);方向鍵在節點間移動;雙擊分隔條復位。 - 密度:緊湊 / 標準 / 寬鬆三檔;目錄寬度、詳情欄寬度、縮放與密度會本地記住。
入口有兩處:會話視圖頁籤(Chat / Trajectory 旁),以及工作區主面板側欄面板列表中的樹形圖標。
草稿板¶
草稿板與工作區綁定,多組卡片可並存:
- 組可新建、重命名、刪除(至少保留一組),用搜索式下拉切換;每組有獨立的卡片、勾選和手改內容。
- 卡片來源:把樹上的一輪(提問 + 回答)收進當前組,或在詳情欄選中一段文字點「摘錄」。
- 卡片操作:勾選後才參與拼裝;可拖拽排序、就地編輯、移出;「已改」與「預覽」角標標明狀態。
- 拼裝:以
## 參考片段開頭,每張卡帶【標題 · T7】與正文。未改動的卡片以原生引用 chip 進入輸入框,改過的卡片以>純文本進入;兩者對模型可見的文本逐字一致。 - 填入當前會話:把拼裝結果追加到當前輸入框,保留已有 chip 與草稿;不新建會話、不替換草稿、不跨會話。失敗時會說明是無輸入框、輸入框正忙、內容爲空還是會話不屬於工作區。
- 手改與複製:可直接改拼裝區(標記「已手改」),也可以「重新拼裝」回到自動結果或複製全文;清空組會先確認。
入口:右側欄頁籤,或分支樹畫布右側的抽屜。
草稿板中卡片的提問 / 回答正文保存在瀏覽器 localStorage(鍵名 dsh-dst.drafts.v1);佈局、目錄寬度與視圖開關也在本地。清除站點數據會丟失草稿板。會話本身仍由 DSH 保存;插件不寫會話日誌。歸檔不是刪除——DSH 沒有刪除會話的 API,本插件也不提供刪除。
安裝與啓用¶
要求 DeepSeek Harness >=0.2.2-alpha.2 <0.3.0(README 寫明當前只在 0.2.2-alpha.2 上驗證過)。Node 引擎要求 >=22.19.0(見 package.json)。
在 Web profile 下安裝並啓動:
dsh plugin --profile web add github:Analyzer3739/dsh-session-helix
dsh web
安裝後需重啓該 profile;若只改前端,刷新頁面即可。本地開發可 link 到源碼目錄:
dsh plugin --profile web add link:/absolute/path/to/dsh-session-helix
插件以當前 DSH 進程及 Web 前端權限運行;安裝前建議在 GitHub 閱讀源碼與 MIT 許可證,確認符合你的環境策略。
典型用法¶
- 打開分支樹頁籤或側欄樹形面板,按根會話瀏覽各列分支;用「當前分支 / 全部分支」與「不顯示空分支」控制信息量。
- 在某輪已結束後點
⑂分叉;若同切點有空分叉,按確認框處理後再繼續。 - 需要引用歷史輪次時,把一輪收進草稿板當前組,或從詳情欄摘錄片段;勾選卡片後拼裝,再點「填入當前會話」追加到輸入框。
- 長會話探索完成後,對不再常看的分支做歸檔(側欄隱藏,樹上仍可恢復),避免側欄 clutter。
依賴 DSH 公開接口如 sessionProjections、conversation.view、conversation.input.overlay、sidebarRightTabs 等;DSH 小版本升級若改動這些接口,插件可能需要跟隨更新。
適用場景與注意¶
適合:在同一工作區內頻繁從某一輪分叉、對比多條 agent 軌跡;需要把多輪問答或摘錄片段拼成帶引用 chip 的下一次輸入的 DSH Web 用戶。
限制(來自 README):
- 分叉會複製父會話的繼承前綴(大會話可達數 MB),故同一時間只允許一個分叉;大分支上會有短暫等待。
- 空分支開關、草稿板內容與分叉確認均爲本機瀏覽器 / 工作區範圍,不跨設備同步。
- 社區目錄站點與 DeepSeek / 幻方無官方從屬關係;DSH 生態理念是「一切皆插件」,本插件是社區工作流類擴展之一。
源碼無構建步驟,可用下列命令做語法檢查:
node --check index.js
node --check client.js
結尾¶
dsh-session-helix 把 DSH 會話分叉做成可導航的分支樹,並用草稿板把輪次與摘錄拼裝進當前輸入框,且網絡側零上傳。若你的 Web 工作流已用到 0.2.2-alpha.2 一帶的 DSH,可按上文命令安裝試用。