把多个会话变成可拖拽窗口,用任务栏切换管理
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add mrbeandev/dsh-desktop-ui该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · market
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 17 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DeepSeek Harness 网页界面的桌面模式:会话变成可移动窗口,带任务栏(实验性)
README
由 DeepSeek 最新模型翻译生成dsh-desktop-ui
DeepSeek Harness Web 图形界面的桌面模式。侧边栏原样保留,把对话区变成桌面:每个会话都是一个可移动、可缩放的窗口,底部还有任务栏。
- 源码: github.com/mrbeandev/dsh-desktop-ui
- npm 包: npmjs.com/package/dsh-desktop-ui
目录: 为什么做这个插件 · 安装 ·功能 · 兼容性 ·开发 · 本地配置 · 发布检查清单
桌面模式下平铺四个会话,浅色主题
为什么做这个插件
DSH 一次只显示一个对话。同时处理多个会话时——一个跑很久的智能体任务、一个随手问的问题、一次代码审查——你得在侧边栏里反复点来点去。桌面模式让它们同时留在屏幕上,并排摆好,其余的收进任务栏。
从 npm 安装
dsh plugin --profile web add dsh-desktop-ui
按提示重启 dsh web,然后刷新 DSH 页面。侧边栏里会出现 Desktop mode 开关,就在 Settings 正上方。
卸载:
dsh plugin --profile web remove dsh-desktop-ui
重启并刷新。普通对话视图恢复原样,只有浏览器本地的窗口布局还留在 localStorage 里。
展开完整文档(README 剩余 1 节)
dsh-desktop-ui
DeepSeek Harness Web 图形界面的桌面模式。侧边栏原样保留,把对话区变成桌面:每个会话都是一个可移动、可缩放的窗口,底部还有任务栏。
- 源码: github.com/mrbeandev/dsh-desktop-ui
- npm 包: npmjs.com/package/dsh-desktop-ui
目录: 为什么做这个插件 · 安装 ·功能 · 兼容性 ·开发 · 本地配置 · 发布检查清单
桌面模式下平铺四个会话,浅色主题
为什么做这个插件
DSH 一次只显示一个对话。同时处理多个会话时——一个跑很久的智能体任务、一个随手问的问题、一次代码审查——你得在侧边栏里反复点来点去。桌面模式让它们同时留在屏幕上,并排摆好,其余的收进任务栏。
从 npm 安装
dsh plugin --profile web add dsh-desktop-ui
按提示重启 dsh web,然后刷新 DSH 页面。侧边栏里会出现 Desktop mode 开关,就在 Settings 正上方。
卸载:
dsh plugin --profile web remove dsh-desktop-ui
重启并刷新。普通对话视图恢复原样,只有浏览器本地的窗口布局还留在 localStorage 里。
功能
| 功能 | 作用 |
| 桌面模式开关 | 就在 Settings 正上方。默认关闭,选择会保存在当前浏览器。关掉后回到聚焦窗口所在会话的普通对话。 |
| 会话即窗口 | 点击侧边栏里的会话,它就会以窗口形式打开。一个会话只能有一个窗口——再点一次会还原并聚焦已有窗口。每个窗口都显示和主聊天相同的对话界面——头部、视图标签页、对话记录、输入框,以及其他插件添加的内容(比如 dsh-rewind-plugin 在你消息下方的回退按钮)。 |
| 窗口控制 | 拖动标题栏移动;拖动任意边缘或角落缩放;双击标题最大化/还原;最小化、最大化、关闭按钮。 |
| 贴边 | 把窗口拖到左边缘或右边缘,占满那一半;拖到顶部则最大化。 |
| 任务栏 | 新建会话按钮、每个窗口一个按钮(点击聚焦,点击已聚焦的则最小化,小圆点表示正在运行的会话)、层叠 / 平铺 / 并排布局、时钟,以及最右侧的显示桌面条。 |
| 窗口文字大小 | 窗口内容就是原生 UI 等比缩小(默认 85%),所有元素一起缩小,包括其他插件加进来的元素。点任务栏里的百分比可以放大,右键可以缩小(70–100%)。正常的全宽对话不受影响。 |
| 重启后恢复 | 桌面模式、打开的窗口、它们的位置和大小、最小化/最大化状态、层叠顺序和文字大小,都会存进你的 DSH 配置档配置,停止并重启 DSH 后恢复——换个浏览器也一样。你关掉的窗口保持关闭。 |
| 和侧边栏插件配合良好 | Desktop mode 开关始终是 Settings 上方的第一项;其他页脚按钮(比如 dsh-all-usage)叠在它下面,不会被挤到旁边。 |
| 浅色与深色 | 只用 DSH 自己的主题 token,所以会自动跟随 GUI 主题。 |
| 窄屏 | 低于 720px 时,聚焦的窗口铺满画布,你通过任务栏切换。 |
关闭窗口永远不会删除或归档会话。布局以一个小 JSON 值的形式,存在本插件自己的配置条目里(你配置档的 cordis.patch.yml 中 dsh-desktop-ui → layout),通过 DSH 的设置服务写入,同时在浏览器 localStorage 里留一份副本(dsh-desktop-ui.state.v1),用于即时重载。它只包含会话 id、几何信息和标志位——绝不含对话内容、凭据或提示词。插件自身不发任何网络请求。要重置桌面,删掉 layout 那一行,或者关掉 Desktop mode 再关闭窗口。
深色主题下的桌面模式
兼容性与限制
要求 DSH >=0.2.0-rc.2 <0.3.0。 已在 DSH 0.2.0-rc.2 + Node 24 上测试。
这是内部集成,不是稳定的公开 DSH API。它接入以下位置:
| 接入点 | 用途 |
| main 键控插槽,键为 dsh-desktop-ui | 桌面画布和任务栏,用 ctx.layout.selectPanel 选中 |
| main.conversation 条目 | 每个窗口用原生对话条目自己的组件渲染,并带它自己的渲染权限;该组件在 DSH 首次渲染时捕获,所以每个插件的贡献也会出现在窗口里(取不到时回退到 conversation.content 工厂) |
| dsh-desktop-ui.window(会话作用域子插槽) | 每个会话一个窗口主体,位于该会话的作用域下 |
| sidebar.footer.action(order −100) | Desktop mode 开关,排在最前;它存在时页脚行改为纵向堆叠 |
| configForms(dsh-desktop-ui 命名空间) | 由宿主支持的 layout 字段(易失的插件配置),用于重启后恢复 |
| ctx.sessions.retain(id, { source: 'desktopWindow' }) | 每个窗口持有独立的会话引用,关闭时释放 |
| ctx.uiWorkspace.openSession / startSession | 保持侧边栏选中状态同步,并创建新会话 |
Desktop 模式开启时,原本会打开会话的导航操作(点击侧边栏、New Session、快捷键)都会被接管:会话以窗口形式打开,桌面保持可见。
已知限制:
- 后续 DSH 版本可能改动这些内部衔接点,插件可能需要更新。
- 右侧边栏(文件、终端、浏览器)仍属于主会话,不属于各个窗口。
- 窗口位置按浏览器保存,不按账号或设备保存。
- 窗口缩放使用 CSS zoom(Chrome/Edge/Safari 和 Firefox 126+)。
- 复用内置会话入口会在运行时对它做包装(dsh-workspace-sorter 处理侧边栏用的也是这个办法)。插件卸载时会恢复原状。
- UI 文案只有英文。
- 尚未测试:同时打开两个标签页、窗口内有模型回合实时流式输出、与其他侧边栏插件共存。
构建与测试
npm run check # build lib/client.js, run unit tests, npm pack --dry-run
npm pack
- 可编辑的客户端源码是 client/index.mjs。scripts/build.mjs 生成 lib/client.js,这是一个惰性模块,使用 GUI 自带的 React(不打包 React)。改完源码后运行 npm run build 并提交 lib/client.js;如果它过期,单元测试会失败。
- cordis.patch.yml 负责注册这个包。
- index.mjs 用运行中 harness 自带的 schemastery 声明易变的 layout Config 字段;除此之外没有其他宿主行为。
- 客户端注入列表:dsh-api-session-controller、dsh-client-ui-layout、dsh-client-ui-session、dsh-client-ui-sidebar、dsh-client-ui-conversation、dsh-client-ui-chat、dsh-client-ui-workspace、dsh-client-ui-settings。
- test/state.test.mjs 覆盖窗口管理器(打开/聚焦/最小化/最大化/关闭、每个会话一个窗口、移动不改变大小、吸附、布局、显示桌面、清理、状态清洗、文字大小)、Host 持久化(恢复、初始化、防抖与串行写入、畸形值、早期本地改动)、页脚排序、运行时标识,以及打包产物是否最新。
- scripts/e2e-gui.mjs 是一个无依赖的无头 Chrome/CDP 测试,跑在真实、隔离的 DSH 实例上。见 LOCAL-SETUP.md。
设计概念
促成这个插件的早期独立「Harness OS」设计探索保留在 designs/。它们是静态 HTML 演示,不属于 npm 包。
许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
mrbeandev/dsh-desktop-ui
把多个会话变成可拖拽窗口,用任务栏切换管理
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,225未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,370已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13941 个插件含 PR 收录与…
★ 355已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这是你的仓库?认领条目