dsh-multi-session:在 DeepSeek Harness 裏並排驅動多個會話

前言

在 Harness 裏同時跟進多條對話時,常見做法是反覆切換側邊欄裏的會話列表:上下文在腦子裏對齊,界面卻始終只能看一條線程。若要在同一窗口裏對照多條回覆、並行給不同會話下指令,原生單頁對話佈局就不夠用了。

下面介紹社區客戶端插件 dsh-multi-session(維護者 vegetable86):在 DSH 中註冊獨立的「多會話」主面板,把多個已有會話平鋪在同一視圖裏,每格都是完整的原生對話(消息流與輸入框),並支持類似 tmux 的分隔條調整與多套佈局標籤。插件歸類爲客戶端,當前 GitHub 星標爲 0;許可證爲 MIT(見倉庫 LICENSE)。

這是什麼

一句話定位:爲 DeepSeek Harness 提供的多會話分屏工作區——側邊欄進入後,在一個面板裏並排查看並操作多條會話。

npm 包名(README 寫明):@vegataa/dsh-multi-session。package.json 中版本爲 0.9.0,描述爲 “Multi-session split view panel for DeepSeek Harness”。Host 側 index.js 爲空實現,能力全部在客戶端 bundle client.js 中完成。

DeepSeek Harness 的擴展思路是「一切皆插件」;SkillHub 上的插件目錄是社區站點,與 DeepSeek / 幻方無官方從屬關係。安裝與啓用前宜自行審閱源碼與許可證——插件以當前 DSH 進程權限運行。

核心功能

多會話主面板

  • 只註冊一個 main 面板(key multisession)和一個 sidebar.panellist 圖標,普通單會話對話頁不受影響。
  • 格子數量不設上限;每格通過 <SessionProvider session={reference}> 綁定已有會話,內部用官方 conversation.content 工廠槽(variant: 'embedded')渲染,不是自繪聊天 UI。
  • 格子兩兩不重疊地平鋪;拖動橫、豎分隔條可調整相鄰格子尺寸,手感類似 tmux;單格可最大化 / 還原、關閉(至少保留一格),工具條「均分」可恢復平均分配。

標籤欄與多套佈局

面板頂部爲類似瀏覽器的標籤欄:每個標籤對應一整套獨立的多會話佈局(格子、分隔條權重、最大化 / 最小化狀態)。可 + 新建標籤(默認填入最近兩個會話)、× 關閉標籤(至少保留一個)、雙擊改名;標籤標題默認跟隨第一個會話,會話運行時標籤上有小綠點。

最小化、新建會話與沉浸全屏

  • 標題欄「最小化」將格子收到面板上方標題條(帶運行狀態點),不佔網格,其餘格子自動鋪滿。
  • 空格或選擇器底部的「新建會話」會先選工作區,再在該格內 sessions.create({ workspaceId }),不離開多會話頁面;無工作區時退回 Host 默認目錄。
  • 工具條「沉浸全屏」讓面板鋪滿窗口並蓋住左右側欄;再點一次或按 Esc 退出,佈局保留。

持久化與健壯性

佈局、綁定會話、最大化 / 最小化 / 全屏狀態會自動記住,刷新或重啓後恢復;會話不存在時顯示「不可用」並可重選。選擇器默認不列子代理會話,也不列空白會話(當前格綁定的空白會話除外)。

實現上對 conversation.content 簽名變化、格子內渲染異常等做了錯誤邊界與重試;整面板異常時可一鍵清佈局重置。存儲從 v1–v5 單份佈局會升級到標籤模型的第一個標籤。

安裝與啓用

已抓取 README 與 package.json 未給出 dsh plugin add … 一類官方 CLI 安裝原文;請勿僅憑倉庫名自行拼接命令。可按以下途徑覈對:

  1. 打開社區目錄頁:https://www.skillhub.cn/plugins/vegetable86/dsh-multi-session,按頁面說明安裝(若提供)。
  2. 查閱 GitHub 倉庫發佈與說明:https://github.com/vegetable86/dsh-multi-session(npm 發佈名見 README:@vegataa/dsh-multi-session)。

package.json 中 dsh.client 配置爲 platform: web、immediately: true,並注入會話、佈局、側欄、工作區等相關客戶端模塊;安裝後應在左側邊欄看到「多會話」入口。

典型用法

先做 X:從側邊欄點「多會話」圖標進入面板。

  1. 首次打開:自動填入最近兩個會話;每格標題欄點會話名可切換(支持搜索);工具條「+ 添加會話格」可增加格子。
  2. 調佈局:拖行與行之間的橫分隔條調整上下行高度;拖同一行內豎分隔條讓左右格互補變寬變窄;需要時可對單格最大化,或用「均分」恢復。
  3. 多佈局:用頂部標籤切換不同分屏方案;+ 新建、× 關閉(保留至少一個標籤),雙擊改名。
  4. 並行新建:在某一格用「新建會話」,選好工作區後在該格創建,全程留在多會話頁。
  5. 大屏對照:點工具條右上角「沉浸全屏」騰出側欄寬度;Esc 依次退出最大化與全屏。

經過上面的步驟,你可以在同一個 Harness 窗口裏並排閱讀與輸入,而不必在會話列表裏來回跳轉。

適用場景與注意

適合誰:需要同時盯多條 Agent 對話、對照不同工作區會話輸出,或希望用分屏代替頻繁切換側邊欄的 Harness 用戶。

注意:

  • 依賴 Harness 內部 conversation.content 等客戶端 API;上游簽名變更時,單格可能短暫顯示「此視圖暫不可用」,插件側已做隔離,避免拖垮整個面板。
  • 插件爲純客戶端 bundle,無額外構建步驟對外發布形態爲 client.js(window.__ModuleLoader__.load(...) 包);開發自測可用倉庫內 npm test(註冊形態與 jsdom 渲染冒煙)。
  • 安裝前請閱讀源碼與 MIT 許可證;勿在未審閱的情況下在生產環境盲目引入第三方插件。

結尾

dsh-multi-session 把「多會話並排查看與驅動」收進一個獨立主面板:原生對話組件、tmux 式分屏、標籤化多套佈局與狀態持久化,適合在 DSH 裏做並行對話工作流。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜