前言¶
在 DeepSeek Harness(DSH)中使用“在新對話中分支 / Branch into a new conversation”後,多個 Session 之間會形成父子與兄弟關係。原生按鈕可以創建分支,但要在父會話、兄弟分支和子會話之間來回查看和切換,仍然需要一個新的譜系視圖。
下面介紹 dsh-session-tree。它給 DSH 增加一個輕量、只讀的會話譜系視圖,用於查看當前對話的原生 fork 樹,並在父會話、兄弟分支和子會話之間跳轉。該視圖不維護另一份分支數據庫,分支創建仍由 DSH 原生完成。
插件定位¶
- 名稱:
ZhengQingJing/dsh-session-tree - 維護者:
ZhengQingJing - 許可證:MIT
- 適配環境:DeepSeek Harness
0.1.0-rc.7,Node.js^22.19.0 || >=24.0.0 - 來源性質:非官方社區插件,不隸屬於 DeepSeek,也未經 DeepSeek 背書
- 階段說明:DSH 與本插件仍處於預發佈階段
社區插件目錄是獨立站點,不等同於官方應用商店。
核心功能¶
dsh-session-tree 提供以下能力:
- 安裝後新增“版本樹 / Branches”標籤。
- 查看當前對話的原生 fork 樹。
- 在父會話、兄弟分支和子會話之間跳轉。
- 點擊樹中的節點即可切換到對應 Session。
- 只讀取 DSH 原生
SessionSummary.parentId譜系,並執行客戶端導航。
安裝與啓用¶
前置條件是 dsh 和 pnpm 已在 PATH 中;dsh plugin 會把依賴操作轉交給 profile 內的 pnpm。
當前建議固定安裝已驗證版本。pnpm 11 默認對發佈不足 24 小時的版本應用 minimumReleaseAge 保護;固定當前已驗證版本可避免 @next 在這段時間內回退到舊版:
dsh plugin --profile web add dsh-session-tree@0.2.0-beta.1
安裝完成後,如果剛安裝或更新過插件,需要重啓 DSH 並重新加載瀏覽器頁面。
啓動前可以用下面命令檢查組合結果:
dsh --profile web --dump-config
輸出中應包含一條 dsh-session-tree 配置行。
典型用法¶
- 在
Chat中找到一個已完成的 assistant 回覆。 - 使用回覆操作區裏 DSH 原生的“在新對話中分支 / Branch into a new conversation”按鈕創建分支。
- 打開“版本樹 / Branches”標籤,新建的子 Session 會自動出現在當前會話家族中。
- 點擊樹中的節點即可切換到對應 Session。
分支創建由 DSH 自己完成;本插件不復制 fork 協議,也不維護另一份分支數據庫。
邊界與限制¶
- 只讀取 DSH 原生
SessionSummary.parentId譜系並執行客戶端導航。 - 不追加 Session 事件、不修改 parent pointer、不創建 side store。
- 卸載插件不會刪除或改變任何原生 Session。
- 對話分支只改變後續模型上下文,不會撤銷文件修改、命令、Git 狀態、進程、網絡請求或其他工具副作用。
- 不標註精確源
seq。 - 不提供命名 ref、HEAD、merge、rebase、cherry-pick、分支刪除或文件系統快照。
- 當前 DSH 瀏覽器端插件 roster 在安裝、更新或移除後仍需要重啓。
- 樹只展示當前客戶端已經知道的 Session;尚未加載或已失聯的 subagent 可能不可導航。
適用場景與注意¶
適合在 DSH web profile 中頻繁創建分支、需要回到父會話或查看兄弟分支的開發者。
由於插件會隨 DSH 加載,並以當前 dsh 進程權限運行,安裝前應檢查源碼和許可證。本插件許可證爲 MIT。DSH 與本插件仍處於預發佈階段,升級前請備份重要的 profile 和 Session 數據。
參考¶
- GitHub:https://github.com/ZhengQingJing/dsh-session-tree
- 插件目錄頁(來自插件線索):https://www.skillhub.cn/plugins/ZhengQingJing/dsh-session-tree