前言¶
DSH 的 Web GUI 通常运行在浏览器标签页里。做本地开发时,一边查看运行状态,一边在编辑器里改代码,经常要来回切换标签页。dsh-pip 针对这个场景:它提供一个浮动按钮,把当前 Web UI 从标签页移到一个始终置顶的 Document Picture-in-Picture 窗口,再一键移回标签页。
下面介绍它的定位、安装方式、配置项和使用边界。
这是什么¶
dsh-pip 是由 extension-hunter 维护的 DSH 插件,许可证为 MIT。它安装在 web profile 上,依赖该 profile 通过 @deepseek-ai/dsh-host-webserver 提供的 webServer 服务。点击“独立窗口”后,插件会把应用根节点 #root 连同样式和主题移入新窗口,而不是生成截图。
核心功能¶
- 一条命令安装:安装命令是
dsh plugin --profile web add dsh-pip;包内带 bundle patch,并自动挂载插件行。 - 零配置:重启
dsh web后,Web UI 中出现浮动的“独立窗口”按钮。 - 分离整个应用:点击按钮后,当前活动应用
#root与样式、主题一起移动到 always-on-top 窗口。 - 默认窗口尺寸:窗口默认按当前标签页的 viewport 尺寸打开;也可以在配置中固定
width和height。 - 返回标签页:关闭窗口,或点击窗口中的“返回标签页”,应用会回到原浏览器标签页。
- 浏览器限制:要求 Chromium 116+,例如 Chrome 或 Edge;Safari 和 Firefox 不显示按钮。
安装与启用¶
先安装插件:
dsh plugin --profile web add dsh-pip
然后重启 dsh web。打开 Web UI 后,会出现“独立窗口”按钮。
如果需要安装本地未发布路径,可以用:
dsh plugin --profile web add file:/path/to/dsh-pip
更新和移除分别使用:
dsh plugin --profile web update dsh-pip
dsh plugin --profile web remove dsh-pip
典型用法¶
1、打开已重启的 dsh web 页面。
2、点击浮动的“独立窗口”按钮。
3、应用进入 always-on-top 窗口,可放在编辑器旁边查看。
4、关闭窗口,或点击窗口中的“返回标签页”。
5、应用回到原浏览器标签页。
配置¶
默认 enabled 为 true,不配置 width 和 height 时,窗口尺寸跟随当前标签页 viewport。
如需覆盖,修改 profile 配置文件:
~/.dsh/profiles/web/cordis.patch.yml
- id: pip
config:
enabled: true
width: 1280
height: 800
width 和 height 是提示值;Chromium 会把窗口限制在可用屏幕范围内,因此浏览器处于最大化状态时,分离窗口可能略小。
如需关闭插件:
- id: pip
disabled: true
适用场景与注意¶
适合已经运行 dsh web、只希望在浏览器标签页之外查看 Web UI 的场景。它不改变现有服务生命周期,只增加一个分离窗口按钮。
使用前注意:
- 插件以当前
dsh进程权限运行。安装前应检查源码和许可证。 - 仅支持 Chromium 116+;Safari 和 Firefox 中不会出现按钮。
- Portal 渲染的界面元素,例如菜单、模态框、toast、hover card,会留在原标签页;分离期间可能不可见。
- 原标签页中的全局
window/document监听器仍会在原标签页触发。 - 依赖
webprofile 提供的webServer服务,具体由@deepseek-ai/dsh-host-webserver提供。
结尾¶
dsh-pip 的价值在于改动面小:保留现有 dsh web 环境和配置,只增加一个可分离、可返回的 Web UI 窗口。项目源码见 GitHub:https://github.com/extension-hunter/dsh-pip