前言¶
在 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 刻意支持的範圍見後文「適用場景與注意」。
- 分屏數量:舞臺欄提供
2、3、4芯片,切換 pane 數量。 - 佈局:拖拽 pane 間分隔條調整寬度;拖拽某一 pane 標題到另一 pane 上可交換位置。
- 最大化:pane 標題欄的 ⤢ 按鈕可最大化/還原,舞臺欄會顯示 “Restore”。
- 綁定會話:空 pane 內可搜索並選擇已有 session;有內容的 pane 點 ✕ 會將會話放回會話列表(分屏形狀不變),僅空 pane 的 ✕ 會真正移除該格。
- 回到原生視圖:pane 上的 ↗ 將會話交還給原生對話視圖(右側欄文件預覽、diff 審查僅存在於該視圖)。
- 視圖記憶:Bar → Views:含 2 個以上 session 的分屏會自動記住;點擊恢復,✕ 刪除。
- 更新檢查:欄右側刷新圖標,每 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”):
- 分屏格內文件預覽 / diff——全局面板激活時宿主會卸載右側 session surface,請用 ↗ 回到原生視圖。
- 在格內新建 session——需在原生視圖創建。
- 每格獨立切換 Trajectory / 插件視圖——格固定爲 Chat。
- 側欄點擊路由到當前聚焦格——側欄保持原生行爲(會離開分屏)。
- 超過 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 固化常用佈局。