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

会话弹出窗 lumine-423/dsh-session-popout

DeepSeek 客户端
lumine-42314 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

把侧边栏会话拖成独立窗口,多屏并行不用来回切换

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

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

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/lumine-423/dsh-session-popout.git

状态速览

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

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 8 处,展示前 8 条)
  • 发起网络请求
    index.js:343
    const req = http.get(
  • 发起网络请求
    index.js:372
    const req = http.get(
  • 执行外部命令来自配置/变量
    index.js:515
    const child = spawn(electron, argv, {
  • 发起网络请求
    client.js:175
    return fetch(url, { credentials: 'same-origin' })
  • 删除本地文件
    window/main.cjs:667
    if (INFO_FILE) fs.rmSync(INFO_FILE, { force: true });
  • 写入本地文件
    window/main.cjs:927
    fs.mkdirSync(path.dirname(INFO_FILE), { recursive: true });
  • 写入本地文件
    window/main.cjs:928
    fs.writeFileSync(
  • 删除本地文件
    window/main.cjs:945
    if (INFO_FILE) fs.rmSync(INFO_FILE, { force: true });
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

让你可以从侧边栏拖拽会话,使其成为一个独立窗口,省得来回切换会话的插件!

README

由 DeepSeek 最新模型翻译生成
独立会话窗口(Session Popout) 本项目由 AI 全程辅助制作。 需求、设计方向与验收由作者把握,代码、文档与排查过程由 AI 结对完成。发布前经过人工审阅,文中所有功能说明以实际行为为准。 顺便一提,下面的介绍也是ai写的,所以ai味很重也别找我麻烦嘞。 让你可以从侧边栏拖拽会话,使其成为一个独立窗口,省得来回切换会话的插件! DeepSeek Harness 的会话默认都挤在同一个窗口里:想同时盯着两个会话跑、想把某个会话扔到第二块屏、想一边看长回复一边在别处干活,都得反复点侧栏。这个插件把「一个会话」变成一个真正的操作系统窗口 —— 关掉它不影响主窗口,主窗口也照常工作。 什么时候用得上 - 一个会话在跑长任务,另一个还要继续聊。 长任务那个扔进独立窗口让它自己跑,主窗口留在你正在聊的会话上,两边都不用退出、不用切。 - 想把某个会话丢到第二块屏幕。 独立窗口是真正的系统窗口,能拖到任意显示器、能单独全屏、能被系统窗口管理器记住位置。 - 一边等长回复,一边在别处干活。 等着看结果的那个会话单独开一窗放在旁边,主窗口腾出来干别的事,不必为了瞄一眼进度切来切去。
展开完整文档(README 剩余 1 节)
独立会话窗口(Session Popout)

本项目由 AI 全程辅助制作。 需求、设计方向与验收由作者把握,代码、文档与排查过程由 AI 结对完成。发布前经过人工审阅,文中所有功能说明以实际行为为准。

顺便一提,下面的介绍也是ai写的,所以ai味很重也别找我麻烦嘞。

让你可以从侧边栏拖拽会话,使其成为一个独立窗口,省得来回切换会话的插件!

DeepSeek Harness 的会话默认都挤在同一个窗口里:想同时盯着两个会话跑、想把某个会话扔到第二块屏、想一边看长回复一边在别处干活,都得反复点侧栏。这个插件把「一个会话」变成一个真正的操作系统窗口 —— 关掉它不影响主窗口,主窗口也照常工作。

什么时候用得上

- 一个会话在跑长任务,另一个还要继续聊。 长任务那个扔进独立窗口让它自己跑,主窗口留在你正在聊的会话上,两边都不用退出、不用切。
- 想把某个会话丢到第二块屏幕。 独立窗口是真正的系统窗口,能拖到任意显示器、能单独全屏、能被系统窗口管理器记住位置。
- 一边等长回复,一边在别处干活。 等着看结果的那个会话单独开一窗放在旁边,主窗口腾出来干别的事,不必为了瞄一眼进度切来切去。

看起来是什么样

拖出去的窗口是 DSH 自己的会话界面:

- 顶部还是「对话 / 轨迹」标签、模型名、右上角那排控制件
- 中间还是原来那套对话流,Markdown、代码块、工具调用卡片全部照旧渲染
- 底部还是输入框、识图 / 上传、状态栏
- 侧边栏自动收起,于是窗口里只剩下这个会话本身

换句话说,是把 DSH 的那一块 切 了下来,而不是重画一个。插件本身不参与对话渲染 —— 对话由宿主画,插件只做三件事:开窗、把侧栏收掉、在会话头部加两个小按钮。

能做什么

| 能力 | 说明 |
| 拖拽开出独立窗口 | 在侧边栏按住会话条目往外拖,松手的地方就是新窗口出现的地方 |
| 窗口之间拖拽合并 | 把一个窗口拖到另一个上面,两个会话并成一个集合窗口 |
| 集合窗口 | 一个窗口里横排多个会话成员,左侧成员栏可切换、可拆出 |
| 收回 | 点窗口里的「⇲ 收回」,会话回到主窗口继续显示 |
| 跟随宿主主题 | 窗口的原生标题栏跟着 DSH 的明暗主题走 |
| 热更新 | 改了插件代码不用重启 DSH,HMR 会重新装载 |

安装

从 GitHub 安装(现在就能用):

dsh plugin add github:lumine-423/dsh-session-popout

或者下预构建包(不用本地编译,装得更快):

dsh plugin add "https://github.com/lumine-423/dsh-session-popout/releases/latest/download/dsh-session-popout.tgz"

以后会发布到 npm,那时就只需要 dsh plugin add dsh-session-popout。

装好后从侧边栏拖任意一个会话即可,不需要额外配置。

收录状态

- ✅ GitHub 仓库已上线:lumine-423/dsh-session-popout,带 release 与预构建 dsh-session-popout.tgz(资产名不带版本号,安装命令因此不会随发版失效)
- ⏳ 插件市场目录:PR 已提交 —— awesome-dsh-plugin#8306。目录有一条自动检查要求仓库创建满 1 天;首次跑会红,该检查每 6 小时自动重跑,满 1 天后会自行转绿,不需要重开 PR
- ⏳ npm 包 dsh-session-popout:尚未发布,发布后市场能显示下载量

依赖什么

- DSH 桌面版(dsh-desktop-runtime)。插件需要借桌面版自带的 Electron 来开原生窗口;纯 Web 版 / dsh web 没有这个能力,插件会安静地不生效。
- Electron 的查找顺序:环境变量 DSH_POPOUT_ELECTRON → 当前进程自身 → <home>/.dsh/electron/。想用系统里另一份 Electron,设这个环境变量即可。

已知限制

这个插件用了一部分 DSH 的内部接口,而不是公开稳定的插件 API。具体包括:

- 布局服务的 beginNavigation()、toggleSidebar()、closeRightbar()
- 会话快照里的 retainedBy.mainView 判断主视图归属
- 布局层给的 data-shell-overlay 等 DOM 稳定标记
- 会话头部槽位 conversation.session.header.utilities

这意味着 DSH 升级后有可能失效。失效时的表现通常是窗口里只剩背景、或者按钮不出现,而不是崩溃。遇到请在 issue 里附上 DSH 版本号。

其余限制:

- 只在 Windows 上实测过;macOS / Linux 的代码路径写了但没有真机验证
- 一个会话同时只能在一个窗口里出现
- 集合窗口的成员栏不支持拖拽排序(用下拉切换)

出问题时

插件在窗口里自带一份自检:如果打开 3.5 秒后 DSH 的会话界面还没画出来,窗口底部会浮出一块说明,列出它检查到的每一层(外框、侧栏状态、浮层、会话目录、打开状态、启动期错误)。把那块截图发到 issue 里,比描述「白了」有用得多。

开发

直接改源码即可,profile 里是 link 形式,改完刷新页面生效 client.js 会被 index.js 的 watcher 检测到并触发热重载

结构:

| 文件 | 职责 |
| index.js | 宿主侧:HTTP 路由、拉起并管理窗口管家进程 |
| client.js | 前端:拖拽开窗、收侧栏、打开会话、会话头部按钮 |
| window/main.cjs | 窗口管家主进程:创建 BrowserWindow、合并/拆分/关闭 |
| window/preload.cjs | 注入页面:标记窗口身份、收敛外壳布局、上报自检 |

License

PolyForm Noncommercial 1.0.0 加一条源码可得性补充条款。SPDX 标识:LicenseRef-PolyForm-Noncommercial-1.0.0-With-Source-Availability。

你可以:

- 免费用,随便用,私人、学习、研究、业余项目、慈善、教育、公共研究、政府机构使用都算允许用途
- 读源码、改源码、自己改着玩
- 原样转发给别人

但不能:

- 拿去商用 —— 卖钱、放进收费产品、当作商业服务的一部分,都不行。要商用请单独联系作者谈授权
- 改完闭源发给别人 —— 你把改过的版本发出去,就必须把改过之后的完整源码用同样条款、免费、放在拿到你版本的人找得到的地方公开。只发打包产物、压缩产物、编译产物不算

完整条款见 LICENSE。
预览分享卡片长什么样 ↓lumine-423/dsh-session-popout
分享 · DeepSeek Harness Hub
lumine-423/dsh-session-popout

把侧边栏会话拖成独立窗口,多屏并行不用来回切换

这是你的仓库?认领条目

回到顶部