Asthmatic123/dsh-newtype-multititle ↗★ 0
@dsh-external/dsh-newtype-multititle
NewType 工作台:tab 化会话列表 + 自由分栏(trellis 式,Ely 视觉口径)。DSH client-plugin。 适合需要多窗口并行对比、自由拖拽布局以处理复杂任务的用户。
설치
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Asthmatic123/dsh-newtype-multititledsh-newtype-multititle
DSH 自由工作台插件 —— 把 DeepSeek Harness 的对话区变成一个 tab 化、可自由分栏的多会话工作台。每个窗格都是宿主原版对话框(markdown / 工具卡 / 输入框 / 模型选择全在),不是自绘投影。

功能
- 自由分栏工作台:基于 trellis 的拖拽 dock —— 拖 tab 到边缘分栏、拖到中心并入、双击聚焦(zoom)、布局自动持久化,重启恢复。
- 多会话并行:每个窗格独立 retain 一份会话引用,窗格内是宿主
conversation.contentfactory 渲染的原版对话框。 - 对话 / 轨迹切换:tab 齿轮菜单切换标准对话与轨迹视图,模式随布局持久化。
- 产出物右栏:常驻挂载、按会话归档的产出物流,点击直达工作台窗格。
- 内置浏览器:工作台内开浏览器 tab,不依赖宿主右栏。桌面版走 Electron webview(官方 dshDesktop 桥),不受 X-Frame-Options 限制,大站不白屏;web 版回落 iframe + 外部打开兜底。
- 文件窗格:点对话内文件 → 只读文件窗格;md 自动排版渲染(marked)+ mermaid 图表,颜色跟随主题。
- 启动对齐:重启后自动恢复 session tab,会话服务未就绪时退避重试(500ms × 12),不弹「无法读取对话」。
安装
# 方式一:Release 下载 tgz 直装(免构建,推荐)
# 从 https://github.com/Asthmatic123/dsh-newtype-multititle/releases 下载 .tgz
dsh plugin --profile desktop add .tgz
# 方式二:本地路径安装(web profile 同理加 --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 .
版本兼容
| dsh 版本 | 状态 |
|---|---|
| 0.1.7-rc.2 | ✅ 主验证线 |
| 0.2.0-rc.2 | ✅ 已验证(desktop profile 实装) |
兼容口径:peerDependencies 跨 minor 区间(>=0.1.7-rc.2 以 sha1(css) 前 8 位为 tagId,热更新只清同 tagId,多 CSS 模块互不覆盖。
- localStorage 键沿用
dsh-newtype.*前缀:布局 / 图页策略 / 打开方式选择在改名前后互通。
已知限制
- 多窗格并发输入(R10):多实例 factory 的草稿/焦点归属由宿主决定,同时往多个窗格打字可能互相打断;发送请先点目标窗格聚焦。
- 轨迹视图在嵌入形态的可用性依宿主版本而定,不可用时齿轮中该视图显示降级文案。