前言¶
在 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 为准。