dsh-multiview:在 DeepSeek Harness 中並排運行 2~4 路真實對話

前言

在 DeepSeek Harness(DSH)裏做多會話並行時,常見做法是反覆切換會話標籤,或開多個窗口。前者打斷上下文對比,後者佔用屏幕且難以統一調整佈局。dsh-multiview 是社區維護的客戶端插件,目標是在同一窗口內並排展示 2~4 路真實 Chat:每格保留 composer、流式輸出、工具卡片、審批卡片、ask_user_question、附件、斜槓命令以及 stop/queue,讀感上接近宿主自帶能力,而不是用私有擴展點做佈局劫持或 monkey-patch。

這是什麼

  • 名稱:dsh-multiview(npm 包名與安裝標識一致)
  • 維護者:Awenforever
  • 分類:客戶端(dsh.client,web 平臺、immediately 加載)
  • 倉庫:github.com/Awenforever/dsh-multiview
  • 當前版本(package.json):0.1.25
  • 許可證:MIT

插件在左側欄面板列表中提供 Split 入口;開啓後中央列變爲分屏舞臺,再次點擊可回到原生單會話視圖。

核心功能

下面能力均來自項目 README 與 manifest,未在 v1 刻意支持的範圍見後文「適用場景與注意」。

  1. 分屏數量:舞臺欄提供 2、3、4 芯片,切換 pane 數量。
  2. 佈局:拖拽 pane 間分隔條調整寬度;拖拽某一 pane 標題到另一 pane 上可交換位置。
  3. 最大化:pane 標題欄的 ⤢ 按鈕可最大化/還原,舞臺欄會顯示 “Restore”。
  4. 綁定會話:空 pane 內可搜索並選擇已有 session;有內容的 pane 點 ✕ 會將會話放回會話列表(分屏形狀不變),僅空 pane 的 ✕ 會真正移除該格。
  5. 回到原生視圖:pane 上的 ↗ 將會話交還給原生對話視圖(右側欄文件預覽、diff 審查僅存在於該視圖)。
  6. 視圖記憶:Bar → Views:含 2 個以上 session 的分屏會自動記住;點擊恢復,✕ 刪除。
  7. 更新檢查:欄右側刷新圖標,每 24 小時檢查一次;有新版本時紅點提示,確認後更新。

客戶端僅使用公開 slot 表面(如 keyed main panel、SessionProvider、conversation.content 的 variant:'embedded'、sessions.retain 等),設計上避免接管標題欄或篡改私有導航。

安裝與啓用

環境要求(engines.dsh):>=0.2.1-rc.5 <0.3.0。README 另寫明細分區間:>=0.2.1-rc.5 <0.2.2-0 || >=0.2.2-rc.1 <0.3.0。構建在 0.2.1-rc.5 與 0.2.2-rc.1 上驗證;其他版本工具欄 tooltip 會提示未按該組合測試。

任選一種安裝方式後,退出並重新打開 DeepSeek Harness,以便客戶端 bundle 重新加載:

dsh plugin add dsh-multiview

或在 DSH Desktop 中打開 Plugins → Add 搜索安裝(維護者亦可用 plugin_manager install_bundle)。

卸載:在 Plugins 頁面禁用/移除並重啓。可能殘留 localStorage['dsh.multiview.v1'] 佈局鍵;舞臺上的 Reset 可清除。

典型用法

操作 方式
打開/關閉分屏 側欄面板列表中的 Split 圖標
2 / 3 / 4 格 舞臺欄 2、3、4
調整寬度 拖拽格間分隔條
交換兩格 拖拽 pane 標題到另一格
在格內選會話 空格內搜索並選擇
在原生視圖繼續 pane 上 ↗

快捷鍵(模塊默認,可在 Settings → Shortcuts 重綁):

命令 桌面默認
聚焦上一格 / 下一格 Mod+Alt+[ / Mod+Alt+]
最大化或還原當前格 Mod+Alt+M
從分屏移除當前格 Mod+Alt+W

Web 殼無默認快捷鍵綁定;若在 Web/Linux 上強綁可能因 “reserved” 在啓動時報錯,需手動配置。桌面默認可用。

窗口過窄(寬低於 900px 或高低於 520px)時,舞臺會退化爲單格加格切換器,佈局樹仍保留。

適用場景與注意

適合:需要同時對照多條對話進度(例如多任務 agent、並行代碼審查與問答)、且希望每格行爲與原生 Chat 一致的用戶。

v1 有意不支持(README “Not supported”):

  1. 分屏格內文件預覽 / diff——全局面板激活時宿主會卸載右側 session surface,請用 ↗ 回到原生視圖。
  2. 在格內新建 session——需在原生視圖創建。
  3. 每格獨立切換 Trajectory / 插件視圖——格固定爲 Chat。
  4. 側欄點擊路由到當前聚焦格——側欄保持原生行爲(會離開分屏)。
  5. 超過 4 格;以及“假暫停”未聚焦格的渲染(移除或重綁格時釋放資源)。

性能:README 給出在指定桌面環境下的 CDP rAF 採樣表;四路長流式同時進行時 p95 可能升至約 50ms,偶發 150ms 幀,v1 不以降幀換取“真 Chat”。多格渲染成本亦見上游 discussion #12559。

安全與權限:插件作爲 DSH 客戶端 bundle 加載,在當前 DSH 進程權限下運行;安裝前請查閱 倉庫源碼 與 MIT 許可證。客戶端網絡請求限於插件市場同源 API 以及爲發現版本而對 registry.npmjs.org/dsh-multiview/latest 的只讀訪問(無憑證、無 referrer);安裝仍經市場流程。

DSH 生態理念是「一切皆插件」;SkillHub 目錄頁 爲社區站點,與 DeepSeek / 幻方無官方從屬關係。

狀態:Pre-1.0,日常可用,小版本可能有 breaking change,見 CHANGELOG.md。問題與功能請求:GitHub Issues(模板要求提供插件版本與宿主版本)。

結尾

dsh-multiview 把 2~4 路並行對話收進單窗分屏,每格是宿主提供的真實 Chat 表面,而不是簡化版聊天區。若你的工作流常要在多會話間對照流式輸出與工具調用,可先按上文命令安裝,用 Split 與 Views 固化常用佈局。

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

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

小夜