dsh-newtype-multititle:DSH 自由工作台(tab 多会话 · 自由分栏 · 原版对话框窗格)

前言

在 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。

典型用法

  1. 安装并启用插件后,主区域进入 NewType 工作台:从侧栏或会话列表打开会话,以 tab 形式出现在工作台。
  2. 拖拽 tab 到边缘创建分栏,拖到中心合并;双击窗格聚焦。多个窗格可同时保留不同会话。
  3. tab 上齿轮菜单:切换对话 / 轨迹视图;可开关右栏产出物、打开内置浏览器 tab。
  4. 对话中点击文件:在工作台内只读打开;Markdown / mermaid 按主题渲染。
  5. 重启 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 拒绝。

链接

经过上面的步骤,你可以在 DSH 里用 tab 与分栏组织多会话,同时保留宿主原版对话体验;细节与更新以 GitHub README 为准。

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

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

小夜