🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

多窗格工作台 Asthmatic123/dsh-newtype-multititle

DeepSeek Harness
Asthmatic12320 天前有提交已提供中文文档扫描:含敏感能力

DSH 自由工作台插件 —— tab 化多会话 · 自由分栏 · 每窗格宿主原版对话框 DeepSeek…

35.5/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Asthmatic123/dsh-newtype-multititle
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · other
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 20 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包@dsh-external/dsh-newtype-multititle(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/31 16:36:57

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 14 处,展示前 14 条)
  • 读取本地文件
    lib/index.js:59
    names = await readdir(root);
  • 读取本地文件
    lib/index.js:67
    const st = await stat(abs);
  • 读取本地文件
    lib/index.js:132
    const st = await stat(abs);
  • 读取本地文件
    lib/index.js:134
    send(res, 200, (await readFile(abs)).toString("utf8"), "text/html; charset=utf-8");
  • 读取本地文件
    lib/index.js:165
    const st = await stat(abs);
  • 读取本地文件
    lib/index.js:170
    const buf = await readFile(abs);
  • 发起网络请求
    src/client/pages.ts:27
    const res = await fetch(`http://127.0.0.1:${port}/newtype/pages`, { signal: ctl.signal })
  • 发起网络请求
    src/client/pages.ts:101
    const res = await fetch(`${b}/newtype/pages`)
  • 读取本地文件
    src/index.ts:61
    try { names = await readdir(root) } catch { continue }
  • 读取本地文件
    src/index.ts:66
    const st = await stat(abs)
  • 读取本地文件
    src/index.ts:125
    const st = await stat(abs)
  • 读取本地文件
    src/index.ts:127
    send(res, 200, (await readFile(abs)).toString('utf8'), 'text/html; charset=utf-8')
  • 读取本地文件
    src/index.ts:148
    const st = await stat(abs)
  • 读取本地文件
    src/index.ts:150
    const buf = await readFile(abs)
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-ui-slots
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

1 张 · 点击查看大图

功能亮点

  • 多会话并行
  • 自由拖拽分栏
  • 每窗格独立对话框

README

由 DeepSeek 最新模型翻译生成
dsh-newtype-multititle DSH 自由工作台插件 —— 把 DeepSeek Harness 的对话区变成 tab 化、可自由分栏的多会话工作台。每个窗格都是宿主原版对话框(markdown / 工具卡 / 输入框 / 模型选择全在),不是自绘投影。 自由工作台:多会话并行 · 自由分栏 · 每窗格宿主原版对话框 功能 - 自由分栏工作台:基于 trellis 的拖拽 dock —— 拖 tab 到边缘分栏、拖到中心并入、双击聚焦(zoom)、布局自动持久化,重启恢复。 - 多会话并行:每个窗格独立 retain 一份会话引用,窗格内是宿主 conversation.content factory 渲染的原版对话框。 - 对话 / 轨迹切换:tab 齿轮菜单切换标准对话与轨迹视图,模式随布局持久化。 - 产出物右栏:常驻挂载、按会话归档的产出物流,点击直达工作台窗格。 - 内置浏览器:工作台内开浏览器 tab,不依赖宿主右栏。桌面版走 Electron webview(官方 dshDesktop 桥),不受 X-Frame-Options 限制,大站不白屏;web 版回落 iframe + 外部打开兜底。 - 文件窗格:点对话内文件 → 只读文件窗格;md 自动排版渲染(marked)+ mermaid 图表,颜色跟随主题。
展开完整文档(README 剩余 1 节)
dsh-newtype-multititle

DSH 自由工作台插件 —— 把 DeepSeek Harness 的对话区变成 tab 化、可自由分栏的多会话工作台。每个窗格都是宿主原版对话框(markdown / 工具卡 / 输入框 / 模型选择全在),不是自绘投影。

自由工作台:多会话并行 · 自由分栏 · 每窗格宿主原版对话框

功能

- 自由分栏工作台:基于 trellis 的拖拽 dock —— 拖 tab 到边缘分栏、拖到中心并入、双击聚焦(zoom)、布局自动持久化,重启恢复。
- 多会话并行:每个窗格独立 retain 一份会话引用,窗格内是宿主 conversation.content factory 渲染的原版对话框。
- 对话 / 轨迹切换: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 <0.2.1)。0.1.7 与 0.2.0 的六个接缝(conversation.content factory / SessionProvider 座位 / sidebar.panellist / sidebar.right.pane.tab / 拖拽协议 / 基础 CSS 变量)逐条比对一致。

构建

npm run typecheck # tsc --noEmit
npm test # node --test(纯逻辑层)
npm run build # tsdown → lib/index.js(服务端 ESM)+ lib/client.js(客户端 CJS,__ModuleLoader__ 包装)

架构速览

src/
index.ts 服务端半:cordis 插件,图页只读文件服务(127.0.0.1 白名单根,2MB 上限) client/ index.tsx 客户端入口:slots 注入(main newtype / sidebar.panellist / 右栏产出物) workbench/ WorkbenchView.tsx trellis 工作台(布局持久化 / 拖拽桥 / 空态预置) HostConversationPane.tsx 宿主 factory 窗格(retain 状态机 + 启动退避重试) SessionPane.tsx 降级兜底(eventSource 只读投影) SessionAccessories.tsx tab 配件(齿轮菜单 / 右栏开关 / 浏览器按钮) client/newtype.module.css 样式(lightningcss 内联,内容指纹 tagId 注入)

设计要点:

- 平台模块 external:react / cordis / @deepseek-ai/dsh-client-ui-slots 等由宿主 loader 冻结模块表提供;跨插件 value import 构建期直接报错(bundle purity gate)。
- CSS 内容指纹注入: 以 sha1(css) 前 8 位为 tagId,热更新只清同 tagId,多 CSS 模块互不覆盖。
- localStorage 键沿用 dsh-newtype.* 前缀:布局 / 图页策略 / 打开方式选择在改名前后互通。

已知限制

- 多窗格并发输入(R10):多实例 factory 的草稿/焦点归属由宿主决定,同时往多个窗格打字可能互相打断;发送请先点目标窗格聚焦。
- 轨迹视图在嵌入形态的可用性依宿主版本而定,不可用时齿轮中该视图显示降级文案。

License

MIT
预览分享卡片长什么样 ↓Asthmatic123/dsh-newtype-multititle
分享 · DeepSeek Harness Hub
Asthmatic123/dsh-newtype-multititle

DSH 自由工作台插件 —— tab 化多会话 · 自由分栏 · 每窗格宿主原版对话框 DeepSeek…

这是你的仓库?认领条目

回到顶部