前言¶
在 DeepSeek Harness(DSH)裏做智能體或多輪開發時,常見做法是單會話佔滿主區域:切任務要換 tab 或丟上下文,對照文檔、產出物和對話往往靠右欄來回點。社區插件 dsh-newtype-multititle(維護者 Asthmatic123)把對話區改成可拖拽分欄的工作臺:多個會話並行、佈局持久化,且每個窗格仍由宿主 conversation.content factory 渲染,markdown、工具卡、輸入框與模型選擇與原版一致,而不是自繪投影。
下面介紹插件定位、能力與安裝方式;事實以 GitHub 倉庫 README 與 SkillHub 目錄頁 爲準。DSH 生態強調「一切皆插件」;SkillHub 爲社區獨立目錄,與 DeepSeek / 幻方無官方從屬關係。
這是什麼¶
dsh-newtype-multititle 是 DSH 客戶端插件(npm 包名 @dsh-external/dsh-newtype-multititle,當前 package 版本 0.2.0,MIT 許可證)。一句話:把 Harness 對話區變成 tab 化、可自由分欄的多會話工作臺,每個窗格 retain 宿主原版對話框。
分類:客戶端。GitHub 星標:0(以目錄抓取爲準)。
核心功能¶
自由分欄工作臺¶
基於 trellis 的拖拽 dock:拖 tab 到邊緣分欄、拖到中心併入、雙擊聚焦(zoom);佈局自動持久化,重啓後恢復。localStorage 鍵沿用 dsh-newtype.* 前綴,改名前後佈局等數據可互通。
多會話並行¶
每個窗格獨立 retain 一份會話引用;窗格內爲宿主 factory 渲染的原版對話框,而非只讀投影(降級路徑 SessionPane 爲 eventSource 只讀投影,屬兜底)。
對話 / 軌跡切換¶
tab 齒輪菜單可在標準對話與軌跡視圖間切換,模式隨佈局持久化。軌跡視圖在嵌入形態下的可用性依宿主版本而定,不可用時齒輪中會顯示降級文案。
產出物右欄¶
常駐掛載、按會話歸檔的產出物流;點擊可直達對應工作臺窗格。
內置瀏覽器¶
工作臺內可開瀏覽器 tab,不依賴宿主右欄。桌面版經 Electron webview(官方 dshDesktop 橋),不受 X-Frame-Options 限制;Web 版回落 iframe,並提供外部打開兜底。
文件窗格¶
點擊對話內文件可打開只讀文件窗格;Markdown 經 marked 排版,mermaid 圖表顏色跟隨主題。
啓動對齊¶
重啓後自動恢復 session tab;會話服務未就緒時退避重試(500ms × 12),避免彈出「無法讀取對話」。
服務端半(src/index.ts)提供圖頁只讀文件服務:127.0.0.1 白名單根目錄,單文件 2MB 上限。
安裝與啓用¶
插件以當前 DSH 進程權限運行,安裝前建議瀏覽倉庫源碼與 LICENSE。安裝命令來自官方 README,勿憑插件名拼接 github:owner/repo。
方式一:Release 下載 tgz(免構建,推薦)
從 Releases 下載 .tgz 後執行:
dsh plugin --profile desktop add <下載的>.tgz
方式二:本地路徑
Web profile 將 --profile desktop 換爲 --profile web:
dsh plugin --profile desktop add <本倉庫克隆路徑>
方式三:源碼構建後安裝
git clone https://github.com/Asthmatic123/dsh-newtype-multititle.git
cd dsh-newtype-multititle && npm install && npm run build
dsh plugin --profile desktop add .
版本兼容¶
README 徽章標註插件狀態 v0.1.1;package.json 版本爲 0.2.0。DSH 側已驗證:
| dsh 版本 | 狀態 |
|---|---|
| 0.1.7-rc.2 | 主驗證線 |
| 0.2.0-rc.2 | 已驗證(desktop profile 實裝) |
peerDependencies 口徑:@deepseek-ai/dsh-client-ui-slots 爲 >=0.1.7-rc.2 <0.2.1;engines.dsh 爲 >=0.1.7-rc。
典型用法¶
- 安裝並啓用插件後,主區域進入 NewType 工作臺:從側欄或會話列表打開會話,以 tab 形式出現在工作臺。
- 拖拽 tab 到邊緣創建分欄,拖到中心合併;雙擊窗格聚焦。多個窗格可同時保留不同會話。
- tab 上齒輪菜單:切換對話 / 軌跡視圖;可開關右欄產出物、打開內置瀏覽器 tab。
- 對話中點擊文件:在工作臺內只讀打開;Markdown / mermaid 按主題渲染。
- 重啓 DSH:佈局與 session tab 自動恢復;若會話服務稍晚就緒,插件會退避重試而非立即報錯。
構建與自檢(開發者):
npm run typecheck # tsc --noEmit
npm test # node --test(純邏輯層)
npm run build # tsdown → lib/index.js + lib/client.js
適用場景與注意¶
適合:需要在同一 Harness 窗口內並行多個會話、對照文檔或產出物、分欄瀏覽網頁或只讀文件的 DSH 桌面 / Web 用戶。
已知限制(README):
- 多窗格併發輸入:多實例 factory 的草稿與焦點歸屬由宿主決定,同時向多個窗格輸入可能互相打斷;發送前請先點擊目標窗格聚焦。
- 軌跡視圖嵌入能力隨宿主版本變化。
插件依賴 trellis、marked 等;React / cordis / @deepseek-ai/dsh-client-ui-slots 由宿主 loader 提供,跨插件 value import 在構建期會被 purity gate 拒絕。
鏈接¶
- 目錄頁:https://www.skillhub.cn/plugins/Asthmatic123/dsh-newtype-multititle
- 源碼與說明:https://github.com/Asthmatic123/dsh-newtype-multititle
經過上面的步驟,你可以在 DSH 裏用 tab 與分欄組織多會話,同時保留宿主原版對話體驗;細節與更新以 GitHub README 爲準。